这是一个简单的、非常容易重现的例子,说明我在PyPDF2中遇到的bug。请帮助我找出发生了什么。
我想生成此pdf:
正如你所看到的,我已经生成了它,所以代码是正确的工作。然而,它看起来像这样只有当在mac查看器或safari。当我查看相同的文件在谷歌chrome或勇敢或adobe我看到这个:
所以第2页只是再次显示第1页。如果我做n页,那么所有n页都是相同的,它们都说“第1页”。
我把我正在使用的软件的所有版本都写在下面的评论里,我希望这个版本在chrome brave adobe上都能正确的看到,而且在其他很多版本上可能也是错误的。
#find original pdf page here and save it in "path": https://www.irs.gov/pub/irs-pdf/f8949.pdf
from PyPDF2 import PdfReader, PdfWriter #, PdfFileMerger, PdfFileWriter, PdfFileReader
writer = PdfWriter()
reader = PdfReader(path)
page = reader.pages[0]
writer.add_page(page)
writer.update_page_form_field_values(writer.pages[0], {"f1_3[0]":"page1"})
reader = PdfReader(path)
page = reader.pages[0]
writer.add_page(page)
writer.update_page_form_field_values(writer.pages[1], {"f1_3[0]":"page2"})
with open("output.pdf", "wb") as output_stream:
writer.write(output_stream)
output_stream.close()
#PyPDF2==2.11.2
#PyPDF4==1.27.0
#Python 3.9.7
#Mac 12.1
#Brave 1.45.127
#Adobe 2022.003.20258
#safari good
#preview good
#google bad
#adobe bad
#brave bad
1条答案
按热度按时间5kgi1eie1#
是的,这是PyPDF2中的一个bug。我们在长时间填写表单时遇到了问题,请参见https://github.com/py-pdf/PyPDF2/issues/355