损坏的 PDF:打开正常,但 pyPdf 因 AssertionError 而失败

损坏的 PDF:打开正常,但 pyPdf 因 AssertionError 而失败

我通过电子邮件收到了一份 PDF,我想要裁剪并旋转它,因为它每张有两页。尝试中的解决方案pdf 中的分页我遇到了“AssertionError”pyPDF和“警告:流运算符未由有效 EOL 终止”的问题。在 ImageMagick 中。pdftk似乎陷入了无限循环,永远无法完成文件的处理。

这是pyPDF错误:

Traceback (most recent call last):
  File "./un2up.py", line 48, in <module>
    split_pages(sys.argv[1],sys.argv[2])
  File "./un2up.py", line 14, in split_pages
    for i in range(input.getNumPages()):
  File "/usr/lib64/python2.7/site-packages/pyPdf/pdf.py", line 431, in getNumPages
    self._flatten()
  File "/usr/lib64/python2.7/site-packages/pyPdf/pdf.py", line 596, in _flatten
    catalog = self.trailer["/Root"].getObject()
  File "/usr/lib64/python2.7/site-packages/pyPdf/generic.py", line 480, in __getitem__
    return dict.__getitem__(self, key).getObject()
  File "/usr/lib64/python2.7/site-packages/pyPdf/generic.py", line 165, in getObject
    return self.pdf.getObject(self).getObject()
  File "/usr/lib64/python2.7/site-packages/pyPdf/pdf.py", line 647, in getObject
    assert idnum == indirectReference.idnum
AssertionError

我尝试在 Adob​​e Reader 中打开它并保存副本,但文件结果是一样的。

evince该文件可以在Adob​​e Reader 和 Google Drive 上正常打开并进行可视化。

知道如何修复该文件以便可以读取吗pyPdf

答案1

pypdf2与使用pdf mode strict = false

相关内容