该代码的目的是将指定文件夹中的所有PDF文件按字母顺序合并成一个PDF文件,同时为生成的PDF创建目录,并将其保存到该文件夹中。
代码首先要求用户输入源文件路径文件夹,然后使用os.listdir()函数遍历该文件夹中的所有文件,并将以“.pdf”结尾的文件添加到pdfs列表中。接下来,代码按字母顺序对pdfs列表进行排序,并创建一个PdfMerger对象。然后,代码循环遍历pdfs列表中的每个PDF文件,并将它们添加到PdfMerger对象中。最后,代码将合并后的PDF文件保存到源文件路径文件夹中,并关闭PdfMerger对象。
# 导入必要的库
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文件并将它们合并
for pdf in pdfs:
with open(pdf, 'rb') as f:
pdf_reader = PdfReader(f)
merger.append(pdf_reader)
merger.add_outline_item(pdf_reader.metadata.title, len(pdf_reader.pages) - 1)
# 将合并后的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文件合并成功!')
网友评论