翼度科技»论坛 编程开发 python 查看内容

Python 如何实现合并 PDF 文件?

13

主题

13

帖子

39

积分

新手上路

Rank: 1

积分
39
在处理多个 PDF 文档时,频繁地打开关闭文件会严重影响效率。因此,对于一大堆内容相关的 PDF 文件,我们可以先将这些 PDF 文件合并起来再操作,从而提高工作效率。比如,在传送大量的 PDF 文档时,在处理同一项目下的多个 PDF 文档时,或在打印一系列 PDF 文档时,将文档合并起来可以减少工作量。本文将分享3种使用 Python 合并 PDF 文件的实现方法。
 

安装:

Python中合并PDF需要用到 Spire.PDF for Python 库。 安装十分简单,直接使用以下pip命令即可。或者可以下载后再安装。
  1. pip install Spire.PDF
复制代码
 
方法1:通过 MergeFiles () 直接合并 PDF 文件

MergeFiles(List[str]) 方法可以将一个文件路径列表对应的所有 PDF 文件按列表顺序合并为一个 PDF 文件。代码如下:
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. import os
  4. # 指定文件夹路径
  5. folder_path = "G:/文档/"
  6. # 遍历文件夹中的文件并创建文件路径列表
  7. pdf_files = []
  8. for file_name in sorted(os.listdir(folder_path)):
  9.     if file_name.endswith(".pdf"):
  10.         file_path = os.path.join(folder_path, file_name)
  11.         pdf_files.append(file_path)
  12. # 合并PDF文档
  13. pdf = PdfDocument.MergeFiles(pdf_files)
  14. # 保存结果文档
  15. pdf.Save("output/合并PDF.pdf", FileFormat.PDF)
  16. pdf.Close()
复制代码
 
方法2:通过AppendPage() 插入页面合并 PDF 文件

AppendPage(PdfDocument) 方法可以在一个 PDF 文件中插入另一个 PDF 文件的所有页面。 具体实现代码参考:
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 遍历文件夹中的文件,载入每个PDF文件PdfDocument对象并列表
  4. folder_path = "G:/文档/"
  5. pdf_files = []
  6. for file_name in sorted(os.listdir(folder_path)):
  7.     if file_name.endswith(".pdf"):
  8.         file_path = os.path.join(folder_path, file_name)
  9.         pdf_files.append(PdfDocument(file_path))
  10. # 创建一个PdfDocument对象
  11. newPdf = PdfDocument()
  12. # 将加载的PDF文档的页面插入到新的PDF文档中
  13. for pdf in pdf_files:
  14.     newPdf.AppendPage(pdf)
  15. # 保存新的PDF文档
  16. newPdf.SaveToFile("output/插入页面合并PDF.pdf")
复制代码
 
方法3:合并不同 PDF 文件的指定页面

InsertPage (PdfDocument, pageIndex: int) 方法可以将一个 PDF 文件的指定页面插入到另一个 PDF 文件中。我们可以通过这个方法合并不同 PDF 文件的指定页面。
  1. from spire.pdf import *
  2. from spire.pdf.common import *
  3. # 创建PDF文件路径列表
  4. file1 = "示例1.pdf"
  5. file2 = "示例2.pdf"
  6. file3 = "示例3.pdf"
  7. files = [file1, file2, file3]
  8. # 加载每个PDF文件并添加到列表中
  9. pdfs = []
  10. for file in files:
  11.     pdfs.append(PdfDocument(file))
  12. # 创建一个PdfDocument对象
  13. newPdf = PdfDocument()
  14. # 将加载的PDF文档中选择的页面插入到新文档中
  15. newPdf.InsertPage(pdfs[0], 0)
  16. newPdf.InsertPage(pdfs[1], 1)
  17. newPdf.InsertPageRange(pdfs[2], 0, 1)
  18. # 保存新的PDF文档
  19. newPdf.SaveToFile("output/合并不同PDF的指定页面.pdf")
复制代码
 
以上就是关于如何使用 Spire.PDF for Python 合并 PDF 文件的操作介绍。大家可自行测试,如有问题欢迎反馈讨论。
如果想了解更多此第三方Python库的功能,可前往 Spire.PDF for Python 中文教程

来源:https://www.cnblogs.com/Yesi/p/17829475.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具