microsoft word 是日常工作和生活中常用的一种数字文档格式,但有时为了确保文档的内容、格式和布局在不同设备上的一致性和跨平台兼容性,您可能需要将 word 文件转换成pdf格式。本文将介绍如何使用 spire.doc for python 通过代码将 word 转换为 pdf。
- 将 doc 或 docx 转换为 pdf
- 将 word 转换为加密的 pdf
- 将 word 转换为带书签的 pdf
- 将 word 转换为 pdf 时嵌入字体
- 将 word 转换为 pdf 时设置图像质量
安装 spire.doc for python
本教程需要用到 spire.doc for python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.doc
如果您不确定如何安装,请参考本教程:如何在 vs code 中安装 spire.doc for python
使用 python 将 doc 或 docx 转换为 pdf
spire.doc for python 提供的 document.savetofile(string filename, fileformat fileformat) 方法可将 word 另存为 pdf、xps、html、rtf 等格式。如果您只想将 word 文档保存为常规 pdf 而不进行其他设置,请参考以下步骤。
- 创建一个 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word (.doc/.docx) 文档。
- 使用 doucment.savetofile() 方法将文档保存为 pdf 格式。
- python
from spire.doc import *
from spire.doc.common import *
# 创建 document 类的对象
document = document()
# 加载一个 .doc 或 .docx 文档
document.loadfromfile("工作汇报.docx")
# 将文档保存为pdf格式
document.savetofile("output/topdf.pdf", fileformat.pdf)
document.close()
使用 python 将 word 转换为加密的 pdf
要将 word 转换为受密码保护的 pdf,可以使用 document.savetofile(string filename, topdfparameterlist paramlist) 方法。其中 topdfparameterlist 参数可控制 word 文档转 pdf 的过程,例如,转换时是否加密文档。具体步骤如下。
- 创建一个 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 创建 topdfparameterlist 类的对象,用于设置转换选项。
- 指定打开密码和权限密码,然后使用 topdfparameterlist.pdfsecurity.encrypt() 方法为生成的 pdf 设置这两个密码。
- 使用 doucment.savetofile(string filename, topdfparameterlist paramlist) 方法将 word 文档保存为带密码的 pdf 文件。
- python
from spire.doc import *
from spire.doc.common import *
# 创建 document 类的对象
document = document()
# 加载 word 文档
document.loadfromfile("工作汇报.docx")
# 创建 topdfparameterlist 类的对象
parameter = topdfparameterlist()
# 设置打开密码和权限密码,并用其保护生成的 pdf 文件
openpsd = "abc123"
permissionpsd = "e-iceblue"
parameter.pdfsecurity.encrypt(openpsd, permissionpsd, pdfpermissionsflags.default, pdfencryptionkeysize.key128bit)
# 将文档保存为加密的pdf
document.savetofile("output/加密pdf.pdf", parameter)
document.close()
使用 python 将 word 转换为带书签的 pdf
书签可以增强文档的可读性。在转换 word 文档到 pdf 时,您可能希望保留现有书签或根据标题创建新书签。以下是将 word 转换为带书签的 pdf 的具体步骤。
- 创建一个 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 创建 topdfparameterlist 类的对象,用于设置转换选项。
- 使用 topdfparameterlist.setcreatewordbookmarksusingheadings 属性根据 word 中的标题创建 pdf 书签。或使用 topdfparameterlist.createwordbookmarks 属性根据 word 中的现有书签创建 pdf 书签。
- 使用 doucment.savetofile(string filename, topdfparameterlist paramlist) 方法将文档保存为带有书签的 pdf 文件。
- python
from spire.doc import *
from spire.doc.common import *
# 创建 document 类的对象
document = document()
# 加载 word 文档
document.loadfromfile("工作汇报.docx")
# 创建 topdfparameterlist 类的对象
parames = topdfparameterlist()
# 根据 word 中的标题创建 pdf 书签
parames.createwordbookmarksusingheadings = true
# 根据 word 中的现有书签创建 pdf 书签
#parames.createwordbookmarks = true
# 将文档保存为带书签的pdf
document.savetofile("output/带书签的pdf.pdf", parames)
document.close()
使用 python 将 word 转换为 pdf 时嵌入字体
要确保生成的 pdf 文档在各种设备上的外观一致性,那么您需要在转换时将 word 文档中使用的字体嵌入到 pdf 文档中。具体步骤如下。
- 创建一个 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 创建 topdfparameterlist 类的对象,用于设置转换选项。
- 通过将 topdfparameterlist.isembeddedallfonts 属性设置为 true,在生成的 pdf 中嵌入字体
- 使用 doucment.savetofile(string filename, topdfparameterlist paramlist) 方法将文档保存为 pdf。
- python
from spire.doc import *
from spire.doc.common import *
# 创建 document 类的对象
document = document()
# 加载 word 文档
document.loadfromfile("工作汇报.docx")
# 创建 topdfparameterlist 类的对象
parameter = topdfparameterlist()
# 将字体嵌入到生成的pdf中
parameter.isembeddedallfonts = true
# 将文档保存为pdf
document.savetofile("output/嵌入字体.pdf", parameter)
document.close()
使用 python 将 word 转换为 pdf 时设置图像质量
包含大量高质量图像的文档通常尺寸较大。在将 word 转换为 pdf 时,您可以决定是否压缩图像质量。具体步骤如下。
- 创建一个 document 类的对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 通过 document.jpegquality 属性设置图像质量。
- 使用 doucment.savetofile() 方法将文档保存为 pdf 文件。
- python
from spire.doc import *
from spire.doc.common import *
# 创建 document 类的对象
document = document()
# 加载 word 文档
document.loadfromfile("工作汇报.docx")
# 将图像压缩到原始质量的40%
document.jpegquality = 40
# 保留原始图像质量
# document.jpegquality = 100
# 将文档保存为pdf
document.savetofile("output/设置图片质量.pdf", fileformat.pdf)
document.close()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。