Question

Pour un petit projet, je dois analyser des fichiers pdf et en prendre une partie spécifique (une simple chaîne de caractères). Pour ce faire, j'aimerais utiliser python et j'ai trouvé plusieurs bibliothèques capables de faire ce que je veux à certains égards.

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 ailleurs en ligne? J'ai trouvé un lien sur adobe mais il semble que ce soit un lien mort: (

Était-ce utile?

La solution

Voici un lien vers la documentation de référence d'Adobe

http://www.adobe.com/devnet/pdf/pdf_pdf_reference.html

Vous devez savoir cependant que le format PDF concerne uniquement la présentation, pas la structure. L'analyse ne viendra pas facilement.

Autres conseils

Lorsque j'ai commencé à travailler avec PDF, j'ai trouvé la référence au format PDF très difficile à naviguer. Cela vous aidera peut-être à savoir que la synthèse de la structure de fichier se trouve dans la syntaxe et que la structure de document que Adobe appelle est la structure d'objet et non la structure de fichier. Cela se trouve également dans la syntaxe. La description des opérateurs est masquée dans l’Annexe A - très utile pour comprendre ce qui se passe dans les flux de contenu. Si vous avez déjà la peine de travailler avec des espaces colorimétriques, vous le trouverez caché dans Graphics! Espérons que ces indications vous aideront à trouver des choses plus rapidement que moi.

Si vous utilisez Windows, pdftron CosEdit vous permet de parcourir la structure d'objet pour la comprendre. Une démo gratuite vous permet d’examiner le fichier sans le sauvegarder.

J'ai trouvé la Introduction à PDF de GNU . être utile dans la compréhension de la structure. Il comprend un facilement lisible exemple de fichier PDF qu’ils décrivent en détail.

Autres liens utiles:

Voici la référence de PDF 1.7 brute, et voici un article. décrivant la structure d'un fichier PDF . Si vous utilisez Vim, le plug-in pdftk est un bon moyen d'explorer le document en une forme toujours moins crue et l’utilitaire pdftk lui-même (et sa source GPL) est un excellent moyen de démêler des documents.

J'essaie de faire à peu près la même chose. La référence PDF est un document très difficile à lire. Ce tutoriel est un meilleur départ, à mon avis.

Cela peut aider à éclairer un peu: (à partir de la page 11 de PDF32000.book)

  

La syntaxe PDF est mieux comprise en la considérant comme quatre parties, comme illustré dans la figure 1:

     

& # 8226; 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.     Clause 7.2, "Conventions lexicales", décrit le jeu de caractères utilisé pour écrire des objets et autres    éléments syntaxiques. Sous-clause 7.3, "Objets", décrit la syntaxe et les propriétés essentielles des objets.   Sous-clause 7.3.8, "Objets de flux", fournit des détails complets sur le type de données le plus complexe, le flux   objet.

     

& # 8226; Structure du fichier. La structure du fichier PDF détermine comment les objets sont stockés dans un fichier PDF, comment ils sont stockés.     consultés et comment ils sont mis à jour. Cette structure est indépendante de la sémantique des objets. Sous-    clause 7.5, "Structure de fichier", décrit la structure du fichier. Paragraphe 7.6, "Chiffrement," décrit un niveau de fichier   mécanisme de protection du contenu d'un document contre tout accès non autorisé.

     

& # 8226; Structure du document. La structure du document PDF spécifie comment les types d’objets de base sont utilisés pour:     représentent des composants d'un document PDF: pages, polices, annotations, etc. Sous-clause 7.7,    " Structure du document, " décrit la structure générale du document; les clauses ultérieures traitent de la   sémantique des composants.

     

& # 8226; Flux de contenu. Un flux de contenu PDF contient une séquence d'instructions décrivant l'apparence de     une page ou une autre entité graphique. Ces instructions, bien que représentées également en tant qu’objets, sont conceptuellement    distincts des objets représentant la structure du document et décrits séparément. Sous-clause   7.8, "Flux de contenu et ressources", discute des flux de contenu PDF et de leurs ressources associées.

On dirait que la navigation dans un fichier PDF nécessitera un peu plus que de simples efforts.

Si vous souhaitez analyser un fichier PDF à l'aide de Python, consultez PDFMINER . . C’est la meilleure bibliothèque pour analyser les fichiers PDF jusqu’à la date.

Extraire du texte à partir de PDF est un problème difficile, car PDF possède une telle structure orientée mise en forme. Vous pouvez voir la la documentation et le code source de ma tentative à peine réussie sur CPAN (ma l'implémentation est en Perl). La structure de données PDF est très chouette et bien conçue, mais il est plus facile d’écrire que de lire.

Un moyen d’obtenir des indices consiste à créer un fichier PDF constitué d’une page vierge. J'ai CutePDF Writer sur mon ordinateur et j'ai créé un document Wordpad vierge d'une page. Imprimé dans un fichier .pdf, puis ouvert le fichier .pdf à l'aide du Bloc-notes.

Ensuite, utilisez une copie de ce fichier et éliminez les lignes ou les blocs de texte pouvant vous intéresser, puis rechargez-le dans Acrobat Reader. Vous seriez surpris du peu d’informations nécessaires pour créer un document PDF de travail d’une page.

J'essaie de créer un tableur pour créer un formulaire PDF à partir de code.

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

Sous Windows, j’ai utilisé un outil gratuit, PDF Analyzer , pour afficher la structure interne de Fichiers PDF.  Cela vous aidera à mieux comprendre le manuel de référence.

 entrer la description de l'image ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top