Question Comment puis-je réparer / réparer un fichier PDF corrompu?


Quelqu'un at-il des recommandations ou des procédures pour réparer un PDF corrompu? Lorsque j'ouvre le fichier que j'obtiens "Une erreur s'est produite lors de l'ouverture de ce document. Le fichier est endommagé et ne peut pas être réparé". Il semble y avoir une myriade d’outils là-bas, mais je ne pourrais pas les qualifier de fiables. Existe-t-il des solutions basées sur open source linux pour cela?


69
2018-05-03 14:35


origine


Les outils PDF Opensource ont tendance à être assez mauvais, j'ai peur. Qu'est-ce que vous utilisez? - Satanicpuppy
Regarde aussi: superuser.com/questions/166999/ - slhck
Je n'ai pas aimé le look d'aucun des outils car ils ressemblaient à la myriade de "Registry Cleaners" là-bas qui sont inutiles. Vous avez essayé Adobe Pro et vous venez de commencer à chercher si Ghostscript ou PDFForge ont des commutateurs de réparation. - Tim Alexander
Ghostscript est correct, mais ce n'est certainement pas mieux qu'Acrobat. Ce sont des os complètement nus. - Satanicpuppy
@Satanicpuppy Je ne suis pas d'accord: J'utilise ghostscript pour reconstruire assez souvent des fichiers PDF endommagés ou de mauvaise qualité et cela fonctionne très bien. - Eddie B


Réponses:


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 après, vous devrez encore 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

83
2018-05-11 12:47



Ghostscript fait un excellent travail de rendu des fichiers PDF ... J'utilise régulièrement gs pour reconstruire les fichiers PDF pour améliorer la qualité des polices. - Eddie B
Le / prépresse rend la qualité vraiment bonne par rapport à / screen. Merci. - Dolanor


J'ai eu un fichier PDF corrompu, print.pdf , que Ghostscript ne pouvait pas s’ouvrir, mais les visionneuses graphiques classiques de PDF (Okular, Evince) s’ouvraient bien. (Dans mon cas, le fichier avait des erreurs au début au lieu d'un en-tête PDF, lorsqu'il était ouvert dans un éditeur hexadécimal.)

Ces visualiseurs PDF utilisent Poppler en tant que moteur de rendu PDF. Ainsi, vous pouvez réparer le fichier PDF en utilisant les outils de ligne de commande de Poppler. Dans Ubuntu, ils sont dans le 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, des outils comme Ghostscript maintenant acceptés.


28
2018-06-18 02:01



+1 lire mon PDF généré par Quartz sans se plaindre, et a immédiatement commencé à générer des résultats. Ghostscript, Adobe Acrobat Pro et d'autres ont insisté pour reconstruire d'abord mon pdf de 120 Go. - Orwellophile
Cela n'a pas fonctionné pour au moins un PDF étrange que j'ai rencontré, mais cela semble être un bon début. - Brian Peterson
Fonctionne parfaitement sur un PDF sur lequel Ghostscript voulait supprimer certains éléments arbitraires sur les pages. - Andrea Lazzarotto
Ghostscript n'a pas réussi à lire le document mais cela a fonctionné comme un charme. BTW je l'ai fait sur Windows en utilisant le nouveau sous-système Linux, tellement cool! - HyLian


mutool (page du projet, page de manuel) va réparer les PDF brisés sans les imprimer.

  • Installation, par ex. 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.

Alternativement, il existe quelques outils et frameworks qui peuvent décomposer / décompiler les PDF dans leurs composants sans les rendre. Celles-ci pourraient être utiles pour extraire du texte, des scripts et des images. Voir cette réponse pour une liste de ces outils: https://reverseengineering.stackexchange.com/q/1526/8210. Par exemple. vous pouvez essayer la réponse top actuelle Origami, il a un visualiseur basé sur GTK.


18
2018-06-04 14:45



Cette solution fonctionne « mieux » que les solutions proposées ci-dessus ou mieux classé, comme il le fait pas « imprimer » le fichier PDF et conserve actifs les liens, les éléments cliquables, etc ... Pour moi, cela semble une solution plus élégante que d'utiliser Ghostscript ou le Caire. - Speredenn
Malheureusement, mutool clean ne corrige pas toutes les erreurs possibles. J'ai un fichier qui contient diverses erreurs dans les flux de polices et de contenu, et mutool conservera ces erreurs. - Dominik Honnef
@DominikHonnef Vous pouvez toujours essayer des outils / cadres qui se décomposent le PDF et vous permettent de visualiser toutes les parties sans les rendre. Cela devrait vous permettre d’obtenir directement du texte, des scripts, des images, etc. Voir cette réponse pour une liste d'outils: reverseengineering.stackexchange.com/q/1526/8210 - jmiserez
Seule chose qui a fonctionné pour moi! - jamadagni
Cela a mieux fonctionné, car cela ne rend pas le pdf qu'il examine le document. - riccs_0x


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

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

%%EOF

9
2018-01-29 12:54



avait même, Adobe Reader ne s'est pas ouvert, mais le plug-in PDF natif de Mac, Chrome et Firefox PDF affiché correctement. La raison était aussi un "NUL" supplémentaire à la dernière ligne ajoutée pendant le téléchargement. - Tilo
J'ai eu un PDF avec deux %%EOF. J'ai tout supprimé après le premier %%EOF en utilisant un éditeur hexadécimal. Maintenant, tout fonctionne bien. - Adrian