在 Python 中转换 SVG 文件 – Python 示例
将 SVG 转换为其他格式可以更好地集成到需要 PDF(用于打印)或 PNG(用于 Web 使用)等格式的工作流程中。此外,转换为 JPEG 或 PNG 等光栅格式可确保跨设备和浏览器的一致渲染和显示。 Aspose.SVG for Python via .NET API 允许您将 SVG 文件转换为 PDF、XPS、JPG 、PNG、BMP、TIFF 和 GIF 文件格式。您可以在 Python 项目中使用 API 来开发转换器应用程序,而无需了解底层文件格式的详细信息。
在线 SVG 转换器
使用Aspose.SVG,您可以将SVG实时转换为其他格式。只需从本地文件系统或 URL 加载 SVG,选择所需的输出格式,然后运行转换器即可。保存选项设置为默认值,您将立即收到作为单独文件的结果。
如何在 Python 中转换 SVG
您可以通过任何方式(在线或以编程方式)将 SVG 转换为各种流行格式。从 SVG 转换为其他格式可以通过使用
Converter 类的 convert_svg()
方法之一或
SVGDocument 类的
render_to(device
) 方法来执行班级。
当前部分概述了使用Converter
和SVGDocument
类将 SVG 文件转换为其他流行格式的支持方案:
- 静态
Converter
类充当将 SVG 文件转换为流行格式的共享外观,使这些操作方便且直接。它提供了多种convert_svg()
方法,可将 SVG 转换为 PDF、XPS 或图像文件。 - SVGDocument 类的 render_to() 方法用于将 SVG 渲染为另一种格式并将文档发送到输出设备。 Aspose.SVG for Python via .NET API 包括以下输出设备实现: PdfDevice、 XpsDevice 和 ImageDevice,它们有助于渲染为 PDF、XPS 和图像文件分别为格式。
让我们考虑将 SVG 文档转换为另一种文件格式的两种情况:
使用convert_svg()
方法将 SVG 转换为 PNG
使用convert_svg()
方法将 SVG 文件转换为另一种格式需要执行一系列步骤:
- 使用
Configuration
类的 set_extension() 方法注册SkiaSharp
扩展。SkiaSharp
模块是一个用于渲染 SVG 内容的图形库。它确保渲染引擎支持转换所需的操作。 - 创建 ImageSaveOptions 类的实例。
- 使用 SVGDocument() 类加载 SVG 文档。
- 使用 convert_svg() 方法之一将 SVG 保存为 PNG 文件。
1import os
2from aspose.svg import *
3from aspose.svg.converters import *
4from aspose.svg.drawing.skiasharp import *
5from aspose.svg.saving import *
6
7# Activate the Aspose.SVG.Drawing.SkiaSharp feature
8Configuration.set_extension(SkiaModule())
9options = ImageSaveOptions()
10with SVGDocument("image.svg") as document:
11
12 # Convert SVG to PNG
13 Converter.convert_svg(document, options, "image.png")
此示例演示如何使用默认转换选项将 SVG 文件转换为图像。如果您想控制转换过程并设置自己的保存选项,请参阅 将SVG转换为图像文章。
使用render_to()
方法将 SVG 转换为 PDF
要使用render_to()
方法将 SVG 转换为 PDF,请执行以下步骤:
- 使用 SVGDocument() 类初始化 SVG 文档。
- 创建 PdfRenderingOptions 类的实例。
- 创建 PdfDevice 类的新实例。
- 使用
SVGDocument
类的 render_to(device
) 方法将 SVG 转换为 PDF。
1import os
2from aspose.svg import *
3from aspose.svg.rendering import *
4from aspose.svg.rendering.pdf import *
5
6# Initialize an SVG document from a file
7input_folder = "data/"
8output_folder = "output/"
9src_file = os.path.join(input_folder, "document.svg")
10output_file = os.path.join(output_folder, "document.pdf")
11if not os.path.exists(output_folder):
12 os.makedirs(output_folder)
13
14with SVGDocument(src_file) as document:
15 # Initialize an instance of the PdfRenderingOptions class and set custom jpeg_quality properties
16 pdf_rendering_options = PdfRenderingOptions()
17 pdf_rendering_options.jpeg_quality = 10
18
19 # Initialize an instance of the PdfDevice class
20 with PdfDevice(pdf_rendering_options, output_file) as device:
21 # Render SVG to PDF and send the document to the rendering device
22 document.render_to(device)
常规选项 – RenderingOptions 类
RenderingOptions 类与特定设备类(例如 PdfDevice、 XpsDevice 和 ImageDevice)一起使用,表示渲染的 SVG 内容的目标输出格式。通过设置 RenderingOptions 类的属性,您可以确保渲染结果满足其特定需求和质量标准。这些选项允许您调整渲染的各个方面,例如页面设置、背景颜色以及不同输出格式的特定渲染选项。以下是 RenderingOptions 类的一些关键属性:
- page_setup - 此属性允许您定义页面的布局,包括页面大小和边距。
- horizontal_resolution - 此属性设置或获取内部图像的水平分辨率(以每英寸像素为单位)。默认情况下,它是 300 dpi。
- vertical_resolution - 此属性设置或获取内部图像的垂直分辨率(以每英寸像素为单位)。默认情况下,它是 300 dpi。
- background_color - 此属性允许您设置渲染输出的背景颜色。如果没有设置,默认背景是透明的。
- css - 该属性获取一个 CssOptions 对象,用于配置 CSS 属性处理。
每个输出设备 PdfDevice
、XpsDevice
和 ImageDevice
都有自己独特的一组选项,分别通过类
PdfRenderingOptions、
XpsRenderingOptions 和
ImageRenderingOptions 实现。这些类继承了
RenderingOptions 类的基本属性,并且还具有自己的考虑格式功能的渲染属性。
Aspose.SVG 提供免费的在线 SVG 转换器,可让您轻松将 SVG 文件转换为各种流行格式。您只需选择文件、选择所需的格式并完成转换,即可将 SVG 转换为 PDF、XPS、JPG、PNG、BMP、TIFF 和 GIF。它快速、简单,而且完全免费!