我有一个对象列表:List = ['Doc1.xlsx','Doc2.csv','Doc3.pdf']
及其名称列表:List1 = ['Doc1_name.xlsx','Doc2_name.csv','Doc3_name.pdf']
。我需要在现有的PDF中附加它们。我尝试了以下代码,只有当我有一个附件时才有效。现在,我尝试迭代附件以附加所有附件,但在Final.pdf
中,将只附加最后一个对象'Doc3.pdf'
。
fileReader = PdfFileReader('Existing_pdf.pdf', 'rb')
fileWriter = PdfFileWriter()
fileWriter = appendPagesFromReader(fileReader)
for j in range(1, len(List)):
fileWriter.addAtachment(List1[j],List[j])
with open('Final.pdf', 'wb') as output_pdf:
fileWriter.write(output_pdf)
2条答案
按热度按时间jjhzyzn01#
在我看来,addAttachment-Method总是替换当前的附件。
从PyPDF2 Github中的www.example.com:pdf.py in the PyPDF2 Github :
我相信
替换附件,而不是添加附件。
addAttachment
方法,我稍微调整了一下,以允许附加多个文件。希望这对你有用。
qyyhg6bp2#
**免责声明:**我是
borb
的作者,此答案中使用的库在
borb
中,Document
类有一个方法add_embedded_file
,它接受一个文件名(将显示在PDF查看器中)和字节。此简短代码片段显示如何将嵌入文件添加到现有PDF: