Python 实现Word转PDF

通过将 Word 文档转换为 PDF,您可以确保文档在不同设备上呈现一致,并防止其他人对文档内容进行非授权修改。此外,在你需要打印文档时,转换为PDF还能确保打印输出的准确性。本文将介绍如何使用**Python 库将Word文档转换为PDF格式**。

  • Python 将 Word DOCX/DOC 转换为 PDF
  • Python 将 Word转换为加密的PDF
  • Python 将 Word转为 PDF时嵌入字体

Python Word 库安装

本文中使用到的python库为**Spire.Doc for Python**, 它能轻松实现 Word 文档的创建、读取、编辑和转换等功能。要使用此产品,可以通过以下pip 命令将其安装到你的 VS Code中。

复制代码
pip install Spire.Doc

详细安装教程可参考: 如何在 VS Code中安装 Spire.XLS for Python

Python 将 Word DOCX/DOC 转换为 PDF

要实现该转换,仅需加载一个 .doc.docx 文档,然后使用 **Document.SaveToFile(string fileName, FileFormat.PDF)**方法就能将Word转为PDF格式。完整代码如下:

复制代码
from spire.doc import *
from spire.doc.common import *

# 创建Document对象
document = Document()

# 加载Word文档
document.LoadFromFile("清单.docx")

# 将文档保存为PDF格式
document.SaveToFile("Word转PDF.pdf", FileFormat.PDF)
document.Close()

Python 将 Word转换为加密的PDF

除了简单的Word转PDF外,Spire.Doc for Python 还提供了 ToPdfParameterList 类来控制转换过程。你可以先为生成的PDF设置密码,然后在转换时用**Document.SaveToFile(string fileName, ToPdfParameterList paramList)**方法来将Word保存为加密的PDF文件。完整代码如下:

复制代码
from spire.doc import *
from spire.doc.common import *

# 创建Document对象
document = Document()

# 加载Word文档
document.LoadFromFile("清单.docx")

# 创建ToPdfParameterList对象
parameter = ToPdfParameterList()

# 为生成的PDF文件设置打开密码和权限密码
openPsd = "abcd"
permissionPsd = "1234"
parameter.PdfSecurity.Encrypt(openPsd, permissionPsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit)

# 将文档保存为加密的PDF
document.SaveToFile("输出文件.pdf", parameter)
document.Close()

Python 将 Word转为 PDF时嵌入字体

将字体嵌入到PDF中能确保文档在不同设备上正确显示,避免由于缺少字体而导致的问题。这对于包含自定义字体或特殊字形的文档尤其重要。Spire.Doc for Python 提供的ToPdfParameterList.IsEmbeddedAllFonts 属性能帮你实现Word转 PDF时嵌入字体。完整代码如下:

复制代码
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("嵌入字体.pdf", parameter)
document.Close()

如果你想在转换Word到PDF时压缩图片以减小生成PDF的文件大小,可通过 Document.JPEGQuality 属性设置图片质量。此外,ToPdfParameterList 类还支持在转换时保留原有书签,或者按照标题创建新书签。

复制代码
# 根据 Word 中的标题创建 PDF 书签
parames.CreateWordBookmarksUsingHeadings = True

# 根据 Word 中的现有书签创建 PDF 书签
#parames.CreateWordBookmarks = True
相关推荐
Learn-Python3 小时前
MongoDB-only方法
python·sql
小途软件4 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型
扫地的小何尚4 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
wanglei2007084 小时前
生产者消费者
开发语言·python
清水白石0085 小时前
《从零到进阶:Pydantic v1 与 v2 的核心差异与零成本校验实现原理》
数据库·python
昵称已被吞噬~‘(*@﹏@*)’~5 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战
2501_941877985 小时前
从配置热更新到运行时自适应的互联网工程语法演进与多语言实践随笔分享
开发语言·前端·python
酩酊仙人5 小时前
fastmcp构建mcp server和client
python·ai·mcp
且去填词6 小时前
DeepSeek API 深度解析:从流式输出、Function Calling 到构建拥有“手脚”的 AI 应用
人工智能·python·语言模型·llm·agent·deepseek
rgeshfgreh6 小时前
Python条件与循环实战指南
python