破損したPDF:うまく開いていますが、AssertionErrorが原因でpyPdfが失敗する

破損したPDF:うまく開いていますが、AssertionErrorが原因でpyPdfが失敗する

電子メールでPDFを受け取りましたが、各ページは2ページなので切り、回転したいです。進行中のソリューションPDFのページ付けpyPDF「AssertionError」と「警告:ストリーム演算子が有効な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

Adobe Readerで開いてコピーを保存してみましたが、ファイルの結果は同じです。

evinceファイルはAdobe ReaderとGoogle Driveで正常に開いて視覚化できます。

このファイルを読みやすいように変更する方法をご存知ですかpyPdf

答え1

pypdf2そして使用pdf mode strict = false

関連情報