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? P>
3 Réponses :
Peut-être le moyen le plus rapide de le faire est de convertir pour d'abord convertir votre fichier texte inta un fichier texte à l'aide de pdftotext a > (sur le site de PDFMiner, il existe une déclaration que PDFMiner est 20 fois plus lent que PDFTOTEXT) et par la suite analysez le fichier texte comme d'habitude. P>
Aussi, lorsque vous avez dit "Je veux lire un mot de fichier PDF par Word et faire un certain traitement dessus", vous n'avez pas spécifié si vous souhaitez effectuer un traitement en fonction de mots dans un fichier PDF ou de faire en réalité Voulez-vous modifier le fichier PDF lui-même. Si c'est le second cas, vous avez un problème totalement différent sur vos mains. P>
Traitement signifie que je veux utiliser regex sur elle et si elle passe toute la regex, je mettrais dans une base de données ... je construis un moteur de recherche qui recherche tout pdf ..
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. P>
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. P>
Vous devez lire les exemples pour l'utiliser dans votre code Python, il n'a pas beaucoup de documentation. p>
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). P>
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). p>
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: p>
- 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 li>
- peut être utilisé avec RST2PDF pour reproduire fidèlement des images vectorielles li>
- peut être utilisé soit autonome, soit en conjonction avec ReportLab pour réutiliser les PDF existants dans les nouveaux li>
- licencié permissivement li> ul> li> ul> blockQuote>
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.