123 votes

Comment fixer/réparer un fichier PDF corrompu ?

Quelqu'un a-t-il des recommandations ou des procédures pour réparer un PDF corrompu ? Lorsque j'ouvre le fichier, je reçois le message suivant : "Il y a eu une erreur lors de l'ouverture de ce document. Le fichier est endommagé et ne peut pas être réparé". Il semble qu'il existe une myriade d'outils, mais aucun que je pourrais qualifier de réputé. Existe-t-il des solutions open source basées sur Linux pour ce genre de problème ?

141voto

Kurt Pfeifle Points 11465

Ghostscript réparera automatiquement votre PDF corrompu... s'il peut l'ouvrir en premier lieu (c'est-à-dire s'il n'est pas endommagé au-delà de toute réparation). Mais vous devrez ensuite vérifier le résultat...

Sous Linux, essayez cette commande :

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

Sous Windows, essayez celui-ci :

 gswin32c.exe ^
  -o repaired.pdf ^
  -sDEVICE=pdfwrite ^
  -dPDFSETTINGS=/prepress ^
   corrupted.pdf

61voto

ricafeal Points 801

J'avais un fichier PDF corrompu, print.pdf que Ghostscript ne pouvait pas ouvrir, mais que les visualisateurs graphiques habituels de PDF de Linux (Okular, Evince) ouvraient bien. (Dans mon cas, le fichier avait des déchets au début au lieu d'un en-tête PDF, lorsqu'il était ouvert dans un éditeur hexagonal).

Ces visionneurs de PDF utilisent Poppler comme moteur de rendu de PDF. Vous pouvez donc réparer le PDF en utilisant les outils de ligne de commande de Poppler. Dans Ubuntu, ces outils se trouvent dans le répertoire poppler-utils paquet. J'ai utilisé :

pdftocairo -pdf print.pdf print_repaired.pdf

qui a généré un fichier PDF avec des en-têtes corrects, que des outils comme Ghostscript acceptent désormais.

40voto

Kelly Anderson Points 200

mutool ( page du projet , page d'accueil ) réparera les PDF cassés sans les imprimer .

  • Installation par exemple sur Ubuntu : sudo apt-get install mupdf-tools
  • Exécutez-le comme ceci : 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.

Il existe également quelques outils et cadres qui peuvent décomposer/décompiler les PDF en leurs composants sans les rendre. Ils pourraient être utiles pour extraire du texte, des scripts et des images. Voir cette réponse pour une liste de tels outils : https://reverseengineering.stackexchange.com/q/1526/8210 . Vous pouvez par exemple essayer la réponse la plus fréquente. Origami il dispose d'une visionneuse basée sur GTK.

13voto

Oriol Points 1389

J'avais un fichier pdf corrompu, car le fichier php utilisé pour le télécharger renvoyait des erreurs (en HTML) et des caractères NUL à la fin.

La solution a été d'ouvrir le pdf avec Notepad++ et de supprimer tout le texte après la ligne

%%EOF

1voto

golimar Points 1172

Puisque Chrome, Chromium et Firefox peuvent ouvrir des PDF et peuvent également imprimer en PDF, cela peut fonctionner s'ils peuvent le rendre correctement. Cela peut aussi être utilisé pour modifier le format, le nombre de pages, etc.

LibreOffice peut également lire et écrire des fichiers PDF.

GIMP peut également lire et écrire des fichiers PDF, bien que ce ne soit pas l'application la plus pratique lorsqu'il s'agit de documents de plusieurs pages.

En règle générale, si l'une de vos applications installées peut ouvrir le fichier PDF corrompu et si vous avez installé une imprimante "Print to PDF", tout va bien.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X