Parcourir la structure PDF interne


18

Comment parcourir la structure PDF interne dans Adobe 9.0?

Je n'ai pas trouvé le menu avancé qui a cette option.

Un corps peut-il m'aider?

pdf 

Réponses:


23

Il existe plusieurs façons de parcourir la structure interne d'un PDF.

Les fichiers PDF sont un peu lisibles par l'homme

À l'exception des mots de passe de sécurité, une grande partie est lisible par l'homme. Si un PDF a un mot de passe, toutes les chaînes et flux (qui seront déjà compressés, aucune perte) seront des ordures pseudo-aléatoires. Les flux de données compressés abondent, mais une grande partie ressemble à ceci dans votre éditeur de texte préféré:

2 0 obj
<< /Type /Page 
   /MediaBox [0 0 612 792]
   /Contents 4 0 R
   /Resources << /Fonts 
     << /F1 5 0 R>> 
   >>
>>
endobj

Avertissement: les espaces blancs ne sont pas pertinents et sont généralement supprimés lorsque cela est possible. Je viens de rendre cela joli pour faciliter la compréhension un peu.

<< et >> commencent et terminent les "dictionnaires". Les dictionnaires sont constitués de paires clé / valeur. La clé est toujours un "nom": tous les noms commencent par '/'. La valeur peut être n'importe quoi, y compris un autre nom.

[ et ] commencent et terminent les "tableaux". Les tableaux peuvent être constitués de presque tout.

Les nombres sont des "nombres". Virgule flottante ou autre.

() et <> commencent et terminent les "chaînes". Les chaînes <> sont répertoriées sous forme de valeurs hexadécimales, () sont des chaînes ANSI.

Pet Peeve: / Les noms et (chaînes) utilisent des systèmes d'échappement entièrement différents. Grr.

Les références indirectes pointent vers d'autres objets dans le PDF:
<objNum> <generationNum-AlwaysZero> R

Dans l'exemple ci-dessus, le flux de contenu se trouve dans l'objet 4, ailleurs dans le PDF. Pour le trouver, vous pouvez utiliser la recherche de texte de votre éditeur pour "N 0 obj" où N est le numéro d'objet que vous souhaitez.
AVERTISSEMENT: il y a des centaines, voire des milliers d'objets dans un PDF. La recherche de "1 0 obj" vous donnera BEAUCOUP de hits.

Étant donné que vous demandez à voir la structure interne, vous savez probablement déjà tout cela. D'autres qui veulent savoir la même chose peuvent ne pas le faire.

AVERTISSEMENT: N'EDITEZ PAS un PDF dans un éditeur de texte. Tous ces éléments binaires seront altérés, les décalages d'octets sont très importants en PDF.

Plugin (s) Acrobat

Il existe un plugin acrobate appelé PDF CanOpener par Windjack Solutions (sans affiliation). C'est SLICK. Vous pourrez parcourir la structure PDF sous forme d'arborescence, regarder (et modifier) ​​les flux de contenu, etc.

Applications tierces

Beaucoup. Beaucoup de gens en construisent un dans le cadre de l'apprentissage de l'analyse PDF ou comme outil de débogage. Ils sont assez pratiques.

iText RUPS (partie d'iText, une bibliothèque Java PDF, maintenant sur GitHub)

Navigateur d'objets PDF

PDF Campagnol


1
PDF Volele lien semble rompu maintenant ...
DNA

5
+1 pour iText RUPS, pas précisément une interface graphique conviviale mais qui fonctionne, à l'heure actuelle, l'URL du projet semble être ( sourceforge.net/projects/itextrups )
Jaime Hablutzel

2
iText RUPS a été déplacé ici: github.com/itext/rups
bmaupin

1
Il y a une copie du code source de pdfvole ici: github.com/Rossi1337/pdf_vole
yms

1
Si le PDF contient des flux de données compressés, l'utilitaire de ligne de commande qpdf peut les décoder / dégonfler et écrire un PDF avec un contenu plus intelligible: `qpdf --decode-level = all --stream-data = uncompress inputfile.pdf Expandfile. pdf
skierpage




2

L' éditeur PDF-XChange gratuit dispose d'un panneau Contenu qui vous permet de visualiser l'arborescence du fichier PDF.

View -> Panes -> Content

2

PDF Le campagnol semble rompu. Si quelqu'un est toujours à la recherche d'un outil, j'utilise l' analyseur PDF gratuit .

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.