Python合并PDF文件根据文件名生成书签目录

该代码的目的是将指定文件夹中的所有PDF文件按字母顺序合并成一个PDF文件,并将其保存到该文件夹中。代码首先要求用户输入源文件路径文件夹,然后遍历该文件夹中的所有PDF文件并将其添加到一个列表中。接下来,代码按字母顺序对PDF文件进行排序,然后使用PdfMerger对象将它们合并。在合并过程中,代码还为每个PDF文件添加了一个大纲项,以便在合并后的PDF文件中创建书签。最后,代码将合并后的PDF文件保存到源文件路径文件夹中,并输出“PDF文件合并成功!”的消息。

# 导入必要的库
import os
from PyPDF2 import PdfReader, PdfFileWriter, PdfMerger

# 设置目录路径
dir_path = input("输入源文件路径文件夹:")

# 创建空列表以存储PDF文件
pdfs = []

# 循环遍历目录并将PDF文件添加到列表中
for filename in os.listdir(dir_path):
    if filename.endswith('.pdf'):
        pdfs.append(os.path.join(dir_path, filename))

# 按字母顺序排序PDF文件
pdfs.sort()

# 创建PdfMerger对象
merger = PdfMerger()

# 循环遍历PDF文件并将它们合并
total_pages = 0
for pdf in pdfs:
    with open(pdf, 'rb') as f:
        pdf_reader = PdfReader(f)
        merger.append(pdf_reader)
        merger.add_outline_item(os.path.basename(pdf), total_pages )
        total_pages += len(pdf_reader.pages)

# 将合并后的PDF保存到文件中
with open(os.path.join(dir_path, os.path.basename(dir_path) + '.pdf'), 'wb') as f:
    merger.write(f)

# 关闭PdfMerger对象
merger.close()

print('PDF文件合并成功!')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。