在工作中,经常会遇到需要把 Word 文档转换成 PDF 的情况。比如生成报表、分发文档、或者做归档保存,PDF 格式在排版和跨平台显示上更稳定。
传统的做法往往依赖 Microsoft Office 或 LibreOffice 等软件来完成转换,但在自动化环境(如服务器、Docker 容器、Linux 系统)中,这类方式会遇到一些限制:需要额外安装软件、依赖复杂,甚至存在兼容性问题。
因此,很多开发者更希望使用无依赖的 Python 库来完成转换。本文将介绍如何借助 Spire.Doc for Python 库,在不依赖 Office 的情况下,实现 doc 转 pdf、docx 转 pdf,并支持批量转换与多种转换设置。
一、安装 Spire.Doc for Python
在使用之前,需要先安装库。可以直接使用以下 pip 命令来安装:
pip install spire.doc
安装完成后,就可以在 Python 代码中使用 from spire.doc import * 导入该库的模块来处理和转换 Word 文档。
二、Python Word 转 PDF 基本示例
下面是 Word 转 PDF 一个最基础的示例。只需要两步:加载文件、保存为 PDF。
from spire.doc import *
# 创建文档对象
doc = Document()
# 加载 Word 文件
doc.LoadFromFile("input.docx")
# 转换并保存为 PDF
doc.SaveToFile("output.pdf", FileFormat.PDF)
# 关闭文档,释放资源
doc.Close()
代码说明:
Document():创建一个 Word 文档对象。LoadFromFile("input.docx"):加载指定路径的 Word 文件。SaveToFile("output.pdf", FileFormat.PDF):将文档保存为 PDF 格式。Close():关闭文档,释放资源。
三、批量转换 Word 文档为 PDF
如果有大量 Word 文件需要转换,可以将它们放在一个目录下,然后遍历目录并批量转换。以下是具体的代码示例:
import os
from spire.doc import *
input_dir = "word_files"
output_dir = "pdf_files"
os.makedirs(output_dir, exist_ok=True)
for file in os.listdir(input_dir):
if file.endswith(".doc") or file.endswith(".docx"):
doc = Document()
doc.LoadFromFile(os.path.join(input_dir, file))
pdf_path = os.path.join(output_dir, file.rsplit(, )[] + )
doc.SaveToFile(pdf_path, FileFormat.PDF)
doc.Close()

