Skip to main content

Process & Manipulate SVG via Python API

banner

Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support

Aspose.SVG for Python via .NET is a powerful on-premise class library designed to seamlessly work with SVG files in a wide range of operations without the need for additional SVG manipulation tools. It allows you to create, edit, optimize, and convert SVG. Python API allows you to manipulate documents and elements and provides robust navigation and inspection functionalities, such as XPath queries and CSS selectors. Developers can also vectorize images and texts, apply SVG transformations, filters, gradients, and patterns, and specify colors in different color formats. Aspose.SVG for Python via .NET supports both Windows and Unix platforms, making it perfectly suited for building applications such as SVG editors, converters, mergers, and image vectorizers catering to developers who require extensive SVG processing capabilities.

SVG API Features

Why Choose Aspose.SVG for Python via .NET

  • Cross-Platform Compatibility – Aspose.SVG can be used to develop applications across different operating systems including Windows, Linux, and macOS.
  • Direct Programmatic Access – The Python API provides developers with direct access to the SVG elements and their properties, facilitating precise control over SVG content.
  • Versatile Document Manipulation The Python API enables comprehensive manipulation of SVG files, supporting a wide range of SVG specifications.
  • Extensive Documentation and Examples – Aspose.SVG for Python via .NET provides detailed documentation and guides to help developers understand and use the API effectively, along with code examples for common tasks.

General Features

The following are some popular features of Aspose.SVG for Python via .NET:

  • SVG Document Creation and Loading – Create SVGs from scratch or load them from strings, streams, files, or URLs. Async loading is supported for efficiently handling external resources.
  • SVG Document Editing and Modification – Insert new elements, update existing content, draw shapes, apply colors, and refine paths - all through intuitive Python code that manipulates the DOM.
  • SVG Navigation and Inspection – Navigate the SVG structure and inspect SVG documents using DOM methods, CSS selectors, or XPath queries to locate and work with specific elements.
  • High-Quality Conversion and Rendering – Convert SVG content to PDF, XPS, or image formats such as PNG and JPEG, with advanced rendering controls for resolution, background, and layout.
  • Image and Text Vectorization – Convert raster images into scalable SVG graphics, apply stylized stencil effects, or transform text into path elements.

Supported File Formats

Format Description Load Save
SVG Scalable Vector Graphics Format ✔️ ✔️
SVGZ Compressed version of SVG ✔️ ✔️
PDF Portable Document Format ✔️
XPS XML Paper Specification ✔️
TIFF Tagged Image File Format ✔️
BMP Bitmap Image File Format ✔️
PNG Portable Network Graphics ✔️
JPEG Joint Photographic Expert Group ✔️
GIF Graphical Interchange Format ✔️

Platform Independence

Aspose.SVG for Python via .NET is currently supported on Windows for developing applications where Python 3.6 or later is installed. You can build both 32-bit and 64-bit Python applications. Support for Linux and macOS X is planned for future versions.

Get Started

Ready to give Aspose.SVG for Python via .NET a try?

Simply run pip install aspose-svg-net from the Console to fetch the package. If you already have Aspose.SVG for Python via .NET and want to upgrade the version, please run pip install --upgrade aspose-svg-net to get the latest version.

You can run the following snippets in your environment to see how Aspose.SVG works, or check out the GitHub Repository or Aspose.SVG for Python via .NET Documentation for other common use cases.

Create SVG Using Aspose.SVG for Python via .NET

You can create SVG from a string content using SVGDocument(content, base_uri) constructor:

from aspose.svg import SVGDocument

documentContent = "<svg xmlns='http://www.w3.org/2000/svg'><circle cx='100' cy='100' r='40' stroke='#ff9390' stroke-width='4' fill='#FF7F50' /></svg>";

# Create a new SVG document
document = SVGDocument(documentContent, ".")

# Save the document
document.save("create-svg-from-string.svg")

Source - Create SVG File, Load and Read SVG in Python

Convert SVG to PNG

Aspose.SVG for Python via .NET also allows you to convert SVG to PDF, XPS, PNG, JPEG, TIFF, WEBP, and other file formats. The following snippet demonstrates the conversion from SVG to PNG literally with a single line of code!

from aspose.svg.converters import Converter
from aspose.svg.saving import ImageSaveOptions

# Convert SVG to PNG
Converter.convert_svg("document.svg", ImageSaveOptions(), "result.png")

Source - Convert SVG to PNG

Convert SVG to PDF using PdfSaveOptions

Aspose.SVG for Python via .NET also allows you to convert SVG to PDF, XPS, PNG, JPEG, TIFF, WEBP, and other file formats. The following snippet demonstrates the conversion from SVG to PNG literally with a single line of code!

from aspose.svg import SVGDocument
from aspose.svg.converters import Converter
from aspose.svg.rendering import SizingType
from aspose.svg.drawing import Resolution
from aspose.svg.saving import PdfSaveOptions
from aspose.pydrawing import Color

# Open the SVG file
with SVGDocument("document.svg") as document:

	# Create PDF save options and customize them
	options = PdfSaveOptions()
	options.background_color = Color.from_argb(0, 255, 255, 255)
	options.page_setup.sizing = SizingType.FIT_CONTENT
	options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
	options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
	options.jpeg_quality = 80

	# Convert SVG to PDF
	Converter.convert_svg(document, options, "document.pdf")

Source - Convert SVG to PDF

Using Python to Vectorize Images

Aspose.SVG for Python via .NET also allows you can convert a raster image to vector graphic using default or custom configuration options. You will be able to apply custom settings to get the best result of the image-to-vector conversion and save the output SVG file to your computer. The following snippet demonstrates the image vectorization:

from aspose.svg.imagevectorization import BezierPathBuilder, ImageTraceSmoother, ImageVectorizer

# Set up Bezier path builder with smoothing and curve-fitting parameters
path_builder = BezierPathBuilder()
path_builder.trace_smoother = ImageTraceSmoother(2)
path_builder.error_threshold = 30.0
path_builder.max_iterations = 30

# Initialize the image vectorizer
vectorizer = ImageVectorizer()
vectorizer.configuration.path_builder = path_builder
vectorizer.configuration.colors_limit = 25
vectorizer.configuration.line_width = 1.0

# Vectorize the image
with vectorizer.vectorize("flower.jpg") as document:
    document.save("flower.svg")

Source - Vectorizing Images

Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License

Metadata

Release files for aspose-svg-net 26.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for aspose-svg-net 26.9.0
File
aspose_svg_net-26.9.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
aspose_svg_net-26.9.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
aspose_svg_net-26.9.0-py3-none-manylinux1_x86_64.whl Python 3 none Linux glibc 2.5+ x86-64 Details
aspose_svg_net-26.9.0-py3-none-macosx_10_14_x86_64.whl Python 3 none macOS 10.14+ x86-64 Details

Total release size: 256.8 MB

Release files / aspose_svg_net-26.9.0-py3-none-win_amd64.whl

Download URL aspose_svg_net-26.9.0-py3-none-win_amd64.whl
Size 57.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
bb1d2476e5dc0872227ba3051d278bd19275f275299d0e7f6686f6ba7f5d08ee
BLAKE2b-256 checksum
How to use checksums
556f12d919758fc98c653616077fface4de616e58e6f0c4ac0ba50abc6423a5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.0

Release files / aspose_svg_net-26.9.0-py3-none-win32.whl

Download URL aspose_svg_net-26.9.0-py3-none-win32.whl
Size 50.0 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
c38ed70591f0a4cc6a1a026401ce2091ea1f0e22ab980a5d931741939b7ab9cc
BLAKE2b-256 checksum
How to use checksums
da983aa26f02e604782cb2620ff7e2418b1632e1f13f1e0b55d90833391f4994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.0

Release files / aspose_svg_net-26.9.0-py3-none-manylinux1_x86_64.whl

Download URL aspose_svg_net-26.9.0-py3-none-manylinux1_x86_64.whl
Size 78.9 MB
Tags Linux glibc 2.5+ x86-64 Python 3
SHA-256 checksum
How to use checksums
d07fdfd2e1d2b5d9985af080f4bd353571b30ac2a2a5ddd48f93b5ebb9ef306c
BLAKE2b-256 checksum
How to use checksums
14f514ff336f8b055b43f068614a062f0d589ff40439a7f5ebedbff136b5be29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.0

Release files / aspose_svg_net-26.9.0-py3-none-macosx_10_14_x86_64.whl

Download URL aspose_svg_net-26.9.0-py3-none-macosx_10_14_x86_64.whl
Size 70.6 MB
Tags Python 3 macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
8d7f7115966570325b92cf38994847a738f52dbd14e82226fe00a37c55d5092d
BLAKE2b-256 checksum
How to use checksums
ffc5e7e2324915a483f50d151ad07e009beccd61ddc57244d52d9329de603447
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page