Je cherche une bibliothèque PDF qui me permettra d'extraire le texte d'un document PDF. J'ai regardé PyPDF, et cela peut très bien extraire le texte d'un document PDF. Le problème avec ceci est que s'il y a des tables dans le document, le texte dans les tables est extrait en ligne avec le reste du texte de document. Cela peut être problématique car il produit des sections de texte qui ne sont pas utiles et qui semblent brouillées (par exemple, beaucoup de nombres écrasés ensemble). Je cherche quelque chose qui est un peu plus avancé. Je voudrais extraire le texte d'un document PDF, en excluant des tableaux et des mises en forme spéciales. Y a-t-il une bibliothèque là-bas? Ou suis-je obligé de faire un post-traitement sur le texte de sortie pour me débarrasser de ces sections?Analyse avancée de PDF à l'aide de Python (extraction de texte sans tableaux, etc.): Quelle est la meilleure bibliothèque?
Répondre
Vous pouvez également jeter un oeil à PDFMiner, un autre analyseur PDF en Python. La particularité de PDFMiner qui peut vous intéresser est que vous pouvez contrôler comment il regroupe les parties de texte lors de l'extraction. Vous faites ceci en spécifiant l'espace entre les lignes, les mots, les caractères, etc. Ainsi, peut-être qu'en tweignant ceci vous pouvez réaliser ce que vous voulez (cela dépend de la variabilité de vos documents). PDFMiner peut également vous donner l'emplacement du texte dans la page, il peut extraire des données par Object ID et d'autres choses. Alors creusez dans PDFMiner et soyez créatif!
Mais votre problème n'est vraiment pas facile à résoudre car, dans un PDF, le texte n'est pas continu, mais composé de nombreux petits groupes de caractères positionnés absolument dans la page. L'objectif de PDF est de garder la mise en page intacte. Ce n'est pas orienté contenu mais orienté présentation.
Il s'agit d'un problème difficile à résoudre puisque des fichiers PDF visuellement similaires peuvent avoir une structure extrêmement différente selon la façon dont ils ont été produits. Dans le pire des cas, la bibliothèque devrait essentiellement agir comme une OCR. D'un autre côté, le fichier PDF peut contenir une structure et des métadonnées suffisantes pour faciliter la suppression des tableaux et des figures, que la bibliothèque peut personnaliser pour en tirer parti. Je suis sûr qu'il n'y a pas d'outils open source qui résolvent votre problème pour une grande variété de fichiers PDF, mais je me souviens avoir entendu parler de logiciels commerciaux prétendant faire exactement ce que vous demandez. Je suis sûr que vous les rencontrerez en faisant des recherches sur Google.
PDFMiner semble intéressant. Je peux utiliser la sortie XML de celui-ci, puis analyser cela pour ignorer ce que je ne veux pas. Cela nécessite encore un important post-traitement, mais pour l'instant c'est probablement la meilleure solution. Je vous remercie. –
@Etienne, est-ce que cela peut être utilisé si le PDF a aussi d'autres caractères? –
Il devrait fonctionner avec d'autres caractères de langue. Les docs mentionnent: les langues CJK et le support des scripts d'écriture verticale. La meilleure façon d'être sûr, testez-le! – Etienne