使用python将多个PDF文件合并成一个

使用python将多个PDF文件合并成一个

前面需求是,将很多PDF文章内容整合成一个PDF文件

首先你要 pip install PyPDF2 安装好这个组件库

然后使用下面的代码

python 复制代码
from PyPDF2 import PdfReader, PdfMerger
import os
 
wk_in_file_path = r'D:/items_python/pdfdoc/input/'  #里面存放多个pdf文件,文件名将是作为目录的,这个注意一下
wk_out_file_path = r"D:/items_python/pdfdoc/output/"  #存放合成PDF文件的输出地址
wk_out_file_name = wk_out_file_path + '华为GaussDB实战训练营.pdf'  #定义输出的这个文件名称,记住,这个合成文件的目录来自于 合并前的文件名称
 
wk_file_list = os.listdir(wk_in_file_path)
merger = PdfMerger()  # 声明 PdfMerger 对象, for merge multiple PDFs into a single PDF
 
wk_page_num = 0  # 记录每次合并一个pdf 文件后总页数
 
for item in wk_file_list:  # 遍历输入目录下的所有pdf 文件
    if not item.startswith('.'):
        print('输出要合并的文件名称: ', item) #以方便你的PDF文件在CDM窗口显示出列表
        wk_in_file_name = wk_in_file_path + item
        pdf_in = PdfReader(wk_in_file_name)  # 读取每个 pdf
 
        wk_title = item.split('.')[0]  # 目录标题 其实就是文件名字作为 目录标题
        merger.append(wk_in_file_name)  # 合并 pdf 动作开始
        merger.add_outline_item(wk_title, wk_page_num, None)  # 添加目录项并指向合并的pdf的头页
        wk_page_num += len(pdf_in.pages)  # .pages  获得读进来的pdf的页数
 
merger.write(wk_out_file_name)
merger.close()

第一步:创建一个py2multPDF.py文件,将代码复制到文件里。

第二步:创建一个在D:/items_python/pdfdoc/input/ 目录,里面存放多个pdf文件,如file1.pdf,file2.pdf.....,多个文件

第三步:创建一个D:/items_python/pdfdoc/output/ 目录, 这个输出一个合并后的PDF文件存放地址

第四步:CDM命令窗口: python py2multPDF.py

完成四步后,在D:/items_python/pdfdoc/output/ 目录里就会躺着一个合并后的PDF文件"华为GaussDB实战训练营.pdf"

相关推荐
somethingGoWay1 小时前
wpf .netcore 导出pdf文件
pdf·wpf·.netcore
小白电脑技术9 小时前
PDF教程|如何把想要的网页保存下来?
pdf·电脑
我没想到原来他们都是一堆坏人13 小时前
通过Gen AI SDK调用gemini 2.5 pro,单独上传pdf文件 | ai agent 开发笔记 2025.9.2 Day 2
ai·google·pdf·sdk·gemini
AI视觉网奇17 小时前
麒麟系统 doc转pdf
linux·运维·pdf
CodeCraft Studio19 小时前
国产化PDF处理控件Spire.PDF教程:如何在 Java 中通过模板生成 PDF
java·python·pdf·spire.pdf·java创建pdf·从html创建pdf
janthinasnail2 天前
使用Docker安装Stirling-PDF(PDF工具)
docker·pdf
海斗星河万里长2 天前
ConvertAPI:PDF转Word的便捷之选
pdf
weixin_584121432 天前
vue3+ts导出PDF
javascript·vue.js·pdf
Access开发易登软件2 天前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发