L'art de réparer les fichiers PDF endommagés
J'ai parfois eu un peu de choc quand je voulais ouvrir un fichier PDF et le visualiseur ne montrait qu'un message d'erreur. Dans certains cas, cependant, la visionneuse peut enregistrer le fichier et le réparer, mais souvent pas. Cette expérience m'a fait penser à un outil de réparation.
Il peut y avoir diverses raisons pour qu'un fichier PDF soit corrompu ou endommagé. Voici le plus commun :
Erreurs systématiques causées par un mauvais créateur ou un mauvais logiciel de traitement
Modification non souhaitée du flux PDF causée par les logiciels de stockage et de communication (par exemple le mode ASCII de Source Safe, FTP, etc.).
Perte de données ou corruption par une ligne de communication peu fiable ou un plantage de disque
Si l'outil de réparation est conscient de la nature de la corruption, il peut effectuer des corrections spécifiques :
Erreurs systématiques : Si le logiciel créateur est connu, l'outil de réparation peut trouver et corriger les erreurs typiques telles que les entrées obligatoires manquantes, systématiquement de mauvaises structures d'objets, telles que les noms au lieu de chaînes, les polices mal formatées, et autres.
Modification non souhaitée : un fichier PDF peut être créé en mode ASCII. Si c'est le cas alors les modifications telles que l'insertion de lignes cassées ou le remplacement des retours chariots par le retour chariot combiné / alimentation de ligne ne sont pas essentielles. Si le fichier PDF est créé en mode binaire, alors les objets de flux ne pourront probablement pas être récupérés.
Perte de données ou corruption : dans ce cas, le fichier ne peut pas être réparé et les informations qui sont toujours valides telles que les pages numérisées, etc. peut être récupéré et mis dans un nouveau fichier de sortie.
Un outil de réparation procède généralement en deux étapes:
Analyse : Vérifiez l'en-tête du fichier et la bande-annonce, vérifiez la table de renvoi, vérifier les objets individuels, vérifier l'objet racine, l'arborescence de la page et les structures de données connexes
Si l'analyse montre que l'objet racine peut être trouvé et que l'arborescence des pages est intacte, alors il peut réparer le fichier. Dans le cas contraire, il doit récupérer le plus possible du fichier et en créer un nouveau.
Un des dommages les plus souvent trouvés est une table de référence croisée non valide. En général, ce n'est pas critique et l'outil peut le récupérer en scannant le fichier et le recompiler à partir de l'objet trouvé. S'il y a des objets redondants, le dernier sera utilisé.
La réparation de la structure de l'objet PDF est assez directe. Certaines de ces erreurs ne sont pas critiques comme une entrée /Type /Page manquante dans un noeud de page. L'outil peut juste ajouter l'entrée manquante. Cependant, une entrée /BBox [...] manquante dans une Objet X est fatal et l'outil doit soit essayer de le récupérer à partir des graphiques qu'il contient, soit même supprimer l'objet.
Les flux compressés, tels que les polices intégrées, les profils de couleurs ICC, les données d'image, etc. sont difficiles à récupérer s'ils ont été endommagés. Certains algorithmes de compression sont plus robustes que d'autres. Parfois, un flux, comme des données d'image, peut être récupéré en partie. L'outil peut ensuite remplacer les pièces manquantes par des pixels de couleur blanche.
Les programmes de police mal formatés se produisent très souvent. Dans la plupart des cas, elles peuvent être reformatées et corrigées. Sinon, ils doivent être réintégrés à partir de la police originale. Si la police n'est pas disponible, elle doit soit être remplacée par une police similaire, soit être supprimée.
Les cas ci-dessus ne sont qu'une courte liste d'exemples mais bien sûr une réparation complète pour pouvoir faire beaucoup plus.