PDF corrompido: abre bem, mas o pyPdf libera com AssertionError

3

Recebi um PDF em um e-mail e quero recortar e girá-lo porque ele tem duas páginas por folha. Experimentando as soluções em Divida páginas em pdf Eu tive problemas com "AssertionError" em pyPDF e "Aviso: operador de fluxo não terminado por EOL válido." no ImageMagick. pdftk parece estar preso em um loop infinito e nunca termina de processar o arquivo.

Este é o erro 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

Eu tentei abri-lo no Adobe Reader e salvar uma cópia, mas o arquivo acabou sendo o mesmo.

O arquivo abre bem para visualização em evince , no Adobe Reader e no Google Drive.

Alguma ideia de como corrigir o arquivo para que ele possa ser lido por pyPdf ?

    
por Elton Carvalho 10.07.2013 / 21:18

1 resposta

0

Use pypdf2 com pdf mode strict = false

    
por 22.08.2013 / 18:16

Tags