用Python将Office文档(Word、Excel、PowerPoint)批量转换为PDF-将Word、Excel和PowerPoint文档批量分别转换为PDF文档

我们可以通过判断文档的文件后缀名,然后将对应的文档分别用Document类(Word)、Workbook类(Excel)和Presentation类(PowerPoint)的LoadFromFile方法载入,再分别使用SaveToFile(string: fileName, FileFormat.PDF)方法转换并保存为PDF文档,从而实现Office文档到PDF文件的批量转换。以下是详细操作步骤:

  1. 导入所需模块。
  2. 定义要处理的文件夹路径,获取指定类型的文件并排序。
  3. 创建一个PdfDocument对象。
  4. 遍历文件列表的文件,根据后缀名判断文件类型。
  5. 根据文件类型创建DocumentWorkbookPresentation对象。
  6. 使用LoadFromFile方法载入文档。
  7. 使用SaveToFile方法将文档转换为PDF并保存。
  8. 释放资源。

代码示例

from spire.pdf import PdfDocument
from spire.doc import Document
from spire.xls import Workbook
from spire.presentation import Presentation
from spire.doc import FileFormat as wFileFormat
from spire.xls import FileFormat as eFileFormat
from spire.presentation import FileFormat as pFileFormat
import os

# 定义要处理的文件夹路径
folderPath = "Documents/"
# 获取所有指定类型的文件并排序
extensions = [".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx"]
files = sorted([os.path.join(folderPath, f) for f in os.listdir(folderPath) if f.lower().endswith(tuple(extensions))])

# 创建一个PdfDocument对象
pdf = PdfDocument()

# 遍历文件列表
for file in files:
    extension = os.path.splitext(file)[1].lower()
    if extension in [".doc", ".docx"]:
        # 创建Document对象
        doc = Document()
        # 载入Word文档
        doc.LoadFromFile(file)
        # 将Word文档转换为PDF
        doc.SaveToFile(f"output/Documents/{os.path.basename(file)}.pdf", wFileFormat.PDF)
        doc.Close()
    if extension in [".xls", ".xlsx"]:
        # 创建Workbook对象
        workbook = Workbook()
        # 载入Excel文件
        workbook.LoadFromFile(file)
        # 将Excel文件转换为PDF
        workbook.SaveToFile(f"output/Documents/{os.path.basename(file)}.pdf", eFileFormat.PDF)
        workbook.Dispose()
    if extension in [".ppt", ".pptx"]:
        # 创建Presentation对象
        presentation = Presentation()
        # 载入PowerPoint文件
        presentation.LoadFromFile(file)
        # 将PowerPoint文件转换为PDF
        presentation.SaveToFile(f"output/Documents/{os.path.basename(file)}.pdf", pFileFormat.PDF)
        presentation.Dispose()

# 关闭PdfDocument对象
pdf.Close()

结果
Python批量转换Office文档为PDF

上一篇:基于大型语言模型的智能网页抓取


下一篇:【jQuery】jQuery 处理 Ajax 以及解决跨域问题的方式-HTTP