Das Hilfsprogramm ExtractXMPData liest die XMP-Daten eines PDF-Dokumentes
der Dokumenten-Ebene (document level) aus und schreibt sie in eine XML-Datei.
Diese Datei kann anschließend für solche PDFUnit-Tests verwendet werden, wie sie in Kapitel
3.30: „XMP-Daten“
beschrieben sind.
XMP-Daten können nicht nur auf der Dokumenten-Ebene vorkommen, sondern auch in anderen Teilen eines PDF-Dokumentes. Solche XMP-Daten werden im aktuellen Release nicht extrahiert. Für zukünftige Versionen von PDFUnit ist die Extraktion aller XMP-Daten geplant.
:: :: Extract XMP data from a PDF document as XML :: @echo off setlocal set CLASSPATH=./lib/pdfunit-2015.10/*;%CLASSPATH% set CLASSPATH=./lib/itext-5.5.1/*;%CLASSPATH% set CLASSPATH=./lib/bouncycastle-jdk15on-150/*;%CLASSPATH% set TOOL=com.pdfunit.tools.ExtractXMPData set OUT_DIR=./tmp set IN_FILE=LXX_vocab.pdf set PASSWD= java %TOOL% %IN_FILE% %OUT_DIR% %PASSWD% endlocal
Die erzeugte XML-Datei _xmpdata_LXX_vocab.out.xml wird hier
verkürzt dargestellt:
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-14, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:iX='http://ns.adobe.com/iX/1.0/'
>
...
<rdf:Description rdf:about='uuid:f6a30687-f1ac-4b71-a555-34b7622eaa94'
xmlns:pdf='http://ns.adobe.com/pdf/1.3/'
pdf:Producer='Acrobat Distiller 6.0.1 (Windows)'
pdf:Keywords='LXX, Septuagint, vocabulary, frequency'>
</rdf:Description>
<rdf:Description rdf:about='uuid:f6a30687-f1ac-4b71-a555-34b7622eaa94'
xmlns:xap='http://ns.adobe.com/xap/1.0/'
xap:CreateDate='2006-05-02T11:35:38-04:00'
xap:CreatorTool='PScript5.dll Version 5.2.2'
xap:ModifyDate='2006-05-02T11:37:57-04:00'
xap:MetadataDate='2006-05-02T11:37:57-04:00'>
</rdf:Description>
...
</rdf:RDF>
</x:xmpmeta>
Bei der Verarbeitung benutzt PDFUnit intern die Methode
PdfReader.getMetadata() von iText
(http://www.itextpdf.com).