PDF ist das plattformneutrale Austauschformat für formatierte Dokumente. Die Software muss sie nicht nur anzeigen, sondern auch mit den Spezialeigenschaften des Formats umgehen. Den richtigen PDF-Reader für die eigenen Ansprüche zu wählen spart Zeit und Nerven.
Die Firma Adobe hat das PDF-Format von Anfang an als plattformübergreifendes Format konzipiert. So hat es sich zu einem Standard für den Austausch elektronischer Dokumente entwickelt. Adobe hat das Dateiformat in einer umfangreichen Referenz [7] dokumentiert, behält sich aber proprietäre und undokumentierte Erweiterungen vor.
Linux-Programmierer können leider nicht auf das SDK von Adobe zurückgreifen, trotzdem stehen auch für das freie Betriebssystem Programme für das Erzeugen, Betrachten und Bearbeiten von PDF-Dateien zur Verfügung (siehe Tabelle 1). Für die erste dieser Aufgabe eignen sich Pdflatex, verschiedene Java-Bibliotheken, Ghostscript [2], FOP und Open Office. Die Bibliotheken Ghostscript, Poppler [5] und Itext [8] erleichtern den Programmierern das Schreiben von PDF-Betrachtern.
|
Tabelle 1: |
||||||
|---|---|---|---|---|---|---|
|
|
Adobe Reader 7 |
Kpdf 0.5.3 |
Evince 0.5 |
Epdfview 0.1.5 |
Gv 3.6/Gsview 4.8 |
Xpdf 3.01pl2 |
|
Startgeschwindigkeit |
– |
++ |
+ |
+ |
+ |
++ |
|
Suchfunktionen |
+++ |
++ |
+ |
+ |
keine |
+ |
|
Formulare |
++ |
nicht implementiert |
nicht implementiert |
nicht implementiert |
nicht implementiert |
nicht implementiert |
|
Kommentare |
++ |
nicht implementiert |
nicht implementiert |
nicht implementiert |
nicht implementiert |
nicht implementiert |
|
Text extrahieren |
++ |
++ |
+ |
nicht implementiert |
+ |
über externes Programm |
|
Bildausschnitt exportieren |
++ |
+ |
nicht implementiert |
nicht implementiert |
nicht implementiert |
nicht implementiert |
|
Lesezeichen |
nur in Acrobat-PDF-Dateien |
++ |
nicht implementiert |
nicht implementiert |
nicht implementiert |
nicht implementiert |
|
Präsentationsmodus |
++ |
++ |
+ |
nicht implementiert |
nicht implementiert |
nicht implementiert |
Mit vielen Funktionen warten die Betrachter Adobe Reader [3], Kpdf und Evince [9] auf. Wer besonderen Wert auf Geschwindigkeit legt, findet auf diesen Zweck optimierte Anwendungen in Xpdf [4], Epdfview [10], Gv [1] sowie Gsview [6].
Mit Kpdf, Evince, Epdfview, Xpdf und dem Adobe Reader bieten die meisten Programme im Testfeld eine Funktion zur Textsuche in PDF-Dokumenten an. Adobe Reader, Evince und Kpdf zeigen auf Wunsch auch die Metadaten einer PDF-Datei an, beispielsweise Autor, Titel und Schlüsselwörter.
Metadaten
Die Gliederung eines Dokuments blenden die meisten PDF-Reader auf der linken Seite oder in einem separaten Fenster als Baumstruktur ein. Die Referenz [7] bezeichnet diese Gliederung als Outline. Sie dient als visuelles Inhaltsverzeichnis und bietet Links zu bestimmten Stellen des Dokuments. In einigen Programmen heißen diese Gliederungen etwas irreführend Bookmarks oder Index. PDF-Gliederungen zeigen alle Reader außer Gv und Gsview korrekt an.
Eine gute Übersicht über eine PDF-Datei bieten auch die Vorschaubilder. Der Reader erzeugt sie selbst, falls sie nicht bereits als Bilder im Dokument eingebettet vorliegen. Im Testfeld zeigen die Programme Kpdf, Evince und der Adobe Reader Vorschaubilder an. Bei Gliederungspunkten und Vorschaubildern handelt es sich um interne Hyperlinks innerhalb einer PDF-Datei. Solche Links können außerdem im Inhaltsverzeichnis und im Fließtext stehen. Mit ihnen hatten als einzige Viewer im Testfeld Gv und Gsview Schwierigkeiten.
Adobe hat im PDF-Standard auch benutzerdefinierte Lesezeichen vorgesehen, die in der PDF-Datei eingebettet sind. Dem Leser erlauben sie es, per Mausklick an eine bestimmte Stelle des Dokuments zu springen. Das proprietäre Windows-Programm Acrobat speichert Lesezeichen in der PDF-Datei. Der Adobe-eigene Reader zeigt ausschließlich auf diese Weise erzeugte Lesezeichen an. Die freien PDF-Erzeuger legen Lesezeichen in externen XML-Dateien ab.
Immer aktuell
Während der Arbeit an einem Dokument verändert sich dessen Inhalt ständig. Dann ist eine automatische Aktualisierung der PDF-Datei im PDF-Viewer als Arbeitserleichterung sehr willkommen. Als erster PDF-Viewer führte Gv eine automatische Aktualisierung im so genannten Watch-Modus ein. Mittlerweile enthalten auch Xpdf und Kpdf dieses Feature. Die Konkurrenten erledigen die Aufgabe nur auf manuelle Anforderung des Benutzers, Anwender des Adobe Reader müssen ein Dokument neu öffnen, wenn es sich verändert hat.
Autoren können PDF-Dokumente mit Einschränkungen versehen. Sie untersagen es Betrachtern, Inhalte rauszukopieren oder ein Dokument zu drucken, oder sie begrenzen die Druckqualität. Darüber hinaus lässt sich verbieten, die Datei mit einem anderen Dokument zu einem neuen PDF zusammenzufügen, und ein Passwort festlegen, das der Benutzer zum Öffnen eingeben muss.
Solche Einschränkungen kennen außer Adobe Acrobat auch die Linux-Programme Ghostscript [2] und Pdftk [12]. Dazu versehen sie die PDF-Dateien mit zwei Passwörtern: das optionale User-Passwort, das den Betrachter zum Öffnen der Datei berechtigt, und das Owner-Passwort, das Zugang zu den Sicherheitseinstellungen verschafft.
Diese Maßnahmen verschlüsseln die Datei aber nicht; es liegt ganz an dem verarbeitenden Programm, die vorgegebenen Einschränkungen zu beachten oder auch zu ignorieren. Ein wirksames Digital Rights Management (DRM) ermöglichen sie also nicht; es handelt sich eher um eine Aufforderung an den Nutzer und seine Software, das Dokument nur entsprechend den Vorgaben des Autors zu verwenden. Fast alle Programme im Testfeld fragen das User-Passwort ab, bevor sie ein PDF-Dokument öffnen. Lediglich Gv und Gsview kamen damit nicht zurecht und verabschiedeten sich mit einer Fehlermeldung, ohne die Datei anzuzeigen.
Feinere Einschränkungen beachten Xpdf, Evince und der Adobe Reader. Kpdf überlässt es Root, die Einschränkungen systemweit ein- oder auszuschalten. Hat der Administrator keine Einstellung vorgenommen, entscheidet der Nutzer selbst. Dieses Verhalten offenbart den unverbindlichen Charakter der PDF-Sicherheitseinstellungen.
Auf ganzer Ebene
Aus PDF-Dateien lassen sich Texte, Bildschirmausschnitte und Rastergrafiken extrahieren. Unter den getesteten Viewern kopieren Kpdf, Evince und Adobe Reader die Texte und Bildschirmausschnitte in die Zwischenablage oder speichern sie in Dateien.
Zum PDF-Standard gehören auch Layer (Ebenen) und optional angezeigte Inhalte (Optional Content Groups). Die Ebenen einer PDF-Datei erfüllen eine ähnliche Funktion wie in CAD- oder Bildverarbeitungsprogrammen und lassen sich einzeln ein- und ausblenden. Interessant sind die optional angezeigten Inhalte etwa für Lehrmaterial. So zeigt ein Dokument beispielsweise zunächst nur Fragen an und blendet die Antworten erst später ein.
PDF-Dateien mit einblendbaren Ebenen oder optional angezeigten Inhalten erzeugen neben den proprietären Programmen von Adobe und Autodesk die Opensource-Bibliothek Itext [8] und das Latex-Paket Acrotex [11]. Den Umgang mit diesen Dateien beherrscht aber nur der Adobe Reader, die anderen Programme blenden immer alle Ebenen ein.
Das Testfeld
Zu den ältesten PDF-Viewern für Linux zählt Gv [1], das ebenso wie Gsview [6] auf Ghostscript [2] basiert. Bei beiden handelt es sich nicht um reine PDF-Betrachter, sondern um grafische Frontends für Ghostscript, das auch Postscript und andere Formate kennt. Auch der proprietäre Adobe Reader [3] ist seit Version 4.0 für Linux verfügbar, inzwischen liegt Ausgabe 7 vor.
Später kam Xpdf [4] dazu. Nach einem Fork wurde aus Xpdf die Bibliothek Poppler [5], die Kpdf, Evince und Epdfview als Basis dient. Die Abspaltung erfolgte, weil einige KDE- und Gnome-Programmierer die Xpdf-Entwicklung als zu wenig transparent ansahen. Außerdem konnten sie Xpdf nicht als Bibliothek für Frontends benutzen, die zur jeweiligen Desktop-Umgebung passen.
Die Kernaufgabe, das Anzeigen und Ausdrucken von PDF-Programmen, erledigen alle getesteten Programme ohne Schwierigkeiten. In puncto Stabilität gab es keine Ausfälle.
Die Tests erfolgten mit Beispieldokumenten von Adobe, eigens erstellten eigenen Dokumenten, der PDF-Referenz und mit dem 388 Seiten dicken PDF-Buch “Die Lobbyschlacht um Softwarepatente” [13] von Florian Müller.
Adobe Reader
Der proprietäre Adobe Reader [3] für Linux steht auf der Adobe-Webseite in der Version 7.0.8 zum kostenlosen Download bereit. Die Linux-Variante bringt fast alle Funktionen mit, die unter Windows und Mac OS zur Verfügung stehen, lediglich auf Plugins und die Anbindung an betriebssystemeigene Text-to-Speech-Systeme müssen Nutzer des freien Betriebssystem verzichten.
Zu den Stärken des Adobe Reader gehört die Suchfunktion (Abbildung 1). Sie durchforstet auch mehrere Dokumente eines Verzeichnisses sowie Kommentare, Gliederungen und Anhänge von PDF-Dateien.

Abbildung 1: Der Adobe Reader tritt als einziger proprietärer PDF-Betrachter unter Linux zu diesem Test an.
Der Adobe Reader kennt als einziger Testkandidat spezielle Erweiterungen wie Lesezeichen, speicherbare Formulare und Kommentare (Anmerkungen). Außerdem fügt er Kommentare hinzu und bestätigt, ergänzt oder löscht bestehende Anmerkungen. Wer Kommentare verwenden und mit anderen austauschen möchte, ist also auf den Adobe Reader angewiesen.
Dasselbe gilt für die Arbeit mit speicherbaren Formularen. Sie waren von Anfang an eine Hauptanwendung für PDF-Dateien, beispielsweise stellen die amerikanischen Steuerbehörden sämtliche Formulare im PDF-Format bereit. Der Nutzer füllt sie im Betrachter aus, um sie dann zu drucken und zu speichern − falls der Autor des Dokuments dies nicht verboten hat.
Enthält eine PDF-Datei Ebenen oder optionale Inhalte, aktiviert Adobe Reader eine Navigationsleiste, die das Aus- und Einblenden von Ebenen und Ebenengruppen ermöglicht. Im Test funktionierte das auch mit von der Itext-Bibliothek erstellten Dokumenten. Adobe Reader verwaltet und zeigt auch Anlagen eines Dokuments. Wie bei Ebenen arbeitet das Programm nicht nur mit PDF-Dateien von anderen Adobe-Produkten zusammen, sondern erkennt auch mit Pdftk [12] erzeugte Anlagen.
Das Produkt enthält eine Javascript-Implementierung, die beispielsweise bei mitrechnenden Formularen und Animationen zum Einsatz kommt. PDF-Dokumente mit Javascript-Funktionen stoßen allerdings nicht überall auf Gegenliebe, weil sie beispielsweise Daten an den Server des PDF-Autors senden können.
Xpdf
Xpdf [4] gehört zu einer Sammlung von PDF-Tools und steht auch in einer kommerziellen Version zur Verfügung. Die Xpdf-Werkzeuge für die Kommandozeile listen die Fonts einer PDF-Datei auf, verwandeln Dokumente ins Text- oder Postscript-Format, extrahieren Rastergrafiken und zeigen außerdem noch Informationen über Fonts und Datei-Eigenschaften.
Mit Xpdf aktualisiert der Nutzer sich ändernde Inhalte einer PDF-Datei mit dem Aufruf »xpdf -remote Beispiel.pdf« beispielsweise in einem Skript oder in einem Makefile. Xpdf lädt und aktualisiert die Dokumente schnell. Ein Nachteil des Programms besteht allerdings darin, dass es keine Papiergrenzen anzeigt.
Gv und Gsview
Die beiden Programme waren die ersten freien PDF-Viewer für Linux und andere Unix-Plattformen. Sie dienen als Frontends für Ghostscript und nutzen dessen Fähigkeiten zum Rendern der PDF-Dokumente. Ihnen fehlt jedoch eine Suchfunktion und sie zeigen weder Gliederungen noch Vorschaubilder an.
Beide Programme drucken PDF-Dateien aus und wandeln sie ins Postscript-Format um. Gsview rastert PDF- und Postscript-Material in festgelegten Qualitätsstufen und erzeugt daraus Tiff-, PNG- oder Jpeg-Dateien.
Kpdf
Kpdf erfreut den Nutzer gleich mit zwei Suchfunktionen. Das Programm sucht außer im Fließtext auf Wunsch auch in der Vorschauansicht nach Seiten, die den Suchbegriff enthalten, und zeigt dann nur diese mit blau unterlegten Treffern an. Auch zur Verwaltung von Lesezeichen und bereits betrachteten Seiten bietet Kpdf eine gute Lösung: Solche Informationen speichert es in XML-Dateien unter ».kde/share/apps/kpdf/« im Homeverzeichnis.
In künftigen Kpdf-Versionen sollen diese Dateien auch Anmerkungen und weitere Informationen enthalten. Beim Speichern könnte das Programm diese XML-Dateien als Anlage in die PDF-Datei einbinden, sodass der Empfänger sie wieder extrahieren kann. Wenn sich dabei mehrere Projekte auf ein gemeinsames Format einigen, ermöglichen sie damit auch den gegenseitigen Austausch von Anmerkungen.
Das Auswahlwerkzeug in Kpdf eignet sich gut zum Kopieren von Texten und Bildern aus PDF-Dateien in die Zwischenablage oder direkt in neue Dateien. Ist das KDE-Text-to-Speech-System installiert, lassen sich so ausgewählte Textabschnitte direkt vorlesen.
Kpdf lädt eine PDF-Datei automatisch neu, wenn sie sich auf der Festplatte verändert hat, und bleibt dabei an der angezeigten Stelle im Dokument. Damit eignet sich das Programm gut für Nutzer, deren Dokumente sich oft ändern. Das Programm führt auch PDF-Präsentationen vor. Es bietet dazu eine Fortschrittsanzeige, eine Auto-Forward-Funktion und Unterstützung für Folienübergänge. Mit PDF-Dateien aus den Latex-Klassen Beamer oder Prosper bietet Kpdf eine gute Alternative zu den Office-Präsentationsprogrammen.
Künftig soll Kpdf als Teil eines integrierten Dokumentbetrachters namens Okular weiterbestehen (siehe Kasten “Interview mit Tobias König”).
|
Interview mit Tobias |
|---|
|
Tobias König ist KDE-Entwickler und arbeitet im Kpdf-Projekt mit. Das Interview führte Stefan Lagotzki. Linux-Magazin: Welche sind die interessantesten Features von Kpdf? Tobias König: Wir haben die Suchfunktionen ausgebaut und Kpdf besser in KDE integriert. Außerdem haben wir den Präsentationsmodus und die Auswahlfunktionen erweitert. Man kann sich jetzt eine Textauswahl mit dem KDE-Text-to-Speech-System vorlesen lassen. Linux-Magazin: Welche Funktionen fehlen der aktuellen Kpdf-Version? Tobias König: Kpdf soll das Hinzufügen und Lesen von Kommentaren (Annotations) ermöglichen. Dazu haben wir einen eigenen Kpdf-Entwicklungszweig angelegt. Die Kommentare stehen dort in einer separaten XML-Datei. Linux-Magazin: Wie wird die Entwicklung weitergehen? Tobias König: Ab KDE 4 soll Kpdf ein Teil von Okular werden. Okular ist als KDE-Dokumentbetrachter konzipiert, der durch Plugins eine Vielzahl von Dokumenttypen anzeigen und möglichst alle PDF-Features von Kpdf – zum Beispiel Seitenvorschau, Suchfunktionen, Textauswahl, Text-to-Speech – anbieten soll. |
Evince
Evince dient unter Gnome als Standardbetrachter von PDF-Dateien. Dazu verwendet das Programm die Poppler-Bibliothek. Darüber hinaus zeigt es Djvu-Grafiken, Tiff-Bilder und Postscript-Dateien an. Weitere Formate sollen in künftigen Programmversionen folgen, ebenso PDF-Formulare und -Anmerkungen. Letzteres haben die Entwickler im Rahmen der von Google ins Leben gerufenen Initiative Summer of Code bereits realisiert, das Feature wird in die nächste Evince-Version einziehen.
Beim Aufruf fällt eine Besonderheit auf: In der Baumansicht der Gliederung zeigt Evince die Seitenzahlen an. Die Suchfunktion ist in der linken unteren Ecke des Programmfensters untergebracht und versperrt damit während der Suche nicht den Blick auf das Dokument. Bei Bedarf dreht Evince außerdem die Seiten einer PDF-Datei seitlich oder zeigt sie nebeneinander an.
Evince startet vergleichsweise schnell, auch bei großen Dokumenten. Das Rendern erledigt es erst nach dem Öffnen, sodass große Dokumente direkt nach dem Start für kurze Zeit unscharf erscheinen; der Betrachter erhält aber damit sehr schnell einen Überblick.

Abbildung 2: Die Auswahlfunktion von Kpdf kopiert Textabschnitte aus einem Dokument heraus oder lässt sie von Hilfsprogrammen vorlesen.

Abbildung 3: Evince soll zum Standard-Dokumentbetrachter für den Gnome-Desktop werden und nicht nur PDF-Dateien anzeigen.
Epdfview
Erst seit April dieses Jahres spielt Epdfview in der Liga der PDF-Betrachter mit. Wie Evince basiert das schlank gehaltene Programm auf der Poppler-Bibliothek und bietet daher auch die gleiche Leistung. Anders als Evince verwendet Epdfview aber keine Gnome-Bibliotheken, damit es auch auf anderen Desktops problemlos funktioniert.
Fazit
Es gibt eine reiche Auswahl an freien PDF-Viewern für Linux, die allerdings trotz ihrer Stärken dem proprietären Adobe Reader noch nicht auf allen Gebieten das Wasser reichen können. Aber mit pfiffigen Ergänzungen trumpfen sie in Spezialbereichen auf.
Um die Vorteile des PDF-Formats besser auszunutzen, wäre mehr Kooperation unter den Projekten zu begrüßen, beispielsweise zu einem gemeinsamen XML-Format für Kommentare, Lesezeichen oder Formulare. Insgesamt hat sich Linux zu einer sehr guten Plattform für die Arbeit mit PDF-Dateien entwickelt. Es stehen mächtige Bibliotheken und viele freie Werkzeuge bereit, die für die Zukunft hoffen lassen. (csc)
|
Infos |
|---|
|
[1] Gv: [http://www.gnu.org/software/gv] [2] Ghostscript: [http://www.ghostscript.com] [3] Adobe Reader für Linux: [http://www.adobe.com/products/acrobat/readstep2.html] [4] Xpdf: [http://www.foolabs.com/xpdf] [5] Poppler: [http://poppler.freedesktop.org] [6] Gsview: [http://www.ghostgum.com.au] [7] PDF-Referenz: [http://partners.adobe.com/public/developer/pdf/index_reference.html] [8] Itext: [http://www.lowagie.com/iText] [9] Evince: [http://gnome.org/projects/evince] [10] Epdfview: [http://www.emma-soft.com/projects/epdfview] [11] Acrotex: [http://www.acrotex.net] [12] Beispiele und deutsche Manpage zu Pdftk: [http://www.lagotzki.de/pdftk] [13] “Die Lobbyschlacht um Softwarepatente”: [http://www.softwarepatente-buch.de/DieLobbyschlachtUmSoftwarepatente.pdf] |






