손상된 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

관련 정보