85 votes

Structure d'un fichier PDF ?

Pour un petit projet, je dois analyser des fichiers pdf et en prendre une partie spécifique (une simple chaîne de caractères). J'aimerais utiliser python pour faire cela et j'ai trouvé plusieurs bibliothèques qui sont capables de faire ce que je veux d'une certaine manière.

Mais maintenant, après quelques recherches, je me demande quelle est la structure réelle d'un fichier pdf. Quelqu'un sait-il s'il existe une spécification ou des explications en ligne ? J'ai trouvé un lien sur adobe mais il semble que ce soit un lien mort :(

6voto

Josh Albert Points 39

Ceci peut aider à faire la lumière : (de la page 11 de PDF32000.book)

La syntaxe du PDF est mieux comprise si on la considère comme composée de quatre parties, comme le montre la figure 1 :

- Des objets. Un document PDF est une structure de données composée d'un petit ensemble de types de base d'objets de données. La sous-clause 7.2, " Conventions lexicales ", décrit le jeu de caractères utilisé pour écrire les objets et autres éléments syntaxiques. éléments syntaxiques. La sous-clause 7.3, "Objets", décrit la syntaxe et les propriétés essentielles des objets. La sous-clause 7.3.8, "Stream Objects", fournit des détails complets sur le type de données le plus complexe, le stream de flux.

- Structure du fichier. La structure du fichier PDF détermine la manière dont les objets sont stockés dans un fichier PDF, comment ils sont comment ils sont accessibles et comment ils sont mis à jour. Cette structure est indépendante de la sémantique des objets. Sous- clause 7.5, "Structure des fichiers", décrit la structure des fichiers. La sous-clause 7.6, "Cryptage", décrit un mécanisme de protection du pour protéger le contenu d'un document contre tout accès non autorisé.

- Structure du document. La structure du document PDF spécifie comment les types d'objets de base sont utilisés pour représenter les composants d'un document PDF : pages, polices, annotations, etc. La sous-clause 7.7, "Structure du document", décrit la structure globale du document ; les clauses suivantes traitent de la sémantique détaillée des composants. sémantique détaillée des composants.

- Flux de contenu. Un flux de contenu PDF contient une séquence d'instructions décrivant l'apparence d'une page ou d'une autre entité graphique. une page ou une autre entité graphique. Ces instructions, bien qu'elles soient également représentées sous forme d'objets, sont conceptuellement distinctes des objets qui représentent la structure du document et sont décrites séparément. distinctes des objets qui représentent la structure du document et sont décrites séparément. Sous-clause 7.8, "Flux de contenu et ressources", traite des flux de contenu PDF et de leurs ressources associées.

Il semble que la navigation dans un fichier PDF nécessitera un peu plus qu'un simple effort.

5voto

codingscientist Points 425

Si vous souhaitez analyser des PDF à l'aide de Python, veuillez consulter le site suivant PDFMINER . C'est la meilleure bibliothèque pour analyser les fichiers PDF à ce jour.

4voto

Peter Teoh Points 1001

3voto

juFo Points 3779

Vous avez besoin du manuel de référence PDF pour commencer à lire les détails et la structure des fichiers PDF. Je vous suggère de commencer par la version 1.7.

Sous Windows, j'ai utilisé un outil gratuit Analyseur de PDF pour voir la structure interne des fichiers PDF. Cela vous aidera à mieux comprendre lorsque vous lirez le manuel de référence.

enter image description here

(Je suis affilié à PDF Analyzer, aucune intention de faire de la promotion)

2voto

Chris Dolan Points 5435

L'extraction de texte à partir de PDF est un problème difficile car les PDF ont une structure très orientée vers la mise en page. Vous pouvez voir le documentation et code source de ma tentative à peine réussie sur CPAN (mon implémentation est en Perl). La structure de données PDF est très cool et bien conçue, mais elle est plus facile à écrire qu'à lire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X