Mit VeraPDF PDF-Dateien auf Konformität prüfen

Aus LinuxUser 05/2017

Mit VeraPDF PDF-Dateien auf Konformität prüfen

© Fernando Gregory Milan, 123RF

Genau durchleuchtet

PDF-Dokumente gelten als erste Wahl, wenn es um das Archivieren geht. VeraPDF prüft, ob die Dateien dazu korrekt strukturiert sind.

PDF-Dokumente gehören seit Langem zum Kanon der Formate, mit denen Sie sich im Alltag konfrontiert sehen (siehe Kasten “Rückblick”). Es verbreitete sich zunehmend, und schon bald rückte es auf die vorderen Plätze, wenn es ums Archivieren von Dokumenten ging. Dabei spielt insbesondere eine Rolle, dass alle Daten, die zum Dokument gehören und die dieses referenziert, ebenfalls dauerhaft bereitstehen.

2005 entstand daher unter der Regie der Internationalen Standardisierungsorganisation (ISO) der dazugehörige PDF/A-1-Standard ISO 19005 [1]. Er regelt, welche Inhalte in einem solchen Dokument enthalten sein dürfen, um es zu ermöglichen, dieses dauerhaft zu archivieren. Grundlage dafür war PDF-Version 1.4.

2011 und 2012 folgten die Erweiterungen PDF/A-2 und PDF/A-3, die auf der PDF-Version 1.7 basieren und denen der ISO-Standard 32000-1 [2] zugrunde liegt. PDF/A-2 erlaubt etwa eine stärkere Kompression von JPEG-Bildern sowie transparente Ebenen, das Einbetten von OpenType-Schriften [3] sowie den Einsatz von digitalen Signaturen.

PDF/A-3 erweitert die bereits seit PDF/A-2 bestehenden Container dahingehend, dass Sie darin beliebige andere Dateiformate einpacken dürfen. Das ermöglicht es, neben XML-Dateien auch die Ausgangsdaten im Dokument zu speichern, aus denen Sie das PDF generiert haben. Auf diese Weise befinden sich die Quellen und das Ergebnis in derselben Datei.

Zu jeder Variante des Standards bestehen Abstufungen, die man mit einzelnen Buchstaben referenziert. Dabei steht “a” für die Barrierefreiheit [4] (“Accessibility”); “b” bezieht sich auf die visuelle Integrität, also die dauerhaft identische Anzeige des Dokuments.

Das Suffix “u” vereinfacht das Durchsuchen von Text innerhalb des Dokuments sowie das Kopieren desselben als Unicode-Text. Das betrifft sogar solche PDFs, die Sie mittels optischer Zeichenerkennung (OCR) eingescannt haben [5].

Rückblick

Das US-amerikanische Unternehmen Adobe entwickelte 1993 das Portable Document Format (PDF) mit dem Ziel, dass solche Dokumente auf allen Ausgabegeräten und Betriebssystemen identisch erscheinen sollten. Dieses Ziel wurde weitgehend erreicht. Dabei erwies es sich als hilfreich, dass Adobe die vollständige Definition des Formats öffentlich machte und sich die Entwickler und andere Firmen recht gut an den Standard hielten. Die Implementierungen setzen also die Vorgaben des Formats zumeist vollständig um.

Als Knackpunkt erweist sich jedoch nach wie vor die Verfügbarkeit der einzelnen Entwicklungsstufen auf unterschiedlichen Plattformen und Betriebssystemen. Unter Linux gilt noch immer die 2001 veröffentlichte PDF-Version 1.4 als Basis, während Version 1.7 mit den nachfolgenden Erweiterungen auf Mac OS X und Windows den gemeinsamen Nenner bilden. Adobe hat Version 1.7 bereits 2006 vorgestellt [17].

PDF als solches bietet als flexibles Format viele Freiheiten, um möglichst vielen unterschiedlichen Ansprüchen gerecht zu werden. Der Standard erlaubt etwa das Einbinden externer Daten wie Schriftarten, Webseiten und Attachments, regelt darüber hinaus aber auch den Umgang mit Formularen, Ebenen und Transparenzen.

VeraPDF

Als Steuerungsgremium für die Entwicklung von PDF/A fungiert die PDF Association [6]. Sie hält auch beim Projekt VeraPDF [7] die Fäden zusammen. Die Europäische Union fördert das Projekt im Rahmen der Initiative “Preservation Formats for culture information/e-archives” (PREFORMA) [8]. Der Quellcode steht unter den freien Lizenzen GPLv3 und MPLv2.

Im Januar 2017 erfolgte die Veröffentlichung von VeraPDF 1.0 [9] mit sehr viel Rummel [10]. Die Entwickler bitten seitdem intensiv um Rückmeldungen, um bis zur finalen Freigabe der Version 1 im Juli 2017 noch möglichst viele Fehler zu finden und zu beseitigen.

Dieses Vorgehen weicht eklatant vom bisher üblichen Schema der Vergabe einer Versionsnummer ab. Verfolgen Sie die Ergänzungen auf GitHub [11] oder lesen die Mailingliste des Projekts mit, sehen Sie jedoch, dass die Saat aufgeht und nahezu täglich Verbesserungen erscheinen.

Bezug und Installation

Die Installation erfolgt in der Regel nicht über die Paketverwaltung. VeraPDF steht zum kostenfreien Download auf der Webseite des Projekts als Zip-Archiv für Linux, Windows und Mac OS X bereit. Es setzt Java 7 voraus; Sie benötigen daher unter Debian oder Ubuntu das Paket openjdk-7-jre [12].

Im ersten Schritt laden Sie die rund 36 MByte große Datei verapdf-installer.zip herunter und entpacken diese mittels Unzip in einem lokalen Verzeichnis. Sie erhalten einen neuen Ordner namens verapdf-Version-PDFBOX, wobei sich die Daten der im Test verwendeten Variante 1.0.6 in verapdf-1.0.6-PDFBOX befanden. Im Verzeichnis liegen drei Skripte, von dem Sie verapdf-install auswählen und mit folgendem Befehl aufrufen:

$ ./verapdf-install

Der auf Java basierende Installer führt in fünf Schritten durch das Setup. Nach den Hinweisen zum Projekt (Schritt 1) legen Sie das Verzeichnis für die eigentliche Installation fest (Schritt 2). Das Programm schlägt ~/verapdf/ vor, was Sie jedoch nach eigenem Gusto anpassen dürfen.

Im dritten Schritt bestimmen Sie, welche der fünf Komponenten Sie nutzen wollen: Sie benötigen zwingend die grafische Bedienoberfläche (veraPDF GUI) und die Skripte, optional sind hingegen die Testdaten, die Dokumentation und die Beispiele für Plugins (Abbildung 1). In den Schritten 4 und 5 erhalten Sie die Bestätigung zur erfolgreichen Installation der Komponenten.

Abbildung 1: Ein Assistent führt Sie durch die Installation der Software. Er bietet die Möglichkeit, die gewünschten Komponenten auszuwählen.

Abbildung 1: Ein Assistent führt Sie durch die Installation der Software. Er bietet die Möglichkeit, die gewünschten Komponenten auszuwählen.

Daten überprüfen

VeraPDF lässt sich in zwei Varianten einsetzen – als Werkzeug mit einer grafischen Oberfläche (verapdf-gui) und als Programm für die Kommandozeile (verapdf). Beide Versionen liegen als ausführbare Datei in der obersten Ebene des Verzeichnisses, das Sie bei der Installation benannt haben.

Bei der grafischen Variante landen Sie direkt in einem Dialog (Abbildung 2), in dem Sie zuerst die Datei auswählen, die Sie überprüfen möchten. Dazu nutzen Sie die Schaltfläche Choose PDF. Im zweiten Schritt entscheiden Sie, wie die Software die Datei auswertet – also, ob sie lediglich validiert, die Features nennt oder beides. Falls Sie mit dem Programm die Metadaten reparieren möchten, setzen Sie ein Häkchen bei Fix metadata.

Abbildung 2: Schlägt das Validieren fehl, meldet die Software das innerhalb des Dialogs, bietet aber zugleich die Möglichkeit, einen Bericht in verschiedenen Formaten zu exportieren.

Abbildung 2: Schlägt das Validieren fehl, meldet die Software das innerhalb des Dialogs, bietet aber zugleich die Möglichkeit, einen Bericht in verschiedenen Formaten zu exportieren.

Der dritte Schritt umfasst das Erkennen des Archivtyps in der Auswahl rechts, üblicherweise per voreingestellter automatischer Erkennung (auto-detection). Die Auswahl erlaubt es aber darüber hinaus, das Format noch weiter einzugrenzen oder gar ein eigenes Profil (custom profile) einzusetzen.

Im vierten Schritt folgt die Evaluierung, die Sie über den Knopf Execute auslösen. Eine Kurzfassung des Ergebnisses liefert VeraPDF direkt links neben dem Knopf – Grün steht für “entspricht dem gewählten Standard” und Rot für “passt nicht” (siehe Abbildung 2).

Für weitere Details benutzen Sie die vier Knöpfe im Bereich Report. View XML öffnet den Report als pures XML in einem neuen Tab im Webbrowser, View HTML zeigt ihn als hübsch aufbereitete Webseite an (Abbildung 3). Die anderen beiden mit Save XML beziehungsweise Save HTML betitelten Schaltflächen erlauben es, den Report direkt als Datei im jeweiligen Format zu sichern.

Abbildung 3: Möchten Sie wissen, wo genau beim Validieren ein Fehler auftrat, helfen unter Umständen die Berichte weiter, die VeraPDF generiert.

Abbildung 3: Möchten Sie wissen, wo genau beim Validieren ein Fehler auftrat, helfen unter Umständen die Berichte weiter, die VeraPDF generiert.

Im Terminal

Bei der Variante für die Kommandozeile handelt es sich im Prinzip um ein komplexes Shell-Skript, das die eigentliche Auswertung steuert. Neben einer Reihe von Schaltern (siehe Tabelle “Optionen”) erwartet es das PDF-Dokument als Argument.

Parameter

Kurzform

Bedeutung

--extract

-x

PDF-Features ausgeben

--fixmetadata

 

fehlerhafte PDF-Metadaten bereinigen

--flavour

-f

PDF/A-Variante auswählen (0=automatisch, 1a..3u=Variante)

--format

 

Ausgabeformat(xml, mrr, text)

--help

-h

Hilfe

--list

-l

Liste der integrierten Profile zum Validieren

--maxfailures

 

maximale Anzahl Validierungsfehler

--maxfailuresdisplayed

 

maximal dargestellte Menge der Validierungsfehler

--off

-o

Validieren von PDF/A ausschalten

--policyfile

 

Schematron- oder XSL-File festlegen

--prefix

 

Präfix für Dateien mit reparierten Metadaten

--profile

-p

Profil zum Validieren spezifizieren

--recurse

-r

Verzeichnisse rekursiv durchlaufen

--savefolder

 

Ausgabeverzeichnis für reparierte Dateien

--success, --passed

 

erfolgreiche Validierungen ausgeben

--verbose

-v

fehlgeschlagene Validierungen ausgeben

--version

 

Versionsnummer ausgeben

Die Schalter eignen sich vor allem für den Batch-Betrieb, bei dem Sie eine größere Anzahl von Dateien verarbeiten. Abbildung 4 zeigt das Programm im Einsatz mit der Kombination aus den Schaltern -v, --format und -r. Das Ergebnis zeigt, dass die ersten drei Dateien nicht PDF/A-konform sind (FAIL), der Test bei der vierten Datei jedoch erfolgreich verlief (PASS).

Abbildung 4: Möchten Sie mehrere Dateien nacheinander validieren, lohnt es sich, auf die Variante für die Kommandozeile auszuweichen.

Abbildung 4: Möchten Sie mehrere Dateien nacheinander validieren, lohnt es sich, auf die Variante für die Kommandozeile auszuweichen.

In der Praxis

Die Oberfläche von VeraPDF steht ausschließlich in einer englischen Lokalisierung bereit. Andere Sprachen bietet die Software derzeit nicht an. Das mag für den einen oder anderen im Alltag durchaus ein Hindernis darstellen.

Um das Ergebnis richtig zu deuten, kamen im Test noch andere Programme zum Einsatz. Basis bildeten neben eigenen PDF-Dateien die Dokumente aus dem umfangreichen Korpus, den die Software mitliefert. Der Acrobat Reader 9 erkannte zumindest PDF/A-Dokumente als solche, kann sie aber nicht validieren. Adobe Acrobat prüfte auf Barrierefreiheit [13], war aber nicht in der Lage, diese zu bestätigen.

Erfolgreicher hingegen verliefen die Tests über die webbasierten Plattformen Pdf-online [14], Pdflib [15] und Validatepdfa [16]. Alle drei gaben ein identisches Ergebnis zurück, das mit dem von VeraPDF übereinstimmte (Abbildung 5).

Abbildung 5: Die webbasierte Plattform Pdflib, die es ebenfalls ermöglicht, entsprechende Dokumente zu validieren, lieferte das gleiche Ergebnis zurück wie VeraPDF.

Abbildung 5: Die webbasierte Plattform Pdflib, die es ebenfalls ermöglicht, entsprechende Dokumente zu validieren, lieferte das gleiche Ergebnis zurück wie VeraPDF.

Fazit

Mit VeraPDF steht ein stabiles und zuverlässiges Werkzeug bereit, um PDF-Dokumente auf die Konformität gemäß PDF/A zu überprüfen. Das Programm funktionierte im Test über die Kommandozeile wie über die grafische Oberfläche tadellos. Daher erscheint es für den Einsatz im Alltag empfehlenswert. 

Danksagung

Der Autor bedankt sich bei Mandy Neumeyer und Sebastian Andres für deren Anregungen, Unterstützung und kritische Kommentare im Vorfeld dieses Artikels.

Der Autor

Frank Hofmann arbeitet als digitaler Nomade bevorzugt von Berlin, Genf und Kapstadt aus als Entwickler, Trainer und Autor. Er ist Koautor des Debian-Paketmanagement-Buches (http://www.dpmb.org).

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 05/2017 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben