Python PDF 合并 - 如何保留原始文件名并批量工作

我在这里先向您的帮助表示感谢。我一直在寻找解决方案,但似乎我正在寻找的东西总是与我找到的任何帖子略有不同。


我需要向数千个本地 pdf 添加单个标题页(pdf)。我有一个包含数千个 pdf 的目录,所有这些都需要添加一个标题页。标题页每次迭代都将相同,但要注意的是我需要保留要添加标题页的原始 pdf 的文件名。


我当时认为循环遍历我的目录,保存当前文件名,将 pdf 合并到它的前面,输出为作为变量保存在不同目录中的文件名会很简单。


我能够想出一个脚本来合并当前目录中的所有文件,但我遇到了进展。这是到目前为止的代码。


from PyPDF2 import PdfFileMerger

import glob

import os


pdf_files = glob.glob("./*.pdf")


output_pdf = "PDF-Output.pdf"


merger = PdfFileMerger()


for pdf in pdf_files:

    merger.append(open(pdf, 'rb'))


with open(output_pdf, 'wb') as fout:

    merger.write(fout)


print("PDF Merge success.")

任何帮助将不胜感激!


LEATH
浏览 133回答 1
1回答

慕森王

假设您将标题页存储在title.pdf. 然后,您必须合并标题页和每个 pdf。from PyPDF2 import PdfFileMerger, PdfFileReaderimport globimport ostitle_file = "./title.pdf"pdf_files = glob.glob("./*.pdf")for name in pdf_files:    if name is not title_file:        merger = PdfFileMerger()        merger.append(PdfFileReader(title_file, 'rb')        merger.append(PdfFileReader(name, 'rb')        merger.write(name)        merger.close()    这将遍历所有文件pdf_files并将标题页添加到它的前面。然后它将文件保存为旧名称,覆盖旧文件。我强烈建议在运行此之前进行备份。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python