11
votes

Python à lire des fichiers PDF

J'ai trouvé de nombreux postes où des solutions à lire des PDF ont été proposées. Je veux lire un mot de fichier PDF par mot et faire un certain traitement dessus. Les gens suggèrent pdfminer qui convertit tout le fichier PDF en fichier texte. Mais ce que je veux, c'est que pour lire le mot PDFS par mot. Quelqu'un peut-il suggérer une bibliothèque qui fait cela?


0 commentaires

3 Réponses :



6
votes

J'utilise PDFminer et c'est une excellente liberme surtout si vous êtes une programmation à l'aise à Python. Il lit pdf et extrait chaque personnage, et il fournit sa boîte à bornes en tant que tuple (X0, Y0, X1, Y1). PDFMiner extraire des rectangles, des lignes et des images et essaiera de détecter des mots. Il a une routine désagréable O (N ^ 3) qui analyse les boîtes de liaison pour les coopérer, il peut donc être très lent sur certains fichiers. Essayez de convertir votre fichier typique - peut-être qu'il sera rapide pour vous, ou peut-être que cela prendra 1 heure, dépend du fichier.

Vous pouvez facilement jeter un fichier PDF en tant que texte, c'est la première chose à suivre pour votre application. Vous pouvez également rejeter XML (voir ci-dessous), mais vous ne pouvez pas modifier PDF. XML est la représentation la plus complète du PDF que vous pouvez en sortir.

Vous devez lire les exemples pour l'utiliser dans votre code Python, il n'a pas beaucoup de documentation.

L'exemple fourni avec PDFminer qui transforme PDF en XML montre mieux comment utiliser la libère dans votre code. Cela vous montre également ce qui est extrait dans la forme lisible par l'homme (jusqu'à XML Going).

Vous pouvez l'appeler avec des paramètres qui lui disent d'analyser le PDF. Si vous le faites, cela va coferez des lettres en blocs de texte (mots et phrases; phrases aura des espaces, il est donc facile de goûter à des mots en Python).


0 commentaires

1
votes

alors que j'ai vraiment aimé la réponse pdfminer, je dirais que les paquets ne sont pas les mêmes au fil du temps. Currenlty Pdfminer ne supporte toujours pas Python3 et peut être mis à jour. Donc, pour mettre à jour le sujet -Even si une réponse a déjà été votée - je proposerais d'aller PDFRW , du site Web:

  • La version 0.3 est testée et fonctionne sur Python 2.6, 2.7, 3.3, 3.4 et 3.5 Les opérations comprennent la sous-formulation, la fusion, la rotation, la modification de métadonnées, etc.
    • L'analyseur PDF python PTHON le plus rapide disponible a été utilisé depuis des années par une imprimante dans la production de pré-presse
    • peut être utilisé avec RST2PDF pour reproduire fidèlement des images vectorielles
    • peut être utilisé soit autonome, soit en conjonction avec ReportLab pour réutiliser les PDF existants dans les nouveaux
    • licencié permissivement

1 commentaires

PDFRW n'a pas vraiment toutes les pièces qu'il doit creuser dans le flux de texte, bien qu'il y ait le début de cela dans le sous-répertoire des exemples / RL2.