为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

LEATH 2023-03-01 15:27:24
我在这里先向您的帮助表示感谢。我一直在寻找解决方案,但似乎我正在寻找的东西总是与我找到的任何帖子略有不同。我需要向数千个本地 pdf 添加单个标题页(pdf)。我有一个包含数千个 pdf 的目录,所有这些都需要添加一个标题页。标题页每次迭代都将相同,但要注意的是我需要保留要添加标题页的原始 pdf 的文件名。我当时认为循环遍历我的目录,保存当前文件名,将 pdf 合并到它的前面,输出为作为变量保存在不同目录中的文件名会很简单。我能够想出一个脚本来合并当前目录中的所有文件,但我遇到了进展。这是到目前为止的代码。from PyPDF2 import PdfFileMergerimport globimport ospdf_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.")任何帮助将不胜感激!
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

假设您将标题页存储在title.pdf. 然后,您必须合并标题页和每个 pdf。


from PyPDF2 import PdfFileMerger, PdfFileReader

import glob

import os


title_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并将标题页添加到它的前面。然后它将文件保存为旧名称,覆盖旧文件。


我强烈建议在运行此之前进行备份。


查看完整回答
反对 回复 2023-03-01
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信