Dieser Artikel wurde für die folgendenUbuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
⚓︎ Installation von Programmen
⚓︎ Ein Terminal öffnen
Inhaltsverzeichnis
- Installation
- Benutzung
- pdfinfo
- pdffonts
- pdftotext
- pdftoppm
- pdftohtml
- pdfimages
- pdfunite
- pdfseparate
- pdftocairo
- Links
Die poppler-utils 🇬🇧 sind eine Sammlung von Kommandozeilen-Programmen, mit denen Informationen über PDF-Dokumente gewonnen, die Dokumente in andere Formate umgewandelt oder manipuliert werden können. Dazu wird libpoppler genutzt, welches unter Linux die Standardbibliothek zur Darstellung von PDF-Dokumenten ist, z.B. auch in Evince und Okular.
Dieses Paket enthält folgende (auf Poppler beruhende) Kommandozeilenprogramme:
pdfdetach – Listet oder entnimmt eingebettete Dateien (Anhänge)
pdffonts – Analyse von Schriften
pdfimages – Entnahme von Bildern
pdfinfo – Dokumentinformationen
pdfseparate – Werkzeug zur Entnahme von Seiten
pdfunite – Zusammenführen von PDF-Dateien
pdfsig – prüft digitale Signaturen
pdftocairo – Umwandlung von PDF nach PNG/JPEG/PDF/PS/EPS/SVG mittels Cairo
pdftohtml – Umwandlung von PDF nach HTML
pdftoppm – Umwandlung von PDF nach PPM/PNG/JPEG
pdftops – Umwandlung von PDF nach PostScript (PS)
pdftotext – Entnahme von Text
Installation¶
Um die Hilfsprogramme nutzen zu können, muss das folgende Paket installiert werden [1]:
poppler-utils
Befehl zum Installieren der Pakete:
sudo apt-get install poppler-utils
Oder mit apturl installieren, Link: apt://poppler-utils
Benutzung¶
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.
pdfinfo¶
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 DoeTagged: noPages: 3Encrypted: noPage size: 612 x 792 pts (letter)File size: 542783 bytesOptimized: noPDF version: 1.4
Man sieht also, womit und von wem 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.
pdffonts¶
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 0TrebuchetMS CID TrueType yes no yes 6 0VerdanaBold CID TrueType yes no yes 7 0DejaVuSerif CID TrueType yes no yes 8 0
Die Spalte emb
gibt an, ob die betreffende Schrift in das Dokument eingebettet ist.
pdftotext¶
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 ) |
pdftoppm¶
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.
pdftohtml¶
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 ⮷.
pdfimages¶
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.
pdfunite¶
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.
pdfseparate¶
Um Seiten aus einem PDF-Dokument zu extrahieren, verwendet man pdfseparate. Der Befehlsaufruf lautet:
pdfseparate dokument.pdf AUSGABE
In AUSGABE
muss mindestens %d
angegeben werden, welches bei den Ausgabedateien durch die jeweilige Seitenzahl ersetzt wird.
pdfseparate unterstützt folgende Optionen:
Optionen von pdfseparate | |
Option | Beschreibung |
-f Nr | beginne auf Seite Nr |
-l Nr | stoppe auf Seite Nr |
Wenn keine Optionen angegeben werden, extrahiert pdfseparate alle Seiten des Eingabedokuments.
pdftocairo¶
Konvertiert seitenweise eine PDF-Datei in verschiedene Grafikformate (PNG, JPEG, TIFF, PDF, PS, EPS, SVG). Durch den Befehl pdftocairo --help
werden alle Optionen sichtbar.
Der Befehl
pdftocairo dateiname.pdf -png dateiname
generiert je eine Seite ein PNG-Bild.
Damit wird aus der ersten Seite ein Bild im PNG-Format erzeugt:
pdftocairo -png -singlefile dokument.pdf dokument
Weitere Parameter lassen umfangreiche Anpassungen zu. So können ausgewählte Seiten umgewandelt werden oder die Ausgabegröße beliebig angepasst werden.
Anhand der Optionen -f
und -l
kann eine Selektion durchgeführt werden: -f n
- bestimmt die erste Seite für die Ausgabe, -l n
- bestimmt die letzte Seite für die Ausgabe.
Damit erzeugt pdftocairo
aus den Seiten 3 – 8 sechs PNG-Dateien mit einer Breite von 300 Pixel:
pdftocairo -png -scale-to-x 300 -f 3 -l 8 dokument.pdf dokument
Links¶
PDF Übersichtsartikel