我有几个Pdfs,我想合并在一起。为此,我引用了这个https://pythonhosted.org/PyPDF2/PdfFileMerger.html#PyPDF2.PdfFileMerger.write文档以及这个Merge PDF files帖子作为参考。我的代码从pdfs所在的目录中读取,并尝试将新pdf写入另一个目录。
def concatenate_pdfs(path_to_pdf_dir, output_dir):
"""merge all the pdfs that lie in output_dir into one pdf and store it in path_to_pdf_dir"""
merger = PyPDF2.PdfFileMerger()
for filepath in glob(f'{output_dir}*.pdf'):
merger.append(filepath)
merger.write(f'{path_to_pdf_dir}/output.pdf')
merger.close()新的pdf被创建,但只与第一个被解析的pdf。
当我这样做时,也会出现同样的问题:
def concatenate_pdfs(path_to_pdf_dir, output_dir):
"""merge all the pdfs that lie in output_dir into one pdf and store it in path_to_pdf_dir"""
merger = PyPDF2.PdfFileMerger()
f1 = 'path_to_first_pdf'
f2 = 'path_to_second_pdf'
f3 = 'path_to_nth_pdf'
merger.append(f1)
merger.append(f2)
merger.append(f3)
merger.write(f'{path_to_pdf_dir}/output.pdf')
merger.close()在这种情况下,只有f1才会被写入我的output.pdf
发布于 2022-01-26 09:54:34
为子孙后代:
将文件添加到与merger.append(open(filepath, 'rb'))的合并中,因为PyPDF在文件读取器/编写器中存在一些奇怪的内部问题。
https://stackoverflow.com/questions/70861245
复制相似问题