Zurück |  | Weiter

## 9.11. Sprungziele nach XML extrahieren

„Named Destinations“, die Sprungziele innerhalb von PDF-Dokumenten, können schlecht getestet werden, da man sie ja nicht sieht. Mit dem Hilfsprogramm `ExtractNamedDestinations` können Sie sie aber nach XML extrahieren und anschließend in XPath-basierten Tests verwenden. Das Kapitel 3.17: „Lesezeichen (Bookmarks) und Sprungziele“ beschreibt diese Tests ausführlich.

Und so sieht das Extraktionsskript aus:

### Aufruf

    ::
    :: Extract information about named destinations in a PDF document into an XML file
    ::

    @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.ExtractNamedDestinations
    set OUT_DIR=./tmp
    set IN_FILE=bookmarksWithPdfOutline.pdf
    set PASSWD=

    java  %TOOL%  %IN_FILE%  %OUT_DIR%  %PASSWD%
    endlocal

### Eingabe

Die im Beispiel verwendete Datei `bookmarksWithPdfOutline.pdf` enthält verschiedene Sprungziele.

### Ausgabe

Es entsteht die Datei `_named-destinations_bookmarksWithPdfOutline.out.xml` mit folgendem Inhalt:

    <?xml version="1.0" encoding="UTF-8"?>
    <Destination>
      <Name Page="3 XYZ 36 764 0">destination2.2</Name>
      <Name Page="3 XYZ 36 800 0">destination2_no_blank<</Name>
      <Name Page="3 XYZ 36 782 0">destination2.1</Name>
      <Name Page="2 XYZ 36 800 0">destination1</Name>
      <Name Page="4 XYZ 36 800 0">destination3 with blank</Name>
    </Destination>

PDFUnit verwendet intern `SimpleNamedDestination.getNamedDestination(..)` von iText (http://www.itextpdf.com). Auch hier einen Dank an die Entwickler.

Zurück | Nach oben | Weiter
9.10. Signaturdaten nach XML extrahieren | Zum Anfang | 9.12. Unicode-Texte in Hex-Code umwandeln