Raclage de PDF à l'aide de R

J'utilise avec succès le package xml pour extraire des tableaux HTML, mais je souhaite l'étendre aux fichiers PDF. Des questions précédentes, il ne semble pas qu’il existe une solution simple, mais on s’est demandé s’il y avait eu des développements récents.

A défaut, existe-t-il un moyen en Python (dans lequel je suis un novice complet) d’obtenir et manipuler pdfs afin que je puisse terminer le travail avec le paquet R XML

10

4 Réponses

Extraire du texte à partir de fichiers PDF est difficile et nécessite presque toujours beaucoup de soin.

Je commencerais par les outils en ligne de commande, tels que pdftotext, pour voir ce qu'ils ont craché. Le problème est que les PDF peuvent stocker le texte dans n’importe quel ordre, peuvent utiliser des codages de police maladroits et peuvent faire des choses comme utiliser des caractères de ligature (les "ff" et "ij" réunis que vous voyez dans la composition correcte) pour vous lancer.

pdftotext est installable sur n'importe quel système Linux ...

10
ajouté
Bien pdftotext fonctionne bien pour produire une page de texte propre, mais ce n’est pas sous une forme quelconque pour créer facilement ce que je veux. Merci quand même
ajouté l'auteur pssguy, source
Détaché Le faire dans R ne vaut pas l'effort de n'importe qui de développer et de maintenir, quand il y a des options bien mieux gérées en dehors de R. Si vous avez besoin de faire beaucoup de fichiers, essayez d'utiliser find utilitaire sous Unix (ou dans la collection GNU pour Windows), ou on peut avoir R pour envoyer des commandes au shell, en boucle sur les noms de fichiers ... Même Adobe a longtemps eu un terrible extracteur de texte (je ne sais pas si c'est mieux maintenant) , alors que Xerox en avait un bon.
ajouté l'auteur Iterator, source
Pouvez-vous nous indiquer un fichier PDF représentatif?
ajouté l'auteur Spacedman, source
Exécuter pdftotext n’est pas brillant sur cette page, mais convertir en ps en premier ou simplement ps2txt sur le PDF produit un tableau presque parfait avec quelques têtes/pieds de page à supprimer.
ajouté l'auteur Spacedman, source
J'ai aussi eu de la chance avec pdftotext sur Windows
ajouté l'auteur pguardiario, source

Vous voudrez peut-être consulter le package d'exploration de texte tm . Je me souviens qu'ils ont implémenté ce que l'on appelle des lecteurs, et il y en avait aussi un pour les PDF.

5
ajouté
Merci. j'ai vérifié docs. Utilise pdftotext en quelque sorte
ajouté l'auteur pssguy, source

Selon mes connaissances, il n’est pas facile de transformer les tableaux PDF en un outil utile pour l’analyse de données. Vous pouvez utiliser l'utilitaire fichier en texte de de Data Science (interface R via l'interface RDSTK ), puis analysez le texte obtenu. Soyez averti: l'analyse est souvent non triviale.


EDIT: Il existe une discussion utile sur la conversion de fichiers PDF en xml sur discerning.com . La réponse courte est que vous devrez probablement acheter un outil commercial.

4
ajouté
+1 Merci pour cela. J'ai vérifié la discussion et essayé de télécharger le produit ABBYY à l'essai mais cela ne s'est pas déroulé correctement. Suppose que je suis condamné
ajouté l'auteur pssguy, source

Le cœur de l'application tabula permettant d'extraire des tableaux à partir de documents PDF est disponible sous la forme d'une simple application Java en ligne de commande, tabula-extractor .

Cette application Java a été encapsulée dans R par le package tabulizer . Transmettez-lui le chemin d'accès à un fichier PDF et il essaiera d'extraire les tables de données pour vous et de les renvoyer sous forme de données.

Pour un exemple, voir Lorsque les documents deviennent des bases de données - Tabulizer R Wrapper pour l'extracteur de table PDF Tabula .

1
ajouté