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 命令将它们轻松安装到 vs code 中。
pip install spire.pdf
如果您不清楚如何安装,请参考此教程: 如何在 vs code 中安装 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 天的临时许可证。