Login
Newsletter
Di, 6. Dezember 2011, 16:00

PDF-Tools für die Konsole

pdfinfo, pdffonts, pdftk, pdftotext, pdftoppm, pdftoimages, psutils

PDF-Dateien können auf der Konsole unter Linux in vielfälltiger Art und Weise bearbeitet werden. Einige PDF-Tools werden an dieser Stelle kurz vorgestellt.

pdfinfo

Wenn man etwas über eine PDF-Datei erfahren möchte, dann verwendet man pdfinfo dateiname. Man erhält dann eine Übersicht über die PDF-Datei.

$ pdfinfo documentation_de.pdf 
Title:          Handbuch Archivista 2011/IV
Subject:        Archivista
Keywords:       Archivista
Author:         Archivista GmbH
Creator:        LaTeX with hyperref package
Producer:       pdfTeX-1.40.3
CreationDate:   Mon Apr  4 00:32:40 2011
ModDate:        Mon Apr  4 00:32:40 2011
Tagged:         no
Pages:          290
Encrypted:      no
Page size:      841.89 x 595.276 pts (A4)
File size:      9979665 bytes
Optimized:      no
PDF version:    1.4

pdffonts

Manchmal interessiert auch, welche Zeichensätze in einer PDF-Datei enthalten sind. Dazu verwenden wir pdffonts.

pdffonts archivistavm-linuxday2011.pdf 
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
UJCUYV+LMSans10-Bold                 Type 1            yes yes no     132  0
CZFTVT+LMSans10-Regular              Type 1            yes yes no     133  0
JXAKKN+LMSans12-Regular              Type 1            yes yes no     135  0
AQTFCU+CMSY10                        Type 1            yes yes no     140  0
ESGPRJ+LMMathSymbols10-Italic        Type 1            yes yes no     141  0
DZJEER+LMTypewriter10-Dark           Type 1            yes yes no     152

pdftk

Möchte man einige Seiten aus der Datei herausschneiden, kann man pdftk verwenden. Auch dazu ein Beispiel:

pdftk documentation_de.pdf cat 2-7 output inhalt.pdf

Mit diesem Befehl wurden die Seiten 2 bis 7 aus der Ursprungsdatei in die neue Datei extrahiert. Die beiden wichtigsten Befehle in pdftk lauten cat (Ausschneiden von Seiten) und output (Ausgabe in neue Datei). Ebenfalls möglich ist es, mehrere Dateien zusammenzuhängen. Dazu verwenden wir pdftk inhalt1.pdf inhalt2.pdf output gesamt.pdf.

pdftotext

Oft benötigt man nur den Text einer PDF-Datei. Dazu verwendet man pdftotext dateiname.pdf. Dabei entsteht die Datei dateiname.txt. Mit pdftotext -raw dateiname.txt erhält man den Text in möglichst lesbarer Form (einzeilig).

pdftoppm

Manchmal möchte man die Seiten der PDF-Datei in Bilder umwandeln. Dazu verwendet man pdftoppm. Normalerweise sollte die Auflösung mit angegeben werden, da 150 DPI doch eher eine mickrige Auflösung darstellt. Dazu ein Beispiel:

pdftoppm -f 1 -l 4 archivistavm-linuxday2011.pdf -mono base
archivista@archivista:~/data/kvm2$ ls -ls base-00000*
272 -rw-r--r-- 1 archivista users 271883 2011-12-04 00:31 base-000001.pbm
268 -rw-r--r-- 1 archivista users 271883 2011-12-04 00:31 base-000002.pbm
268 -rw-r--r-- 1 archivista users 271883 2011-12-04 00:31 base-000003.pbm
268 -rw-r--r-- 1 archivista users 271883 2011-12-04 00:31 base-000004.pbm

pdfimages

Mit pdfimages extrahieren wir die in der PDF-Datei enthaltenen Bilder:

pdfimages archivistavm-linuxday2011.pdf ./extract
archivista@archivista:~/data/kvm2$ ls -ls ./extract-00*
  740 -rw-r--r-- 1 archivista users   754920 2011-12-04 00:35 ./extract-000.ppm
 5936 -rw-r--r-- 1 archivista users  6075844 2011-12-04 00:35 ./extract-001.ppm
 6748 -rw-r--r-- 1 archivista users  6908177 2011-12-04 00:35 ./extract-002.ppm
 9356 -rw-r--r-- 1 archivista users  9579941 2011-12-04 00:36 ./extract-003.ppm
10928 -rw-r--r-- 1 archivista users 11190161 2011-12-04 00:36 ./extract-004.ppm

Wer Wert auf geringe Dateigrössen legt, der wird die Option -j verwenden, dabei werden anstelle der PPM-Bilder komprimierte JPEG-Dateien erstellt.

pdftops und psutils

Mit dem Paket psutils können wir Postscript-Dateien bearbeiten. Damit dies geht, können wir diese zunächst mit pdftops ins Postscript-Format umwandeln. pdftops ist dabei pdf2ps (das an sich im psutils-Paket enthalten ist) vorzuziehen. Die Umwandlung mit pdftops arbeitet schneller und die erzeugten Postscript-Dateien sind deutlich kleiner. Mein Favorit bei den psutils ist psnup. Mit diesem Utility können mehrere Seiten auf einer physikalischen Seite dargestellt werden. Auch dazu ein Beispiel:

pdftops archivistavm-linuxday2011.pdf 
psnup -n 4 archivistavm-linuxday2011.ps buch.ps
ps2pdf buch.ps
ls -ls buch.*
 6704 -rw-r--r-- 1 archivista users  6848648 2011-12-04 00:58 buch.pdf
 4856 -rw-r--r-- 1 archivista users  4956760 2011-12-04 00:57 buch.ps

Bei der Rückumwandlung kommen einigermassen schlanke PDF-Dateien heraus. -n 4 bedeutet, dass vier Seiten auf eine Seite verkleinert werden sollen.

So, und falls nun jemand weitere Lieblings-Tools für das Bearbeiten von PDF-Dateien hat, möge er dies mit einem Kommentar an dieser Stelle mitteilen.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten