Question:
Comment convertir un fichier pdf en fichier texte?
Juan A. Navarro
2010-09-22 17:30:47 UTC
view on stackexchange narkive permalink

Existe-t-il un moyen simple d'extraire du texte brut d'un fichier pdf?

Sur les systèmes * nix, j'avais une commande ps2ascii qui ferait l'affaire, mais elle semble que cette commande n'est pas installée par défaut sur mon Mac.

Quel serait le moyen le plus simple d'extraire du texte d'un fichier pdf ou, alternativement, comment obtenir ps2ascii sur mon système?

Six réponses:
#1
+5
ghoppe
2010-09-24 00:50:03 UTC
view on stackexchange narkive permalink

Adobe Reader a une option "Enregistrer sous forme de texte…" dans le menu Fichier. Moyen le plus simple.

Merci! C'est de loin la solution la plus simple, elle a pu gérer mon énorme fichier sans aucun problème et a produit une sortie texte raisonnablement propre et utilisable.
Oui, c'est la sortie la plus simple, mais pas toujours la plus propre. v7 produit le meilleur, mais les choses se détraquent avant et après cela. Une partie de mon travail consiste à fournir des versions en texte brut des manuels universitaires aux étudiants handicapés. J'ai beaucoup d'expérience dans ce domaine, et c'est pourquoi je recommande Ghostscript si vous recherchez l'option gratuite.
-1
#2
+4
Philip Regan
2010-09-22 18:51:28 UTC
view on stackexchange narkive permalink

ps2ascii fait partie de Ghostscript, qui peut être installé sur Mac OS X (et peut-être déjà par défaut depuis l'usine).

Ghostscript n'est pas inclus avec OSX. L'une des méthodes répertoriées ci-dessous serait heureuse de l'installer.
Je ne sais pas si je le pousse trop, mais pouvez-vous me donner des détails sur ce que je dois installer et comment? (Avertissement complet: je suis un utilisateur assez expérimenté et j'ai déjà réussi à l'installer, mais sur la phase bêta de ce site, j'aimerais voir combien de détails et d'informations devons-nous attendre des personnes qui donnent des réponses.)
Je pense qu'une question comme celle-là sortirait du cadre de SE car il existe déjà des documents très détaillés disponibles sur leur site. Une question plus appropriée dans ce cas, pour autant que je la vois, serait de publier une question relative à l'installation après avoir essayé de l'installer, l'installation échoue après des tentatives répétées et la recherche sur le Web ne donne que peu ou pas de réponses.
#3
+2
Martin Marconcini
2010-09-22 18:24:41 UTC
view on stackexchange narkive permalink

Je ne connais aucun utilitaire natif d'OS X qui fasse cela, cependant, vous pouvez installer la plupart des commandes unix / linux avec l'une de ces trois méthodes:

Homebew: Homebrew est le moyen le plus simple et le plus flexible d'installer les outils UNIX qu'Apple n'a pas inclus avec OS X.

Fink: The Fink veut apporter le monde complet des logiciels Open Source Unix à Darwin et Mac OS X.

Macports: Le projet MacPorts est une initiative communautaire open-source visant à concevoir un logiciel facile- système à utiliser pour la compilation, l'installation et la mise à niveau de logiciels open source basés sur la ligne de commande, X11 ou Aqua sur le système d'exploitation Mac OS X.

Homebrew est le «petit nouveau sur le bloc» et promet de résoudre les «problèmes et limitations» des deux autres (quels que soient ces problèmes). Je vous suggère de les examiner tous et d'utiliser ce que vous considérez comme le plus flexible / simple pour vos besoins.

Il existe cependant une application (Payware) qui utilisé pour faire ça (je ne sais pas si ça le fait toujours). Je parle de DEVONthink, et vous pouvez essayer une démo pendant quelques jours.

mise à jour : d'après cet article, vous pouvez installer DevonThink (version d'essai) et extraire le binaire 'pdftotext' " qui est gratuit , bien sûr "[sic] hors du bundle.

Merci pour les pointeurs, mais lequel de ceux-ci contiendrait réellement «ps2ascii»? Et lequel devrais-je préférer?
MacPorts gère Ghostscript 9 (la dernière version).
L'utilitaire natif OS X est l'application Adobe Reader, qui a Enregistrer en tant que texte.
#4
+1
mouviciel
2010-09-22 20:05:10 UTC
view on stackexchange narkive permalink

Si cela ne vous dérange pas d'utiliser une interface graphique, vous pouvez sélectionner du texte à partir d'un PDF ouvert avec Preview.app

Merci, cela semble fonctionner pour les cas simples. Mais j'ai un très gros document (plus de 1000 pages) et cela plante presque le système en essayant de tout sélectionner!
Une solution décalée liée à la réponse ci-dessus est qu'Acrobat * 7 * a en fait réalisé des extractions de texte étonnamment propres (mais il vaut mieux utiliser un utilitaire approprié comme ghostscript pour quelque chose d'aussi grand).
#5
+1
zarfishan
2012-11-07 10:04:32 UTC
view on stackexchange narkive permalink

Utilisez des convertisseurs de documents en ligne comme Saaspose.PDF qui peuvent convertir votre fichier PDF en un document TXT. Et comme il s'agit d'une API cloud, il n'est pas nécessaire de télécharger ou d'installer quoi que ce soit.

#6
+1
benwiggy
2019-02-27 02:01:26 UTC
view on stackexchange narkive permalink

Le script python suivant affichera le texte d'un document PDF dans un fichier .txt. (Remarque: il n'y a aucune garantie que le texte soit nécessairement dans un ordre de lecture humaine «logique», en raison de la manière dont les données sont conservées au format PDF.)

Le script créera des fichiers texte pour tous les fichiers PDF fournis en tant qu'arguments sur la ligne de commande (par exemple pdf2txt.py myPDF.pdf ), ou vous pouvez les utiliser dans "Exécuter le script Shell" d'Automator action, définissant le type de shell sur python et Passez l'entrée sur "En tant qu'arguments".

  #! / usr / bin / python
# codage: utf-8

importer os, sys
à partir du PDF d'importation Quartz
depuis l'importation CoreFoundation (NSURL, NSString)
NSUTF8StringEncoding = 4

def pdf2txt ():
    pour le nom de fichier dans sys.argv [1:]:
        inputfile = filename.decode ('utf-8')
        shortName = os.path.splitext (nom de fichier) [0]
        outputfile = shortName + "text.txt"
        pdfURL = NSURL.fileURLWithPath_ (fichier d'entrée)
        pdfDoc = PDFDocument.alloc (). initWithURL_ (pdfURL)
        si pdfDoc:
            pdfString = NSString.stringWithString_ (pdfDoc.string ())
            pdfString.writeToFile_atomically_encoding_error_ (fichier de sortie, True, NSUTF8StringEncoding, Aucun)

si __name__ == "__main__":
   pdf2txt ()
 
Pour rappel: cela nécessite `pip install pyobjc`.
@Itachi Non, ce n'est pas le cas: il sera prêt à l'emploi sur MacOS de Snow Leopard à Catalina.
Je suis un peu confus, alors d'où viennent «Quartz» et «CoreFoundation»?S'agit-il d'un package intégré python pour macOS?
MacOS est livré avec python 2.7 et inclut pyObjC v.2.5.1.Vous pouvez mettre à jour vers une version plus récente de pyObjC, si vous voulez des fonctions accrues et des corrections de bogues - ou même l'installer dans python3.Mais le système d'exploitation d'usine est livré avec la même version depuis environ 10 ans ou plus.
Leçon apprise. Merci!


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...