Gibt es eine einfache Möglichkeit, Klartext aus einer PDF-Datei zu extrahieren?
Auf *nix-Systemen hatte ich früher einen Befehl ps2ascii
, der die Arbeit erledigte, aber es scheint, dass dieser Befehl nicht standardmäßig auf meinem Mac installiert ist.
Was wäre der einfachste Weg, um Text aus einer PDF-Datei zu extrahieren, oder alternativ, wie komme ps2ascii
ich auf mein System?
ps2ascii
ist ein Teil von Ghostscript , das auf Mac OS X installiert werden kann (und möglicherweise bereits ab Werk voreingestellt ist).
brew install ghostscript
sollte Ihnen die Installation ermöglichen ps2ascii
. Das Ausführen dieses Programms druckte den gesamten Text aus einem PDF, das ich konvertieren wollte. Danke dir!Das folgende Python-Skript gibt den Text aus einem PDF-Dokument in eine TXT-Datei aus. (Hinweis: Aufgrund der Art und Weise, wie Daten im PDF-Format gespeichert werden, gibt es keine Garantie dafür, dass der Text unbedingt in einer „logischen“, für Menschen lesbaren Reihenfolge vorliegt.)
Das Skript erstellt Textdateien für alle PDF-Dateien, die ihm als Argumente in der Befehlszeile (z. B. pdf2txt.py myPDF.pdf
) bereitgestellt werden, oder Sie können es in der Aktion „Shell-Skript ausführen“ von Automator verwenden, indem Sie den Shell-Typ auf „ python “ setzen und die Eingabe auf „Als Argumente“ übergeben . .
#!/usr/bin/python
# coding: utf-8
import os, sys
from Quartz import PDFDocument
from CoreFoundation import (NSURL, NSString)
NSUTF8StringEncoding = 4
def pdf2txt():
for filename in sys.argv[1:]:
inputfile =filename.decode('utf-8')
shortName = os.path.splitext(filename)[0]
outputfile = shortName+" text.txt"
pdfURL = NSURL.fileURLWithPath_(inputfile)
pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL)
if pdfDoc :
pdfString = NSString.stringWithString_(pdfDoc.string())
pdfString.writeToFile_atomically_encoding_error_(outputfile, True, NSUTF8StringEncoding, None)
if __name__ == "__main__":
pdf2txt()
pip install pyobjc
.Quartz
und CoreFoundation
? Ist es ein eingebautes Paket Python für macOS?Wenn es Ihnen nichts ausmacht, eine GUI zu verwenden, können Sie Text aus einem mit Preview.app geöffneten PDF auswählen
Mir ist kein natives OS X- Dienstprogramm bekannt, das dies tut, aber Sie können die meisten Unix/Linux-Befehle mit einer dieser drei Methoden installieren:
Homebew : Homebrew ist die einfachste und flexibelste Möglichkeit, die UNIX-Tools zu installieren, die Apple nicht mit OS X geliefert hat.
Fink : Das Fink-Projekt möchte die ganze Welt der Unix-Open-Source-Software zu Darwin und Mac OS X bringen.
Macports : Das MacPorts-Projekt ist eine Open-Source-Community-Initiative zum Entwerfen eines benutzerfreundlichen Systems zum Kompilieren, Installieren und Aktualisieren von entweder Befehlszeilen-, X11- oder Aqua-basierter Open-Source-Software auf dem Mac OS X-Betriebssystem.
Homebrew ist das „neue Kind auf dem Block“ und verspricht, die „Probleme und Einschränkungen“ zu lösen, die die anderen beiden haben (was auch immer diese Probleme sein mögen). Ich schlage vor, dass Sie sich alle ansehen und das verwenden, was Sie für Ihre Bedürfnisse am flexibelsten / einfachsten halten.
Es gibt jedoch eine App (Payware), die das früher getan hat (ob sie das noch tut, weiß ich nicht). Ich spreche von DEVONthink und Sie können ein paar Tage lang eine Demo ausprobieren.
Update : Laut diesem Beitrag könnte man DevonThink (Testversion) installieren und die Binärdatei 'pdftotext' " die natürlich kostenlos ist " [sic] aus dem Bundle extrahieren.
ps2ascii
? Und welches sollte ich bevorzugen?Verwenden Sie Online-Dokumentkonverter wie Saaspose.PDF , die Ihre PDF-Datei in ein TXT-basiertes Dokument konvertieren können. Und da es sich um eine Cloud-API handelt, müssen Sie nichts herunterladen oder installieren.
Juan A. Navarro
Philipp Regan
Benutzer11707