Python实现合并PDF文件的三种方式
在处理多个 PDF 文档时,频繁地打开关闭文件会严重影响效率。因此,对于一大堆内容相关的 PDF 文件,我们可以先将这些 PDF 文件合并起来再操作,从而提高工作效率。比如,在传送大量的 PDF 文档时,在处理同一项目下的多个 PDF 文档时,或在打印一系列 PDF 文档时,将文档合并起来可以减少工作量。本文将分享3种使用 Python 合并 PDF 文件的实现方法。
安装
Python中合并PDF需要用到 Spire.PDF for Python 库。 安装十分简单,直接使用以下pip命令即可。或者可以下载后再安装。
pip install Spire.PDF
方法1:通过 MergeFiles () 直接合并 PDF 文件
MergeFiles(List[str]) 方法可以将一个文件路径列表对应的所有 PDF 文件按列表顺序合并为一个 PDF 文件。代码如下:
from spire.pdf.common import * from spire.pdf import * import os # 指定文件夹路径 folder_path = "G:/文档/" # 遍历文件夹中的文件并创建文件路径列表 pdf_files = [] for file_name in sorted(os.listdir(folder_path)): if file_name.endswith(".pdf"): file_path = os.path.join(folder_path, file_name) pdf_files.append(file_path) # 合并PDF文档 pdf = PdfDocument.MergeFiles(pdf_files) # 保存结果文档 pdf.Save("output/合并PDF.pdf", FileFormat.PDF) pdf.Close()
方法2:通过AppendPage() 插入页面合并 PDF 文件
AppendPage(PdfDocument) 方法可以在一个 PDF 文件中插入另一个 PDF 文件的所有页面。 具体实现代码参考:
from spire.pdf.common import * from spire.pdf import * # 遍历文件夹中的文件,载入每个PDF文件PdfDocument对象并列表 folder_path = "G:/文档/" pdf_files = [] for file_name in sorted(os.listdir(folder_path)): if file_name.endswith(".pdf"): file_path = os.path.join(folder_path, file_name) pdf_files.append(PdfDocument(file_path)) # 创建一个PdfDocument对象 newPdf = PdfDocument() # 将加载的PDF文档的页面插入到新的PDF文档中 for pdf in pdf_files: newPdf.AppendPage(pdf) # 保存新的PDF文档 newPdf.SaveToFile("output/插入页面合并PDF.pdf")
方法3:合并不同 PDF 文件的指定页面
InsertPage (PdfDocument, pageIndex: int) 方法可以将一个 PDF 文件的指定页面插入到另一个 PDF 文件中。我们可以通过这个方法合并不同 PDF 文件的指定页面。
from spire.pdf import * from spire.pdf.common import * # 创建PDF文件路径列表 file1 = "示例1.pdf" file2 = "示例2.pdf" file3 = "示例3.pdf" files = [file1, file2, file3] # 加载每个PDF文件并添加到列表中 pdfs = [] for file in files: pdfs.append(PdfDocument(file)) # 创建一个PdfDocument对象 newPdf = PdfDocument() # 将加载的PDF文档中选择的页面插入到新文档中 newPdf.InsertPage(pdfs[0], 0) newPdf.InsertPage(pdfs[1], 1) newPdf.InsertPageRange(pdfs[2], 0, 1) # 保存新的PDF文档 newPdf.SaveToFile("output/合并不同PDF的指定页面.pdf")
到此这篇关于Python实现合并PDF文件的三种方式的文章就介绍到这了,更多相关Python合并PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python函数参数匹配模型通用规则keyword-only参数详解
Python3对函数参数的排序规则更加通用化了,即Python3 keyword-only参数,该参数即为必须只按照关键字传递而不会有一个位置参数来填充的参数。这篇文章主要介绍了Python函数参数匹配模型通用规则keyword-only参数,需要的朋友可以参考下2019-06-06Python2.X/Python3.X中urllib库区别讲解
本篇文章通过对比给大家详细讲解了在Python2和Python3中urllib库区别以及用法讲解,有需要的朋友跟着学习下吧。2017-12-12python内置函数delattr()与dict()举例详解
这篇文章主要介绍了关于python内置函数delattr()与dict()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08Python functools.lru_cache装饰器性能提升利器深入探究
本文将详细介绍functools.lru_cache装饰器的原理、用法以及适当的场景,以帮助你更好地利用这一功能,它可以用来缓存函数的输出,以避免重复计算,从而显著提高程序的执行速度2024-01-01
最新评论