本帖最后由 chendm 于 2023-11-12 09:57 编辑
使用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”
|