veraPDF auf Debian installieren

Für meinen Verlag benötige ich eine Möglichkeit, PDF-Dokumente von der Kommandozeile zu valieren. Dazu bietet sich das von der EU geförderte Projekt veraPDF an.

Aktuelle Pakete gibt es hier: http://docs.verapdf.org/install/

Hier eine kleine Schnellanleitung.

cd ~
wget http://downloads.verapdf.org/rel/verapdf-installer.zip
unzip verapdf-installer.zip
cd verapdf-greenfield-1.10.6 # oder welcher Ordner auch immer gerade erzeugt wurde
./verapdf-install #  alles per Default durchklicken, optionales ist unnötig

und noch ein Test, ob alles richtig installiert wurde

/home/juergen/verapdf/verapdf --version # je nachdem, wohin man installiert hat

veraPDF 1.10.6
Built: Thu Dec 28 11:58:00 CET 2017
Developed and released by the veraPDF Consortium.
Funded by the PREFORMA project.
Released under the GNU General Public License v3
and the Mozilla Public License v2 or later.

Und so prüft man jetzt ein PDF-File:

/home/juergen/verapdf/verapdf datei.pdf

nach einigen Sekunden gibt es eine SEHR detaillierte XML-Ausgabe, die hoffentlich so aussieht:

<?xml version=”1.0″ encoding=”utf-8″?>
<report>
<buildInformation>
<releaseDetails id=”core” version=”1.10.2″ buildDate=”2017-11-30T12:47:00+01:00″></releaseDetails>
<releaseDetails id=”validation-model” version=”1.10.5″ buildDate=”2017-12-28T11:51:00+01:00″></releaseDetails>
<releaseDetails id=”gui” version=”1.10.6″ buildDate=”2017-12-28T11:58:00+01:00″></releaseDetails>
</buildInformation>
<jobs>
<job>
<item size=”370846″>
<name>datei.pdf</name>
</item>
<validationReport profileName=”PDF/A-1A validation profile” statement=”PDF file is compliant with Validation Profile requirements.” isCompliant=”true”>
<details passedRules=”107″ failedRules=”0″ passedChecks=”398094″ failedChecks=”0″></details>
</validationReport>
<duration start=”1519383704755″ finish=”1519383711678″>00:00:06.923</duration>
</job>
</jobs>
<batchSummary totalJobs=”1″ failedToParse=”0″ encrypted=”0″>
<validationReports compliant=”1″ nonCompliant=”0″ failedJobs=”0″>1</validationReports>
<featureReports failedJobs=”0″>0</featureReports>
<repairReports failedJobs=”0″>0</repairReports>
<duration start=”1519383704171″ finish=”1519383711717″>00:00:07.546</duration>
</batchSummary>
</report>

Und siehe da: failedRules=”0″