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).