Ubuntu 16.04 Xenial Xerus
Ubuntu 12.04 Precise Pangolin
Die poppler-utils sind eine Sammlung von Kommandozeilen-Programmen, mit deren Hilfe man aus PDF-Dokumenten Bilder, Text etc. extrahieren kann. Dazu wird libpoppler genutzt, welches unter Linux die Standardbibliothek zur Darstellung von PDF-Dokumenten ist, z.B. auch in Evince und Okular.
Um die Hilfsprogramme nutzen zu können, muss das folgende Paket installiert werden [1]:
poppler-utils
mit apturl
Paketliste zum Kopieren:
sudo apt-get install poppler-utils
sudo aptitude install poppler-utils
Die Nutzung der verschiedenen Programme aus poppler-utils ist immer relativ ähnlich. Man ruft das entsprechende Programm auf und übergibt als Parameter die zu lesenden PDF-Datei und den gewünschten Namen der Ausgabedatei. Natürlich kennen die einzelnen Programme auch diverse Optionen.
Leider gibt es keine Man-Page für die poppler-utils. Man kann aber jedes der Programme mit der Option -h
aufrufen, um eine kurze Hilfe über die verschiedenen Optionen zu bekommen
Ist die PDF-Datei verschlüsselt, so funktionieren Operationen wie Text extrahieren in der Regel nicht. Ob ein PDF-Dokument verschlüsselt ist kann man mit Hilfe von pdfinfo feststellen, welches Teil der poppler-utils ist.
Wie der Name vermuten lässt, erhält man mit pdfinfo Informationen zum PDF-Dokumenten, wie z.B. [2]
pdfinfo dokument.pdf
Creator: cairo 1.8.6 (http://cairographics.org) Producer: John Doe Tagged: no Pages: 3 Encrypted: no Page size: 612 x 792 pts (letter) File size: 542783 bytes Optimized: no PDF version: 1.4
Man sieht also, womit und wer das PDF-Dokument erstellt wurde ("Creator" und "Producer"), wie viele Seite enthalten sind, ob das PDF verschlüsselt ist, welche Seitengröße es hat, wie groß die ganze Datei ist, ob es sich um ein optimiertes PDF handelt und welche PDF-Version das Dokument hat. Besonders die Information, ob das Dokument verschlüsselt ist, kann von Interesse sein, da man aus verschlüsselten PDFs in der Regel keine Texte/Bilder extrahieren kann. Die Angabe zur PDF-Version kann nützlich sein, da nicht alle PDF-Betrachter mit allen (= den neueren) PDF-Versionen umgehen können.
Mit Hilfe dieses Befehls kann festgestellt werden, welche Schriftarten ("Fonts") innerhalb des PDF-Dokuments verwendet werden. Beispiel [2]:
pdffonts dokument.pdf
name type emb sub uni object ID ------------------------------------ ----------------- --- --- --- --------- Verdana CID TrueType yes no yes 5 0 TrebuchetMS CID TrueType yes no yes 6 0 VerdanaBold CID TrueType yes no yes 7 0 DejaVuSerif CID TrueType yes no yes 8 0
Die Spalte emb
gibt an, ob die betreffende Schrift in das Dokument eingebettet ist.
Möchte man den kompletten Text aus dem PDF-Dokument extrahieren, so kann man dafür pdftotext nutzen. Der Befehlsaufruf lautet [2]
pdftotext dokument.pdf ausgabe.txt
Hier wird der Text aus dokument.pdf in die Datei ausgabe.txt geschrieben. Wie gut das Ergebnis ist, hängt grundlegend davon ab, wie komplex das PDF-Dokument ist, also z.B. ob das Ausgangsdokument einfacher Fließtext ist, viele vom Text umflossene Bilder enthält oder sogar mehrspaltig ist. In der Regel muss das kreierte Textdokument immer nachbearbeitet werden, um z.B. überflüssige Leerzeichen und falsche Zeilenumbrüche zu entfernen.
pdftotext kennt u.a. die folgenden Optionen:
Optionen von pdftotext | |
Option | Beschreibung |
-f Nr | beginne auf Seite Nr |
-l Nr | stoppe auf Seite Nr |
-htmlmeta | erzeugt eine (einfache) HTML-Datei |
-enc TYP | verwendet das Encoding TYP für die Textdatei |
-listenc | zeigt alle mögliche Encodings (für -enc ) an |
-eol TYP | das Zeilenende in der Ausgabedatei wird auf TYP gesetzt (mögliche Werte: unix , dos , mac ) |
Mit pdftoppm können die Seiten eines PDF-Dokuments in Bilddateien umgewandelt werden, standardmäßig sind dies PPM-Dateien, welche von allen gängigen Grafikbetrachtern gelesen (und konvertiert) werden können.
Der Befehlsaufruf lautet [2]:
pdftoppm dokument.pdf seite
seite
ist dabei das Präfix für die Namen der Ausgabedateien. Hat eine PDF-Dokument z.B. drei Seiten, so werden die Dateien seite-000.ppm, seite-001.ppm und seite-002.ppm erzeugt. pdftoppm kennt einige Optionen, u.a. auch für das Ausgabeformat:
Optionen von pdftoppm | |
Option | Beschreibung |
-mono | Ausgabe als monochrome PBM-Datei |
-gray | Ausgabe als PGM-Datei (Grauskala) |
-png | Ausgabe als PNG-Datei |
Des Weiteren gibt es noch diverse Optionen, um die Ausgabegröße und Auflösung festzulegen, welche in der Hilfe nachgelesen werden können.
Durch pdftohtml können PDF-Dokumente in HTML-Seiten umwandelt werden. Der Aufruf lautet [2]
pdftohtml dokument.pdf seite
Dabei wird die Datei dokument.pdf in eine eine HTML-Datei Names seite.html umgewandelt. Genau genommen entstehen immer drei HTML-Dateien: Einmal die genannte Hauptdatei plus, in diesem Beispiel, die Seiten seite_ind.html und seites.html. Dies liegt daran, dass die HTML-Ausgabe (nicht mehr ganz zeitgemäß) Frames verwendet, um im linken Frame ein einfaches Inhaltsverzeichnis und im Hauptframe den Inhalt an sich darzustellen. Weiterhin wird der Text komplett über die die "klassischen" HMTL-Tags formiert anstatt CSS-Styles zu verwenden.
Über die Option -xml
wird eine XML-Datei anstatt einer HTML-Datei generiert.
Um eine PDF-Datei aus dem Kontextmenü in Nautilus heraus in eine HTML-Datei umzuwandeln, importiert man diese Datei .
Mit Hilfe von pdfimages lassen sich alle Bilder aus einem PDF-Dokument extrahieren. Die Bilder werden dabei als PPM-Datei gespeichert.
Der Aufruf des Programms erfolgt über
pdfimages dokument.pdf bild
bild
ist dabei das Präfix für die Ausgabedatei(en). Enthält ein PDF z.B. drei Bilder, so werden die Dateien bild-000.ppm, bild-001.ppm und bild-002.ppm generiert. Über die Option -j
werden alle im PDF-Dokument enthalten JPEG-Bilder auch als JPEG gespeichert und nicht als PPM.
Mit Hilfe von pdfunite lassen sich mehrere PDF-Dokumente durch Aneinanderhängen zu einem einzigen vereinen.
Der Aufruf des Programms erfolgt über
pdfunite dokument1.pdf dokument2.pdf dokumentN.pdf Ausgabedokument.pdf
Es kann mit zur Bestimmung der Ausgangsdokumente mit Platzhaltern (*.pdf) gearbeitet werden, wobei die gefundenen Dokumente alphabetisch (Dateiname) sortiert verarbeitet werden.
Diese Revision wurde am 18. Oktober 2016 20:01 von noisefloor erstellt.