Python实现合并PDF文件的三种方式

 更新时间:2023年11月14日 08:06:52   作者:E-iceblue  
在处理多个 PDF 文档时,频繁地打开关闭文件会严重影响效率,因此我们可以先将这些PDF文件合并起来再操作,本文将分享3种使用 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • TensorFlow实现MLP多层感知机模型

    TensorFlow实现MLP多层感知机模型

    这篇文章主要为大家详细介绍了TensorFlow实现MLP多层感知机模型,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python依赖管理及打包工具Poetry使用规范

    Python依赖管理及打包工具Poetry使用规范

    这篇文章主要为大家介绍了Python依赖管理及打包工具Poetry的依赖规范,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-09-09
  • python中threading超线程用法实例分析

    python中threading超线程用法实例分析

    这篇文章主要介绍了python中threading超线程用法,实例分析了Python中threading模块的相关使用技巧,需要的朋友可以参考下
    2015-05-05
  • Python 的 sum() Pythonic 的求和方法详细

    Python 的 sum() Pythonic 的求和方法详细

    Python 的内置函数sum()是一种对数值列表求和的有效且Pythonic 的方法。将多个数字相加是许多计算中常见的中间步骤,因此sum()对于 Python 程序员来说是一个非常方便的工具。下面文章就让我们一起来看具体内容吧
    2021-10-10
  • 详解Python读取yaml文件多层菜单

    详解Python读取yaml文件多层菜单

    这篇文章主要介绍了Python读取yaml文件多层菜单,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python函数调用追踪实现代码

    Python函数调用追踪实现代码

    这篇文章主要介绍了Python函数调用追踪实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python实战实现爬取天气数据并完成可视化分析详解

    Python实战实现爬取天气数据并完成可视化分析详解

    这篇文章主要和大家分享一个用Python实现的小功能:获取天气数据,进行可视化分析,带你直观了解天气情况!感兴趣的小伙伴可以学习一下
    2022-06-06
  • Python Web日志管理与监控实践指南

    Python Web日志管理与监控实践指南

    这篇文章主要介绍了Python Web日志管理与监控实践指南,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-09-09
  • Python数据分析库pandas基本操作方法

    Python数据分析库pandas基本操作方法

    下面小编就为大家分享一篇Python数据分析库pandas基本操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python+matplotlib实现堆叠图的绘制

    Python+matplotlib实现堆叠图的绘制

    Matplotlib作为Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本文将利用Matplotlib库绘制堆叠图,感兴趣的可以了解一下
    2022-03-03

最新评论