Dieser Artikel stellt zwei Tools zum Konvertieren von PDF-Dokumenten in bearbeitbaren Text unter Linux mit einem grafischen Tool (Caliber) und einem Befehlszeilentool (pdftotext) vor.
Es ist erwähnenswert, dass die beiden in diesem Artikel erwähnten Tools zum Extrahieren von Text aus PDF-Dateien den Text nicht extrahieren können, wenn das PDF aus Bildern besteht (z. B. gescannte Buchseiten / Bilder).
PDF in Text umwandeln mit Calibre (GUI)
Calibre ist eine kostenlose Open-Source-E-Book-Software-Suite. Es unterstützt das Organisieren, Anzeigen, Bearbeiten und Konvertieren von E-Books und unterstützt eine Vielzahl von Formaten. Die Anwendung läuft unter Linux, macOS und Microsoft Windows.
Calibre sollte in den Repositories Ihrer Linux-Distribution verfügbar sein und Sie sollten es mit jedem Software-Store installieren können, den Sie auf Ihrem System haben. Um es beispielsweise unter Debian, Ubuntu, Linux Mint, Fedora, openSUSE oder Arch Linux zu installieren, verwenden Sie:
- Debian, Ubuntu oder Linux Mint:
sudo apt install calibre
- Fedora:
sudo dnf install calibre
- openSUSE:
sudo zypper install calibre
- Arch Linux:
sudo pacman -S calibre
Calibre kann auch unter Linux installiert werden, indem das Flathub-Paket verwendet wird (bei einigen Linux-Distributionen muss Flathub/Flatpak eingerichtet werden).
Es gibt eine andere Möglichkeit, Calibre unter Linux zu installieren, die auf der Download-Seite der Anwendung erklärt wird, wo Sie auch MacOS- und Windows-Binärdateien finden können.
Verwandt:Konvertieren von PDF in Bild (PNG, JPEG) mit GIMP oder dem pdftoppm-Befehlszeilentool
Nachdem Calibre auf Ihrem System installiert wurde, starten Sie es und klicken Sie auf Add books
, um die PDF-Datei (oder mehrere PDF-Dateien – Calibre unterstützt die Stapelkonvertierung mehrerer PDF-Dateien in Text) hinzuzufügen, die Sie in Text konvertieren möchten.
Wählen Sie aus der Liste der Bücher die PDF-Datei (oder mehrere PDF-Dateien für die Stapelkonvertierung in .txt) aus, die Sie in Text konvertieren möchten, und klicken Sie auf Convert books
Taste. Wählen Sie in der oberen rechten Ecke des Konvertierungsfensters TXT als Output format
aus :
Es gibt viele Optionen, die Sie in diesem Konvertierungsdialog optimieren können. Beispielsweise können Sie automatisch den Abstand zwischen Absätzen entfernen oder eine Leerzeile zwischen Absätzen einfügen (Look & Feel -> Layout
). Sie können auch die Zeichencodierung und den Zeilenendestil (System, Unix, Windows, old_mac) festlegen und sogar auf Markdown formatieren.
Nachdem Sie mit der Konfiguration fertig sind, klicken Sie auf die OK
Schaltfläche zum Starten der Konvertierung der PDF-Datei in Text. Die konvertierte .txt-Datei befindet sich in dem Verzeichnis, in dem Sie den Speicherort der Calibre-Bibliothek angegeben haben (und dann in AuthorName/BookName
Unterordner; wenn der Autor oder Buchname nicht ermittelt werden kann, heißt der Unterordner „Unbekannt“).
Was Calibre in diesem Fall fehlt, ist eine Möglichkeit, nur eine Seite oder einen Seitenbereich zu konvertieren – es kann derzeit nur ganze PDF-Dateien in Text konvertieren.
PDF-bezogen:So erstellen Sie ausfüllbare PDF-Formulare mit LibreOffice Writer
PDF in Text umwandeln mit pdftotext (Befehlszeile)
pdftotext ist ein Befehlszeilenprogramm, das PDF-Dateien in reinen Text konvertiert. Es bietet viele Optionen, darunter die Möglichkeit, den Bereich der zu konvertierenden Seiten anzugeben, das ursprüngliche physische Layout des Textes so gut wie möglich beizubehalten, Zeilenenden festzulegen (Unix, DOS oder Mac) und sogar mit passwortgeschützten PDF-Dateien zu arbeiten.
pdftotext ist Teil des Pakets poppler / poppler-utils / poppler-tools (abhängig von der verwendeten Linux-Distribution). Installieren Sie dieses Paket wie folgt:
- Debian, Ubuntu, Linux Mint und andere Debian/Ubuntu-basierte Linux-Distributionen:
sudo apt install poppler-utils
- Fedora:
sudo dnf install poppler-utils
- openSUSE:
sudo zypper install poppler-tools
- Arch Linux:
sudo pacman -S poppler
Verwenden Sie in anderen Linux-Distributionen Ihren Paketmanager, um das Paket poppler / poppler-utils zu installieren.
Nachdem das Paket installiert ist, können Sie eine PDF-Datei in reinen Text umwandeln und ihr Layout beibehalten (Ich empfehle die Verwendung dieses -layout
Option, das ursprüngliche physische Layout beizubehalten, aber Sie können es auch ohne versuchen) mit:
pdftotext -layout input.pdf output.txt
Sie müssen input.pdf
ersetzen mit dem Namen der PDF-Datei und output.txt
mit dem Namen, unter dem die generierte TXT-Datei aufgerufen werden soll. Ergänzen Sie ggf. die Pfade vor den Dateinamen (z.B. ~/Documents/mypdf.pdf
). Wenn keine Ausgabetextdatei angegeben ist, benennt pdftotext die Datei mit demselben Dateinamen wie die ursprüngliche PDF-Datei.
Die Layout-Option behält das PDF-Layout beim Konvertieren in Text bei, auch in mehrspaltigen PDF-Fällen.
Was ist, wenn Sie statt der gesamten PDF-Datei nur einen Bereich von Seiten der PDF-Datei in Text konvertieren möchten? Verwenden Sie -f
(erste zu konvertierende Seite) und -l
(letzte zu konvertierende Seite), gefolgt von der Seitennummer, wie folgt:
pdftotext -layout -f M -l N input.pdf
Ersetzen Sie M
und N
mit der ersten und letzten zu extrahierenden Seitennummer und input.pdf
mit dem PDF-Dateinamen.
Möchten Sie Zeilenendezeichen für Mac, DOS oder Unix verwenden? Sie können dies auch mit tun. Geben Sie -eol
an gefolgt von mac
, dos
oder unix
. Z.B. für Unix-Zeilenenden:
pdftotext -layout -eol unix input.pdf
Wenn Sie keine Seitenumbrüche zwischen den Seiten einfügen möchten, fügen Sie einen -nopgbrk
hinzu :
pdftotext -layout nopgbrk input.pdf
Möchten Sie alle PDF-Dateien in einem Ordner stapelweise in Textdateien konvertieren? pdftotext unterstützt keine Stapelkonvertierung von PDF in Text (und pdftotext *.pdf
funktioniert nicht), aber Sie können alle PDF-Dateien in einem Ordner mit einer Bash-FOR-Schleife in Textdateien konvertieren:
for file in *.pdf; do pdftotext -layout "$file"; done
Führen Sie für weitere Optionen man pdftotext
aus und pdftotext --help
.
Das könnte Ihnen gefallen:Master PDF Editor 4 für Linux herunterladen (kostenlose Version)