用 Python 将 SVG 转换为 PDF

本文将介绍如何使用 Converter 类的 convert_svg() 方法将 SVG 转换为 PDF,以及如何应用 PdfSaveOptions。使用 Aspose.HTML for Python via .NET,您可以通过编程将 SVG 转换为 PDF 格式,并完全控制各种转换参数。 此外,您还可以试用在线 SVG 转换器来测试 Python API 的功能并即时转换 SVG。

在线 SVG 转换器

您可以使用 Aspose.HTML API 将 SVG 实时转换为其他格式。请从本地文件系统或 URL 加载 SVG,选择输出格式并运行示例。默认设置**保存选项。您将立即以单独文件的形式收到转换结果。

                
            

将 SVG 转换为 PDF

让我们来看看如何将 SVG 文档转换成 PDF 文件格式。Converter 类中的 convert_svg() 方法主要用于将 SVG 文件转换成各种格式的最简单方法。您应遵循以下几个步骤:

  1. 加载 SVG 文档。要进行转换,可以从文件、URL 或代码字符串加载 SVG。在下面的示例中,我们通过代码创建一个 SVG 文件。
  2. 创建一个新的 PdfSaveOptions对象。如果您没有为保存生成的 PDF 文件设置特定选项,则将使用默认选项。
  3. 使用转换器类的 convert_svg(content, base_uri, options, output_path) 方法将 SVG 保存为 PDF 文件。
 1# Convert SVG code to PDF document using Python
 2
 3import os
 4import aspose.html.converters as conv
 5import aspose.html.saving as sav
 6
 7# Setup directories and define paths
 8output_dir = "output/"
 9if not os.path.exists(output_dir):
10    os.makedirs(output_dir)
11save_path = os.path.join(output_dir, "circles.pdf")
12
13# SVG code
14svg_code = """
15<svg xmlns="http://www.w3.org/2000/svg">
16    <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
17    <g> 
18        <use href="#base" transform="translate(120, 10) scale(0.9)" />
19        <use href="#base" transform="translate(240, 20) scale(0.8)" />
20        <use href="#base" transform="translate(360, 30) scale(0.7)" />
21        <use href="#base" transform="translate(480, 40) scale(0.6)" />
22        <use href="#base" transform="translate(600, 50) scale(0.5)" />
23    </g>
24</svg>
25"""
26
27# Initialize PdfSaveOptions
28options = sav.PdfSaveOptions()
29
30# Convert SVG to PDF
31conv.Converter.convert_svg(svg_code, ".", options, save_path)

下图以 “circles.pdf “文件的一个片段为例,展示了 SVG 到 PDF 的渲染质量。之所以说是文件片段,是因为保存选项被设置为默认值后,整个文件大小相当于一页 A4 纸。

文本 “circles.pdf 图像”

使用 PdfSaveOptions 将 SVG 转换为 PDF

Aspose.HTML for Python via .NET 提供了 PdfSaveOptions类,使您可以对如何以 PDF 格式保存文档进行更多控制。该类的某些属性继承了基类的属性,如 PdfRenderingOptions 或 RenderingOptions。下面是 “PdfSaveOptions “中一些可用属性的说明:

要将 SVG 转换为指定了 PdfSaveOptions 的 PDF,需要遵循以下几个步骤:

  1. 使用 SVGDocument 类的 SVGDocument() 构造函数之一加载 SVG 文件。
  2. 创建一个新的 PdfSaveOptions 对象并指定保存选项。
  3. 使用 convert_svg() 方法之一将 SVG 保存为 PDF 文件。在示例中,convert_svg() 方法接收 documentoptions 和输出文件路径 save_path 并执行转换操作。

以下 Python 代码片段可配置 PDF 保存选项,以设置页面大小和页边距,应用 CSS 规则进行打印,以 80% 的质量压缩 JPEG 图像,并启用标记 PDF 以提高可访问性:

 1# Convert SVG to PDF with custom settings using Python
 2
 3import os
 4import aspose.html.dom.svg as ahsvg
 5import aspose.html.converters as conv
 6import aspose.html.saving as sav
 7import aspose.html.drawing as dr
 8
 9# Setup directories and define paths
10output_dir = "output/"
11input_dir = "data/"
12if not os.path.exists(output_dir):
13    os.makedirs(output_dir)
14
15document_path = os.path.join(input_dir, "flower.svg")
16save_path = os.path.join(output_dir, "svg-to-pdf.pdf")
17
18# Load an SVG document
19document = ahsvg.SVGDocument(document_path)
20
21# Initialize PdfSaveOptions
22options = sav.PdfSaveOptions()
23
24# Customize save options for PDF
25options.page_setup.any_page = dr.Page(dr.Size(600, 500), dr.Margin(20, 20, 10, 10))
26options.css.media_type.PRINT
27options.jpeg_quality = 80
28options.is_tagged_pdf = True
29
30# Convert SVG to PDF
31conv.Converter.convert_svg(document, options, save_path)

在上述示例中,我们使用

使用我们的在线 SVG 到 PDF 转换器 查看 SVG 转换为 PDF 的质量。上传、转换您的文件并在几秒钟内获得结果。现在就免费试用我们强大的 SVG 到 PDF 转换器!

下载我们的 Aspose.HTML for Python via .NET library 可以让您成功、快速、轻松地将 HTML、MHTML、EPUB、SVG 和 Markdown 文档转换为最流行的格式。

您可以从 GitHub 下载完整的示例和数据文件。

文本 “SVG 到 PDF 转换器”

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.