用Python轻松实现Word文档到PDF的批量转换

Word文件(Doc、Docx)和PDF文件都是使用广泛的文档格式。其中,Word文档格式在编辑内容时优势明显,能够满足各种编辑需求。但想要保证文档的完整和格式的一致,以及使文档有良好的跨平台兼容性,PDF格式则是更好的选择。PDF文档可以在各种平台和设备上打开,并且保持文档的格式和外观一致,同时还有更好的安全性。因此,将Word文档转换为PDF文档也成为一种常见需求。本文将介绍如何使用Spire. Doc for Python实现将Word文档转换为PDF文件,包括批量转换以及各种转换参数的设置

文章目录

      • 引入Spire.Doc for Python
    • 将单个Word文档转换为PDF文件
    • 批量转换Word文档为PDF文件
    • 转换时设置转换参数(加密、包含书签、嵌入字体、图片质量)

引入Spire.Doc for Python

此教程需要使用Spire.Doc for Python。可通过以下 pip 命令将它们轻松安装到 VS 代码中。

pip install Spire.Doc

将单个Word文档转换为PDF文件

Spire.Doc for Python 中的 Document.SaveToFile() 方法,可将 Word 保存为 PDF、XPS、HTML、RTF 等格式。下面是直接将一个Word文档保存为PDF文件的操作步骤:

  • 创建一个 Document 类的对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档示例。
  • 使用 Doucment.SaveToFile() 方法将文档保存为 PDF 文件。

Python

from spire.doc import *
from spire.doc.common import *

# 创建一个Document类的对象
document = Document()

# 载入Word文档
document.LoadFromFile("G:/文档/示例1.docx")

# 保存文档为PDF文件
document.SaveToFile("输出/PDF1.pdf", FileFormat.PDF)
document.Close()

转换结果
用Python轻松实现Word文档到PDF的批量转换_第1张图片

批量转换Word文档为PDF文件

下面是将Word文档批量转换为PDF文件的操作步骤,包含Doc和Docx格式的Word文档:

  • 创建一个 Document 类的对象。
  • 遍历指定文件夹中的所有文件,并判断出后缀为.doc和.docx的文件。
  • 使用 Document.LoadFromFile() 方法逐个载入文档。
  • 使用 Document.SaveToFile() 方法转换文档为PDF格式并保存到指定路径。

Python

import os
from spire.doc import *
from spire.doc.common import *

# 获取文件夹路径
folder_path = "G:/文档"

# 创建一个Document类的对象
document = Document()

# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
    if file_name.endswith(".doc") or file_name.endswith(".docx"):
        # 构建完整的文件路径
        file_path = os.path.join(folder_path, file_name)
        
        # 载入Word文档
        document.LoadFromFile(file_path)

        # 生成输出文件路径
        output_path = os.path.join("输出1", os.path.splitext(file_name)[0] + ".pdf")

        # 保存文档为PDF文件
        document.SaveToFile(output_path, FileFormat.PDF)
        document.Close()
    else:
        print(f"Ignoring file: {file_name}")

转换结果
用Python轻松实现Word文档到PDF的批量转换_第2张图片

转换时设置转换参数(加密、包含书签、嵌入字体、图片质量)

Spire.Doc for Python还支持在转换Word文档时进行加密、包含书签、嵌入字体、设置图片质量等操作,通过 ToPdfParameterList 类下的属性以及 Document.JPEGQuality 属性实现。详细操作步骤如下:

  • 创建一个 Document 类的对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档示例。
  • 创建一个 ToPdfParameterList 类的对象。
  • 使用 ToPdfParameterList.PdfSecurity.Encrypt() 方法设置查看密码和权限密码。
  • 使用 ToPdfParameterList.CreateWordBookmarks 属性设置直接转换Word文档书签到PDF书签,或使用 ToPdfParameterList.CreateWordBookmarksUsingHeadings 属性设置从各级标题生成PDF书签。
  • 使用 ToPdfParameterList.IsEmbeddedAllFonts 属性设置嵌入字体。
  • 使用 Document.JPEGQuality 属性设置图像质量。
  • 使用 Doucment.SaveToFile() 方法应用参数将文档保存为 PDF 文件。

Python

from spire.doc import *
from spire.doc.common import *

# 创建一个Document类的对象
document = Document()

# 载入Word文档
document.LoadFromFile("G:/文档/示例1.docx")

# 创建一个ToPdfParameterList类的对象
parameter = ToPdfParameterList()

# 设置查看密码和权限密码
openpsd = "password"
permissionpsd = "permission"
parameter.PdfSecurity.Encrypt(openpsd, permissionpsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit)

# 包含书签
parameter.CreateWordBookmarks = True
# 使用标题创建书签
# parameter.CreateWordBookmarksUsingHeadings = True

# 嵌入字体
parameter.IsEmbeddedAllFonts = True

# 设置图片质量
document.JPEGQuality = 40

#保存文档为PDF文件
document.SaveToFile("输出/PDF2.pdf", parameter)
document.Close()

转换结果
用Python轻松实现Word文档到PDF的批量转换_第3张图片
用Python轻松实现Word文档到PDF的批量转换_第4张图片
用Python轻松实现Word文档到PDF的批量转换_第5张图片

以上就是使用Spire.Doc for Python将Word文档转换为PDF文件的操作方法介绍。如有疑问可前往 官方论坛 讨论。

Spire.Doc 产品QQ交流群:913816707

你可能感兴趣的:(Python,Doc,python,word,文档操作,开发语言,pdf)