将 SVG 转换为 PDF – Python 示例
将 SVG 文档转换为其他格式是 Aspose.SVG for Python via .NET API 的一个主要功能。为了利用 PDF 格式执行特定任务,通常需要将 SVG 转换为 PDF。 PDF 是一种普遍支持的文件格式,用于呈现图像、文档和书籍,使在线查看、打印和共享文件变得轻松。此外,PDF 还提供了一种安全格式,可通过加密和权限设置来保护知识产权。本文提供有关受支持的 SVG 到 PDF 转换方案以及如何使用 Aspose.SVG Python 库执行这些方案的信息。
在线 SVG 转换器
您可以检查 Aspose.SVG 功能并实时转换 SVG。只需从本地文件系统或 URL 加载 SVG,选择所需的输出格式,然后运行转换器即可。保存选项设置为默认值,您将立即收到作为单独文件的结果。
如果您想以编程方式将 SVG 转换为 PDF,请参阅以下 Python 代码示例。
使用convert_svg()
方法将 SVG 转换为 PDF
Converter 类的静态方法可以通过几行代码将 SVG 转换为 PDF。这是最简单的转换方法:
- 使用
Configuration
类的 set_extension() 方法注册SkiaSharp
扩展。SkiaSharp
模块是一个用于渲染 SVG 内容的图形库。它确保渲染引擎支持转换所需的操作。 - 创建 PdfSaveOptions 类的实例。
- 使用 SVGDocument() 类加载 SVG 文档。
- 使用 convert_svg() 方法之一将 SVG 保存为 PDF 文件。
以下代码片段可用于使用默认保存选项将 SVG 转换为 PDF:
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 = PdfSaveOptions()
10with SVGDocument("document.svg") as document:
11
12 # Convert SVG to PDF
13 Converter.convert_svg(document, options, "document.pdf")
PDF 保存选项 – PdfSaveOptions 类
Aspose.SVG for Python via .NET 中的
PdfSaveOptions 类用于指定将 SVG 文档保存为 PDF 文件的各种选项。此类允许您根据您的要求自定义 PDF 输出。以下是PdfSaveOptions
类的一些关键属性:
Property | Description |
---|---|
jpeg_quality | Set the quality level for JPEG images within the PDF. A higher quality setting improves image fidelity but increases file size. The default value is 95. |
css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
document_info | This property contains information about the output PDF document. Add metadata to the PDF, such as title, author, subject, and keywords. |
background_color | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
page_setup | This property gets a page setup object and uses it for configuration output page-set. |
horizontal_resolution | Sets the horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
vertical_resolution | Sets the vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. |
form_field_behaviour | This property specifies the behavior of form fields in the output PDF document. |
注意:使用 PdfSaveOptions 类实现的选项继承自 PdfRenderingOptions 类。
以下 Python 代码示例展示了在将 SVG 转换为 PDF 时如何使用保存选项。
1import os
2import aspose
3from aspose.svg import *
4from aspose.svg.converters import *
5from aspose.svg.drawing.skiasharp import *
6from aspose.svg.rendering import *
7from aspose.svg.drawing import *
8from aspose.svg.saving import *
9
10# Initialize an SVG document from a file
11input_folder = "data/"
12output_folder = "output/"
13src_file = os.path.join(input_folder, "document.svg")
14output_file = os.path.join(output_folder, "document.pdf")
15if not os.path.exists(output_folder):
16 os.makedirs(output_folder)
17
18# Activate the Aspose.SVG.Drawing.SkiaSharp feature
19Configuration.set_extension(SkiaModule())
20
21with SVGDocument(src_file) as document:
22 options = PdfSaveOptions()
23 options.background_color = aspose.pydrawing.Color.transparent
24 options.page_setup.sizing = SizingType.FIT_CONTENT
25 options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
26 options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
27 options.jpeg_quality = 80
28
29 # Convert SVG to PDF
30 Converter.convert_svg(document, options, output_file)
使用 render_to() 方法将 SVG 转换为 PDF
考虑使用
render_to(device
) 方法将 SVG 转换为 PDF 的场景。以下代码片段可用于通过显式指定的渲染选项将 SVG 转换为 PDF。此外,Python 示例将展示如何在文件系统中配置源文件和输出文件的路径:
- 使用 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 peg_quality and page_setup properties
16 pdf_rendering_options = PdfRenderingOptions()
17 pdf_rendering_options.jpeg_quality = 10
18 pdf_rendering_options.page_setup.sizing = SizingType.FIT_CONTENT
19
20 # Initialize an instance of the PdfDevice class
21 with PdfDevice(pdf_rendering_options, output_file) as device:
22 # Render SVG to PDF and send the document to the rendering device
23 document.render_to(device)
PdfRenderingOptions
是 Python API 中的一个类,提供将 SVG 内容渲染为 PDF 格式的选项。它允许自定义渲染过程的各个方面,例如背景颜色、页面设置、分辨率、加密和 JPEG 质量。 PdfRenderingOptions
类与特定设备 PdfDevice
结合使用,它表示渲染的 SVG 内容的目标输出格式。
注意: PdfRenderingOptions
类的关键属性与 PdfSaveOptions
类的关键属性相同,因为
PdfSaveOptions 继承自
PdfRenderingOptions。
您可以使用我们的免费在线 SVG 到 PDF 转换器 将 SVG 转换为 PDF,该转换器质量高、简单且快速。只需上传 SVG,进行转换,几秒钟内即可获得结果!它快速、简单且完全免费!