当我使用以下代码时
from PyPDF2 import PdfFileMerger
merge = PdfFileMerger()
for newFile in nlst:
merge.append(newFile)
merge.write("newFile.pdf")
事情发生如下:
raise utils.PdfReadError("EOF marker not found")
PyPDF2.utils.PdfReadError: EOF marker not found
谁能告诉我发生了什么?
原文由 DBDBDDB 发布,翻译遵循 CC BY-SA 4.0 许可协议
在使用
camelot
和PyPDF2
遇到这个问题后,我做了一些挖掘并解决了这个问题。End of file marker
'%%EOF'
本来是最后一行,但有些PDF文件在这一行之后放了一大段javascript,读者找不到EOF。打开 EOF 和 javascript 后的样子:
所以你只需要在 javascript 开始之前截断文件。
解决方案: