Der PDF-Standard „ISO 32000-1:2008“ sagt in Kapitel 14.8.1, „A Tagged PDF document shall also contain a mark information dictionary (see Table 321) with a value of true for the Marked entry.“ (Zitat aus: http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf.)
Obwohl diese Formulierung nur das Wort „shall“ enthält, prüft PDFUnit,
ob ein PDF-Dokument ein Dictionary mit dem Namen /MarkInfo
enthält.
Wenn darin ein Eintrag mit dem Key /Marked
und dem Wert true
existiert,
gilt es für PDFUnit als „tagged“.
Die folgenden Methoden stehen zur Verfügung:
// Simple tests: .isTagged() // Tag value tests: .isTagged().with(..) .isTagged().with(..).andValue(..)
Die einfachsten Test überprüfen, ob Tagging-Informationen überhaupt vorhanden sind:
@Test public void isTagged() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .isTagged() ; }
Etwas weitergehend sind Prüfungen, die auf die Existenz bestimmter Tags prüfen:
@Test public void isTagged_WithKey() throws Exception { String filename = "documentUnderTest.pdf"; String tagName = "LetterspaceFlags"; AssertThat.document(filename) .isTagged() .with(tagName) ; }
Als Letztes können Werte bestimmter Tags verifiziert werden:
@Test public void isTagged_WithKeyAnValue_MultipleInvocation() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .isTagged() .with("Marked").andValue("true") .with("LetterspaceFlags").andValue("0") ; }