SVG(可缩放矢量图形)是一种基于 XML 的图形格式,它可以无损地缩放而不失去清晰度和质量,因此在 Web 图形和矢量插图领域得到了广泛地应用。而 PDF 则是一种通用的文件格式,在各种设备和操作系统上广受支持。将 SVG 文件转换为 PDF 格式能够方便文件共享,确保接收者可以轻松打开和查看文件,而无需安装特定软件或担心浏览器兼容性问题。 这篇文章将介绍如何使用 Python 和 Spire.PDF for Python 库将 SVG 文件转换为 PDF 格式。
安装 Spire.PDF for Python
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Python 将 SVG 转换为 PDF
Spire.PDF for Python 为用户提供了 PdfDocument.LoadFromSvg() 方法,用于加载 SVG 文件。加载后,用户可以使用 PdfDocument.SaveToFile() 方法轻松将 SVG 文件保存为 PDF 格式。详细步骤如下:
- 创建 PdfDocument 类的对象。
- 使用 PdfDocument.LoadFromSvg() 方法加载 SVG 文件。
- 使用 PdfDocument.SaveToFile() 方法将 SVG 文件保存为 PDF 格式。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的对象
doc = PdfDocument()
# 加载SVG文件
doc.LoadFromSvg("Sample.svg")
# 将该SVG文件保存为PDF格式
doc.SaveToFile("ConvertSvgToPdf.pdf", FileFormat.PDF)
doc.Close()
Python 将 SVG 添加到 PDF 的指定位置
除了直接将 SVG 转换为 PDF 之外,Spire.PDF for Python 还支持将 SVG 文件添加到 PDF 的特定位置。详细步骤如下:
- 创建 PdfDocument 类的对象。
- 使用 PdfDocument.LoadFromSvg() 方法加载 SVG 文件。
- 使用 PdfDocument.Pages[].CreateTemplate() 方法基于 SVG 文件的内容创建一个模板。
- 获取模板的宽度和高度。
- 创建另一个 PdfDocument 类的对象,并使用 PdfDocument.LoadFromFile() 方法加载 PDF 文件。
- 使用 PdfDocument.Pages[].Canvas.DrawTemplate() 方法在 PDF 文件指定页面的特定位置绘制模板。
- 使用 PdfDocument.SaveToFile() 方法保存结果文件。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的对象
doc1 = PdfDocument()
# 加载SVG文件
doc1.LoadFromSvg("Sample.svg")
# 根据SVG文件的内容创建一个模板
template = doc1.Pages[0].CreateTemplate()
# 获取模板的宽度和高度
width = template.Width
height = template.Height
# 创建另一个PdfDocument类的对象
doc2 = PdfDocument()
# 加载PDF文档
doc2.LoadFromFile("Sample.pdf")
# 将模板绘制到PDF第一页的指定位置
doc2.Pages[0].Canvas.DrawTemplate(template, PointF(10.0, 100.0), SizeF(width*0.8, height*0.8))
# 保存结果文档
doc2.SaveToFile("AddSvgToPdf.pdf", FileFormat.PDF)
doc2.Close()
doc1.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。