Aus Linux-Magazin 07/2009

PDF-Dateien unter Linux konvertieren und bearbeiten

© Thomas Berg, Fotolia.com

In Sachen PDF-Bearbeitung gilt Adobe Acrobat als das Maß aller Dinge – das Programm gibt es aber, anders als den Adobe Reader, nur für Windows und Mac OS X. Zahlreiche leistungsfähige Werkzeuge bieten sich unter Linux als Alternativen an, um PDF-Dateien zu modifizieren.

Wer PDF-Dateien nur ansehen und drucken will, ist mit dem Adobe Reader vom PDF-Erfinder gut bedient. Fürs Bearbeiten sind aber andere Werkzeuge nötig, und das Standardprogramm Adobe Acrobat für diese Aufgabe gibt es nicht als Linux-Version. Hersteller Adobe bietet lediglich Serverversionen des Acrobat Distiller [1] sowie von Adobe Lifecycle [2] für Linux und verschiedene Unix-Varianten an. Eine Übersicht der unter Linux nutzbaren Alternativen gibt dieser Artikel.

Lesen mit dem Adobe Reader

Den Adobe Reader gibt es bereits seit Jahren als Linux-Version [3], auch wenn diese meist in einem gewissen zeitlichen Abstand zu den Varianten für Windows und Mac OS X erscheint. Der Einsatz des Programms ist nicht unumstritten, und zwar nicht nur, weil es sich um proprietäre Software handelt: Die Software ist für einen Dateibetrachter außergewöhnlich umfangreich und speicherhungrig und hat in jüngster Zeit vor allem Schlagzeilen wegen Sicherheitslücken in der Javascript-Engine gemacht. Trotzdem gilt: Wer ernsthaft mit PDF-Dateien arbeiten möchte, kommt um das Adobe-Produkt nicht herum.

Wenn es um das Betrachten von Dateien geht, gibt es zwar das ambitionierte Okular-Projekt [4], das neben PDF-Dateien Dokumente in zahlreichen weiteren Formaten darstellt. Für Anwender, welche die Korrektheit einer PDF-Datei visuell überprüfen wollen, gilt aber der Grundsatz, dass Darstellungsprobleme, die in anderen PDF-Betrachtern (und nicht im Adobe Reader) auftreten, auf Mängel im Alternativprogramm zurückzuführen sind, auch wenn das proprietäre Produkt selbst keineswegs fehlerfrei ist [5].

Zu den Kronjuwelen in Adobes Portfolio gehört die Adobe PDF Library, eine Bibliothek für Windows-, Mac OS, Linux und andere Unix-Versionen, deren Lizenzierung sich das Unternehmen mit Gold aufwiegen lässt und deren Funktionalität wenigstens teilweise auch im Reader verfügbar ist. Aus der Sicht der Endanwender verdienen hier vor allem zwei Funktionen Erwähnung: Das ist einmal die Fähigkeit, aus dem Reader heraus Booklets auf einem Bürodrucker auszugeben.

Wichtiger ist jedoch die Möglichkeit, eine geladene PDF-Datei ins Postscript-Format zu exportieren. Dies erfordert keinen langwierigen Start der grafischen Benutzeroberfläche, sondern lässt sich schnell über die Kommandozeile bewerkstelligen und daher auch in Skripten nutzen.

Der Wert dieser Konvertierungsoption im Vergleich zu freien Alternativen besteht in der Fähigkeit des Readers, Transparenzen in PDF-Dateien der Version 1.4 oder höher zu glätten (siehe Kasten “Transparenzen glätten”).

Transparenzen
glätten

In PDF-Dateien Transparenzen zu glätten, entspricht aus Anwendersicht dem “Verschmelzen” von transparenten Ebenen in einem Bildbearbeitungsprogramm und ist bei PDF- und Postscript-Dateien höchst komplex. Zahlreiche Druckereien sind bis heute nicht in der Lage, PDF-Dateien mit Transparenzen korrekt zu verarbeiten, jedenfalls nicht ohne Mithilfe von Acrobat. Kunden einer solchen Druckerei können eine PDF-Datei in den Reader laden, als Postscript-Datei ausgeben und anschließend mit Hilfe des »ps2pdf13«-Skripts aus dem Ghostscript-Paket [6] ins PDF-Format zurückverwandeln: Das Ergebnis hat dann perfekt geglättete Transparenzen.

PDF-Dateien wandeln

Sieht man von diesem Spezialfall ab, sind PDF-Dateien seit langem mit Kommandozeilenwerkzeugen, wie sie Ghostscript und XPDF [7] mitbringen, konvertierbar, häufig auch auf dem Umweg über Postscript, zum Beispiel mit »pstoedit« [8]. Wer es lieber grafisch mag, greift zu GSView [9], das ursprünglich ein Windows-Programm war und daher unter Linux optisch ein wenig altbacken daherkommt. Etwas komfortabler ist der KDE-Druckmanager KPrinter [10], eine moderne und anwenderzentrierte Oberfläche für CUPS [11], die Zugriff auf sämtliche Postscript-Optionen bietet.

Obwohl es ursprünglich als eine Art elektronisches Papier gedacht war, hat Adobe dem PDF-Format im Laufe der Jahre immer mehr Funktionen hinzugefügt. Angesichts der Allgegenwärtigkeit des Formats entstand so der Wunsch vieler Anwender, PDF-Dateien zu bearbeiten, obwohl es eigentlich ihr großer Vorteil ist, “statisch” zu sein. Die Bearbeitungswünsche sind dabei höchst verschieden und reichen vom Ändern der Seitenanordnung bis hin zu Textkorrekturen.

Viele Anwender und Programmierer wissen gar nicht, dass es freie Bibliotheken gibt, die (abgesehen von dem angesprochenen Transparenzproblem) den Vergleich mit der Adobe PDF Library nicht zu scheuen brauchen. Sie würden es sogar erlauben, ein Acrobat vergleichbares Programmpaket mit grafischer Benutzeroberfläche zu schnüren. Dies ist jedoch bis heute nicht geschehen, weshalb man unter Linux auf die Kombination zahlreicher Insellösungen angewiesen ist, die unterschiedlich effektiv sind.

Neben den bereits genannten Werkzeugen für die Kommandzeile gibt es außerordentlich mächtige Programmsammlungen für die Shell, die teilweise sehr einfach zu bedienen sind. Die Multivalent-Tools [12] und »pdftk« [13] sind robuste Java-Programme, die sich auch in der kritischen professionellen Druckpraxis bewährt haben. Im Funktionsumfang sind sich beide recht ähnlich, so dass die Wahl Geschmackssache ist. Beide erlauben es, PDF-Dateien zusammenzufügen, Seiten zu extrahieren, die Seitenausrichtung zu ändern, Dokumente zu verschlüsseln oder dies rückgängig zu machen, und auch, beschädigte Dateien zu reparieren.

Wer nur schnell einige Seiten hinzufügen, entfernen, drehen oder die Seitenreihenfolge ändern möchte, ist mit PDF-Shuffler [14] (Abbildung 1) gut bedient, das unter der Haube mit der Py-PDF-Bibliothek [15] arbeitet. Das GTK+-Programm hat eine spartanische, aber sehr intuitiv zu bedienende Oberfläche, die zahlreiche Mausoperationen mit visuellem Feedback anbietet.

Abbildung 1: PDF-Shuffler eignet sich besonders für kleinere Änderungen an einer PDF-Datei, etwa das Entfernen einzelner Seiten.

Abbildung 1: PDF-Shuffler eignet sich besonders für kleinere Änderungen an einer PDF-Datei, etwa das Entfernen einzelner Seiten.

Profi-Tool Podofo

Podofo [16] ist in erster Linie eine mächtige Low-level-C++-Bibliothek, die direkten Zugang zu allen Objekten einer PDF-Datei ermöglicht. Damit ist sie vor allem für Programmierer interessant. So verwenden die Scribus-Entwickler Podofo seit Version 1.3.5 für den direkten Import von PDF- und PDF-basierten Illustrator-Dateien. Gleichwohl enthalten die Installationspakete auch interessante Skripte, die zum Teil über die Funktionalität von Multivalent und »pdftk« hinausgehen. Das Skript »pdfimgextract« extrahiert zum Beispiel alle Pixeldaten aus einem PDF-Dokument, was aber auch »pdfimages« aus dem XPDF-Paket beherrscht.

Besonders nützlich ist das Skript »podofoimpose«, denn eine konkurrenzfähige freie Lösung zum “Ausschießen”, also zum Anordnen verschiedener Seiten auf einem Druckbogen, fehlt bisher. Weil das Ausschießen mit Hilfe dieses Skripts jedoch alles andere als trivial ist und fortgeschrittene XML-Kenntnisse erfordert, hat der Autor sein Programm in einer leichter zu bedienenden Version auch als kostenlosen Webservice verfügbar gemacht [17].

Darüber hinaus hat das Podofo-Projekt eine grafische Benutzeroberfläche mit dem Namen Podofo Browser [18] veröffentlicht. Diese ist jedoch in erster Linie ein Werkzeug für Entwickler oder Experten, die mit den Interna des PDF-Formats vertraut sind. In deren Händen ist es freilich ein ungemein mächtiges Werkzeug zum Bearbeiten von PDF-Dateien.

PDFedit

Deutlich weiter in Sachen Benutzerfreundlichkeit ist das in Tschechien beheimatete PDFedit [19] (Abbildung 2). Ziel des Entwicklerteams ist es, einen leicht zu bedienenden PDF-Editor zu schreiben. Trotz zunehmender Verlagerung der Funktionen in eine grafische Benutzeroberfläche ist das ursprüngliche Konzept von PDFedit eine Sammlung von Qt-QSA-Skripten (die Programmiersprache Qt Script for Applications erinnert stark an Javascript), die sich auch ohne ein GUI aufrufen lassen. Sogar die Benutzeroberfläche blendet standardmäßig eine Skript-Konsole ein.

Abbildung 2: PDFedit ermöglicht es auch, den Inhalt einer PDF-Datei am Bildschirm zu bearbeiten.

Abbildung 2: PDFedit ermöglicht es auch, den Inhalt einer PDF-Datei am Bildschirm zu bearbeiten.

Das Konzept von PDFedit als grafische Oberfläche für eine Skript-Sammlung zeigt seine Tücken, wenn QSA an seine Grenzen stößt. Daher legt das Programm zuweilen eine kleine Denkpause ein, wenn es eine bestimmte Aktion ausführt.

Ähnlich wie Podofo Browser bietet auch PDFedit etliche Funktionen, die nur PDF-Experten ansprechen. Dennoch bietet das Programm auch für fortgeschrittene Benutzer, sprich: Acrobat-Anwender, ein beeindruckendes Arsenal an Werkzeugen zum Bearbeiten von PDF-Dateien. Es erlaubt beispielsweise das Ändern, Löschen oder Hinzufügen von Text – jedenfalls, solange alle für die Ersetzung von Text erforderlichen Zeichen im Dokument vorkommen. In eine PDF-Datei, die nach Schweizer Rechtschreibung kein “ß” enthält, diesen Buchstaben einzufügen, ist daher nicht möglich. Daneben kann der Anwender Text hervorheben oder durchstreichen sowie die Schriftfarbe und den Schrifthintergrund ändern.

Obwohl die grafische Oberfläche Optionen zum Verschieben oder Löschen von Grafiken vorsieht, funktioniert derzeit weder das eine noch das andere. Der Skriptdialog vermeldet lakonisch, dass die Funktion noch nicht implementiert ist. Auch die Auswahl von Grafikobjekten mit der Maus zeigt so manche Merkwürdigkeit: Das Auswählen eines einzelnen Objekts führt oft zum Markieren der ganzen Seite.

Linearisierte PDF-Dateien

Viele PDF-Dateien sind “linearisiert”, das heißt, sie sind in ähnlicher Weise für das Internet optimiert wie so genannte progressive JPEG-Dateien. Bei solchen Dateien kann der Browser oder ein passendes Plugin den Anfang einer PDF-Datei bereits anzeigen, während der Rest noch lädt. Linearisierte PDF-Dateien kann PDFedit nicht direkt bearbeiten, aber das Programm ermöglicht es, eine Datei zu delinearisieren. Erfreulicherweise besteht es dabei darauf, das Ergebnis der Umwandlung in einer neuen Datei zu speichern, sodass keinerlei Gefahr besteht, die Originaldatei zu beschädigen.

Eine weitere interessante Option ist der Export von PDF nach XML, der allerdings noch verbesserungsbedürftig ist, denn die Qualität der XML-Datei hängt davon ab, wie die Texte in der PDF-Datei abgelegt sind. Darüber exportiert das Tool Sonderzeichen wie Umlaute oder das “ß” unter den Namen, die sie in der PDF-Datei hatten, und diese hängen vom Programm ab, das die PDF-Datei erzeugt hat.

Aktuell ist PDFedit 0.4.1, die letzte Qt-3-basierte Version. Derzeit arbeiten die Entwickler daran, das Programm auf Qt 4 zu portieren. Das nutzt Qtscript als QSA-Nachfolger, so dass ein erheblicher Umbau der Interna ansteht.

Alleskönner

Die derzeit vielseitigsten und verlässlichsten freien PDF-Bearbeiter mit einer grafischen Benutzeroberfläche sind allesamt Java-Programme. Von einer Ausnahme abgesehen, verwenden alle im Folgenden vorgestellten Anwendungen die höchst verlässliche I-Text-Bibliothek [20] zum Bearbeiten von PDF-Dateien. Während diese Anwendungen weitgehend plattformunabhängig sind, gibt es Probleme mit der Übersetzung der Oberflächen und der Desktop-Integration, die mit Java zusammenhängen.

Bookbinder [21] ist ein schlichtes Java-Programm, das vor allem dem Zweck dient, Seiten für verschiedene Ausgabezwecke neu anzuordnen (Abbildung 3). Der Autor hat dabei nicht den professionellen Digitaldruck im Auge, sondern Privat- und Büroanwender, die erweiterte Druckfunktionen mit einfacheren Druckern umsetzen wollen. Benutzer, die wissen, was sie wollen, und die Englisch verstehen, werden mit Bookbinder keine Enttäuschungen erleben, zumal die Software die Originaldatei nicht antastet und eine optische Kontrolle der neuen Datei erlaubt.

Abbildung 3: Bookbinder ist das ideale Tool, um Seiten für die Ausgabe auf normalen Druckern zu sortieren.

Abbildung 3: Bookbinder ist das ideale Tool, um Seiten für die Ausgabe auf normalen Druckern zu sortieren.

Auch JPDF Tweak [22] (Abbildung 4) nutzt die I-Text-Bibliothek, erlaubt aber wesentlich weitgehendere Bearbeitungen, etwa Wasserzeichen hinzuzufügen, Überblendeffekte von Präsentationen zu verändern und zahlreiche weitere Details zu verändern. Beim Einstieg hilft das relativ umfangreiche Online-Handbuch.

Abbildung 4: JPDF Tweak gilt als „Schweizer Offiziersmesser“ unter den freien PDF-Bearbeitern. Es kennt auch Wasserzeichen und Überblendeffekte zwischen Präsentationsfolien.

Abbildung 4: JPDF Tweak gilt als „Schweizer Offiziersmesser“ unter den freien PDF-Bearbeitern. Es kennt auch Wasserzeichen und Überblendeffekte zwischen Präsentationsfolien.

Pre-press-Profis können ein Lied über Probleme mit zahlreichen kommerziellen und freien Programmen zur PDF-Bearbeitung singen, und auch Adobe-Produkte verursachen zuweilen Probleme. Hier hat sich PDF Sam (“Split and Merge”) [23] als heimlicher Star etabliert (Abbildung 5). Obwohl ebenfalls Java-basiert und auf den ersten Blick eher spartanisch ausgestattet, gilt die Software wegen ihrer Verlässlichkeit gerade im Print-Bereich als Geheimtipp. Wer unter Linux PDF-Dateien bearbeiten muss, die für den professionellen Druck bestimmt sind, sollte sich auf dieses Werkzeug verlassen.

Abbildung 5: PDF Sam hat sich auch in der besonders kritischen Druckvorstufe bewährt. Seine Hauptaufgabe ist, PDF-Dateien in mehrere Dokumente aufzuteilen oder diese zusammenzusetzen (split and merge).

Abbildung 5: PDF Sam hat sich auch in der besonders kritischen Druckvorstufe bewährt. Seine Hauptaufgabe ist, PDF-Dateien in mehrere Dokumente aufzuteilen oder diese zusammenzusetzen (split and merge).

Neben Tools zum Lesen und Bearbeiten gibt es mit »pdfposter« [24] auch ein Werkzeug, das ein PDF-Dokument in eine aus mehreren vergrößerten Seiten bestehende PDF-Datei umwandelt.

Fazit

An Werkzeugen zur Bearbeitung von PDF-Dateien unter Linux herrscht gewiss kein Mangel. Es ist ohne weiteres möglich, hervorragende Ergebnisse zu erzielen. Die Wahl des Werkzeugs hängt stark vom Kenntnisstand und den Vorlieben der Anwender ab. Ein vollwertiger Acrobat-Ersatz ist aber noch nicht in Sicht. (hge)

Infos

[1] Adobe Distiller Server: [http://www.adobe.com/products/acrdis/]

[2] Adobe Lifecycle: [http://www.adobe.com/products/livecycle]

[3] Adobe Reader: [http://get.adobe.com/de/reader]

[4] Okular: [http://okular.kde.org]

[5] [http://docs.scribus.net/index.php?lang=en&page=toolbox1], Abschnitt “Known issues”

[6] Ghostscript: [http://www.ghostscript.com]

[7] XPDF: [http://www.foolabs.com/xpdf]

[8] Pstoedit: [http://www.pstoedit.net/pstoedit]

[9] GSView: [http://pages.cs.wisc.edu/~ghost/gsview]

[10] KPrinter: [http://printing.kde.org/overview/kprinter.php]

[11] CUPS: [http://www.cups.org]

[12] Multivalent: [http://multivalent.sourceforge.net]

[13] pdftk: [http://www.accesspdf.com/pdftk]

[14] PDF-Shuffler: [http://sourceforge.net/projects/pdfshuffler]

[15] Py-PDF: [http://pybrary.net/pyPdf]

[16] Podofo: [http://podofo.sourceforge.net]

[17] Impose-Webservice von Podofo: [http://www.oep-h.com/impose]

[18] Podofo Browser: [http://podofo.sourceforge.net/about.html#tools]

[19] PDFedit: [http://pdfedit.petricek.net/index_e.html]

[20] I-Text: [http://www.lowagie.com/iText]

[21] Bookbinder: [http://www.quantumelephant.co.uk/bookbinder/bookbinder.html]

[22] JPDF Tweak: [http://jpdftweak.sourceforge.net]

[23] PDF Sam: [http://www.pdfsam.org]

[24] pdfposter: [http://pdfposter.origo.ethz.ch]

Der Autor

Dr. Christoph Schäfer ist Historiker, Niederlandist und Germanist. Er arbeitet für eine kommunale Kulturorganisation und verwendet dort freie Software. Er gehört dem Scribus-Entwicklerteam an und ist einer der Hauptautoren des Scribus-Handbuchs.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
1 Kommentar
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
eku
5 Jahre her

Zunächst mal danke für die Kommentarfunktion – auf dem Rechner an dem ich gerade sitze ist noch keine Mailfunktionalität eingebaut. Im Artikel oben bzw im Fenster “Transparenzen” heißt es: Zahlreiche Druckereien sind bis heute nicht in der Lage, PDF-Dateien mit Transparenzen korrekt zu verarbeiten … Hier muss mal grundsätzlich widersprochen werden. Ich betreibe eine Druckerei und kann selbstverständlich mit Transparenzen umgehen … Nur: Abgesehen vom Tiefdruck in eingeschränktem Maße ist kein bestehendes Druckverfahren in der Lage Transparenzen wieder zu geben. Jeder Drucker vom 50,- € Modell bis zur 7-stelligen Investition kennt was das drucken angeht nur 2 Zustände: Farbe oder… Mehr »

Nach oben