Zurück |  | Weiter

## 9.9. Schrifteigenschaften nach XML extrahieren

Wie in Kapitel 3.19: „Schriften“ beschrieben, bergen Schriften eine Komplexität, die ruhig öfter getestet werden sollte. Sie können alle Informationen über Schriften mit dem Hilfsprogramm `ExtractFontsInfo` als XML-Datei aus PDF extrahieren, um darauf mit XPath vielseitige Tests zu entwickeln.

Der Algorithmus, der die XML-Datei erzeugt, ist der gleiche, der auch von den PDFUnit-Tests verwendet wird.

### Aufruf

    ::
    :: Extract information about fonts used 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.ExtractFontsInfo
    set OUT_DIR=./tmp
    set IN_FILE=fonts_11_japanese.pdf
    set PASSWD=

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

### Eingabe

Der Adobe Reader® zeigt folgende Schriften des japanischen PDF-Dokumentes `fonts_11_japanese.pdf`:

### Ausgabe

Die markierten Namen sind auch in der erzeugten Ausgabedatei `_fontinfo_fonts_11_japanese.out.xml` enthalten:

    <?xml version="1.0" encoding="UTF-8" ?>
    <fontlist>
      ...
      <font name="Arial-BoldMT"        baseFontName="Arial-BoldMT"
            type="TrueType"            embedded="false"
            encoding="WinAnsiEncoding" convertibleToUnicode="false"
      />
      <font name="MDOLLI+MS-Gothic"    baseFontName="MS-Gothic"
            type="CIDFontType2"        embedded="true"
            convertibleToUnicode="false"
      />
      <font name="MDOLLI+MS-Gothic"    baseFontName="MS-Gothic"
            type="Type0"               embedded="false"
            encoding="Identity-H"      convertibleToUnicode="true"
      />
      ...
    </fontlist>

Die XML-Datei listet jedes Subset einer Schriftart einzeln auf. Dadurch ergeben sich Abweichungen von der Anzeige durch den Adobe Reader®.

Sie können die Datei beliebig formatieren, ohne dass dadurch die Tests beeinflusst werden, weil Whitespaces zwischen Elementen und Attributen nach den Regeln von XML sowieso keine Rolle spielen.

Auf der Basis dieser Datei können Sie mit einem geeigneten XPath-Ausdruck beliebige Eigenschaften von Schriften testen.

Zurück | Nach oben | Weiter
9.8. PDF-Seite ausschnittweise in PNG umwandeln | Zum Anfang | 9.10. Signaturdaten nach XML extrahieren