PDF 文件在日常工作中非常常见,比如合同、项目报告、课程讲义等。作为重要的共享和存档格式,PDF 的合并和拆分是最常见的处理需求之一。然而,手动操作不仅效率低,还容易出错,尤其是在处理大文件时更是如此。
幸运的是,通过 Python 脚本可以轻松实现 PDF 的自动化处理,大幅提升工作效率,并有效减少人为错误。本文将带你掌握如何使用 Python 快速拆分和合并 PDF,无论是需要将扫描件按页存档,还是将多份报告汇总成一个文件,都能轻松完成。
环境准备
本文将使用 Spire.PDF for Python 库来完成任务。作为一款专业且强大的 Python PDF 库,Spire.PDF 不仅可以在无需依赖 Adobe Acrobat 的情况下读取、编辑、转换 PDF,还能通过丰富的 API 对 PDF 文件进行精细化控制,例如本文将介绍的 PDF 拆分和合并操作。
你可以通过以下命令安装正式版:或者使用免费版:- pip install spire.pdf.free
复制代码 免费版在处理页数上有限制,但对于小型任务已经足够。
温馨提示:在动手实践本文提供的方法和代码前,请先准备若干示例 PDF 文件。
PDF 拆分实用方法
PDF 文件应用广泛,不同场景下对页面拆分的需求也各不相同。本章节将介绍如何使用 Python 实现两种常见的拆分方法:将 PDF 按页拆分为单页文件,以及按照指定页范围拆分 PDF。一起看看具体怎么做吧!
当你需要将 PDF 文档中的每一页单独保存为独立文件时,比如将扫描件按页存档,这种方法将非常适合你的需求!
完整代码示例 - 通过 Python 将 PDF 文件按页拆分为独立文件: - from spire.pdf.common import *
- from spire.pdf import *
- # 创建一个 PdfDocument 对象
- doc = PdfDocument()
- # 加载一个 PDF 文件
- doc.LoadFromFile("/示例文档.pdf")
- # 将 PDF 文件拆分为多个单页的 PDF 文件
- doc.Split("/PDF 拆分/拆分结果-{0}.pdf", 1)
- # 关闭 PdfDocument 对象
- doc.Close()
复制代码 效果预览:
(Python 按页拆分 PDF 为单页文件)
关键步骤解析:
- 创建 PdfDocument 类的对象并加载 PDF 文件。
- 通过 PdfDocument.Split() 方法将 PDF 文档拆分为单页的独立文件。
有时 PDF 中的连续几页内容紧密关联,比如一个文档的正文部分,这种情况下不适合简单地将 PDF 拆分成单页文件,而是需要根据指定的页范围进行拆分。比如将封面单独保存、中间几页作为正文,其余页面作为附录单独输出。
完整代码示例 - 将第一页、第二和第三页、剩余页拆分成不同 PDF 文件:- from spire.pdf.common import *
- from spire.pdf import *
- # 创建一个 PdfDocument 对象
- doc = PdfDocument()
- # 加载一个 PDF 文件
- doc.LoadFromFile("/示例文档.pdf")
- # 创建三个 PdfDocument 对象
- newDoc_1 = PdfDocument()
- newDoc_2 = PdfDocument()
- newDoc_3 = PdfDocument()
- # 将源文件的第一页插入到第一个文档中
- newDoc_1.InsertPage(doc, 0)
- # 将源文件的第2-3页插入到第二个文档中
- newDoc_2.InsertPageRange(doc, 1, 2)
- # 将源文件的剩余页插入到第三个文档中
- newDoc_3.InsertPageRange(doc, 3, doc.Pages.Count - 1)
- # 保存这三个文档
- newDoc_1.SaveToFile("/PDF 拆分1/拆分结果-1.pdf")
- newDoc_2.SaveToFile("/PDF 拆分1/拆分结果-2.pdf")
- newDoc_3.SaveToFile("/PDF 拆分1/拆分结果-3.pdf")
- # 关闭 PdfDocument 对象
- doc.Close()
- newDoc_1.Close()
- newDoc_2.Close()
- newDoc_3.Close()
复制代码 效果预览:
(Python 按照指定页面范围拆分 PDF)
关键步骤解析:
- 创建新的 PdfDocument 对象用于保存拆分后的每个文档。
- 通过 PdfDocument.InsertPage() 方法将源文档的单个页面插入到新文档中。
- 通过 PdfDocument.InsertPageRange() 方法将源文档页面范围插入到新文档中。
PDF 合并实用方法
在 PDF 文件处理中,合并 PDF 文件同样是非常常见的需求。比如将各季度的销售报告合并成全年汇总,或者将多份相关报告合并为一个文件,方便整理与归档。在 Python 中,借助 Spire.PDF 提供的 PdfDocument.MergeFiles() 方法,可以轻松快速地完成 PDF 合并操作。
完整代码示例 - 将三个 PDF 文件合并为一个:- from spire.pdf.common import *
- from spire.pdf import *
- # 创建PDF文件路径列表
- inputFile1 = "/文档.pdf"
- inputFile2 = "/示例文档.pdf"
- inputFile3 = "/示例文本.pdf"
- files = [inputFile1, inputFile2, inputFile3]
- # 合并PDF文档
- pdf = PdfDocument.MergeFiles(files)
- # 保存结果文档
- pdf.Save("/合并PDF.pdf", FileFormat.PDF)
- pdf.Close()
复制代码 效果预览:
关键步骤解析:
- 确定导入 PDF 文件的路径,并将它们添加到列表中。
- 通过 PdfDocument.MergeFiles() 方法将列表中的 PDF 文件合并。
除了使用 PdfDocument.MergeFiles() 方法,你还可以通过将复制多个 PDF 文件页面到新文件中的方法实现合并 PDF。
完整代码示例 - 通过循环将每个文档的页面追加到新 PDF:
- from spire.pdf.common import *
- from spire.pdf import *
- # 创建PDF文件路径列表
- inputFile1 = "/文档.pdf"
- inputFile2 = "/示例文档.pdf"
- inputFile3 = "/示例文本.pdf"
- files = [inputFile1, inputFile2, inputFile3]
- # 加载每个PDF文件并添加到列表中
- pdfs = []
- for file in files:
- pdfs.append(PdfDocument(file))
- # 创建一个PdfDocument对象
- newPdf = PdfDocument()
- # 将加载的PDF文档的页面插入到新的PDF文档中
- for pdf in pdfs:
- newPdf.AppendPage(pdf)
- # 保存新的PDF文档
- newPdf.SaveToFile("/复制页面合并PDF.pdf")
复制代码 这两种方法前者更简洁,而循环方法更灵活。
小结
通过本文介绍的方法,你可以轻松实现 PDF 文件的拆分和合并,让日常文档处理更高效、更专业。无论是批量保存扫描件,还是汇总多份报告,使用 Python 脚本都能显著提升工作效率。如果需要进一步处理 PDF,比如添加水印、加密保护或提取内容,还可以继续探索 Spire.PDF 提供的其他功能,让你的 PDF 管理更加全面、便捷。
更多关于 PDF 文档的教程请查看我们的主页,同时也欢迎你留言交流!
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |