Como posso corrigir / reparar um arquivo PDF corrompido?

71

Alguém tem alguma recomendação ou procedimento para reparar um PDF corrompido? Quando eu abro o arquivo eu recebo "Houve um erro ao abrir este documento. O arquivo está danificado e não pode ser reparado." Parece haver uma miríade de ferramentas por aí, mas nenhuma que eu possa descrever como respeitável. Existe alguma solução baseada em Linux de código aberto para isso?

    
por Tim Alexander 03.05.2011 / 16:35

4 respostas

87

Ghostscript irá reparar o seu PDF corrompido automaticamente ... se ele puder abri-lo em primeiro lugar (isto é, se ele não estiver danificado além do reparo). Mas depois você ainda precisará verificar o resultado ...

No Linux, tente este comando:

 gs \
  -o repaired.pdf \
  -sDEVICE=pdfwrite \
  -dPDFSETTINGS=/prepress \
   corrupted.pdf

No Windows, tente este:

 gswin32c.exe ^
  -o repaired.pdf ^
  -sDEVICE=pdfwrite ^
  -dPDFSETTINGS=/prepress ^
   corrupted.pdf
    
por 11.05.2011 / 14:47
28

Eu tinha um arquivo PDF corrompido, print.pdf , que o Ghostscript não conseguiu abrir, mas os usuais visualizadores gráficos de PDF do Linux (Okular, Evince) abriram bem. (No meu caso, o arquivo tinha lixo no início, em vez de um cabeçalho PDF, quando aberto em um editor hexadecimal.)

Esses visualizadores de PDF usam o Poppler como um renderizador PDF de back-end. Assim, você pode reparar o PDF usando as ferramentas de linha de comando do Poppler. No Ubuntu, estes estão no pacote poppler-utils . Eu usei:

pdftocairo -pdf print.pdf print_repaired.pdf

que gerou um arquivo PDF com cabeçalhos corretos, que ferramentas como o Ghostscript agora aceitam.

    
por 18.06.2013 / 04:01
18

mutool ( página do projeto , manpage ) reparará PDFs quebrados sem imprimi-los .

  • Instalação, por exemplo no Ubuntu: sudo apt-get install mupdf-tools
  • Execute assim: mutool clean input.pdf output.pdf
mutool clean [options] input.pdf [output.pdf] [pages]

  The clean command pretty prints and rewrites the syntax of a PDF file.
   It can be used to repair broken files, expand compressed streams,
   filter out a range of pages, etc.
  If no output file is specified, it will write the cleaned PDF to
   "out.pdf" in the current directory.

Como alternativa, existem algumas ferramentas e estruturas que podem decompor / descompilar PDFs em seus componentes sem processá-los. Estes podem ser úteis para extrair texto, scripts e imagens. Veja esta resposta para obter uma lista dessas ferramentas: link . Por exemplo. você pode tentar a resposta principal atual Origami , ele tem um visualizador baseado em GTK.

    
por 04.06.2015 / 16:45
9

Eu tinha um arquivo pdf corrompido, porque o arquivo php usado para fazer o download ecoava alguns erros (em HTML) e caracteres NUL no final.

A solução foi abrir o pdf com o Notepad ++ e remover todo o texto após a linha

%%EOF
    
por 29.01.2014 / 13:54