Kapitel 9. PDFUnit für Nicht-Perl Systeme

9.1. Kurzer Blick auf PDFUnit-Java

PDFUnit-Java ist die erste Implementierung von PDFUnit und auch die Basis für die Implementierung in anderen Programmiersprachen. Für die XML-Implementierung ist PDFUnit-Java auch die technische Laufzeitumgebung. Sofern es möglich ist, werden die Schlüsselwörter aller Implementierungen von PDFUnit gleichlautend zu den Schlüsselwörtern in PDFUnit-Java gewählt.

Die API folgt dem Fluent Interface (http://de.wikipedia.org/wiki/Fluent_Interface), wie die folgenden Beispiele zeigen:

@Test
public void hasTextOnFirstPageInPageRegion() throws Exception {
  String filename = "documentUnderTest.pdf";
  
  int leftX  =  50;
  int upperY = 130;
  int width  = 170;
  int height =  25; 
  PageRegion pageRegion = new PageRegion(leftX, upperY, width, height);
  
  AssertThat.document(filename)
            .restrictedTo(FIRST_OAGE)
            .restrictedTo(pageRegion)
            .hasText()
            .containing("Content on first page") 
  ;
}
@Test
public void compareFields() throws Exception {
  String filenameTest = "documentUnderTest.pdf";
  String filenameReference = "reference.pdf";
  
  AssertThat.document(filenameTest)
            .and(filenameReference)
            .haveSameFieldsByName()
            .haveSameFieldsByValue()
  ;
}
@Test
public void hasSignature() throws Exception {
  String filename = "documentUnderTest.pdf";
  Calendar signingDate = DateHelper.getCalendar("2007-10-14", "yyyy-MM-dd");
  
  AssertThat.document(filename)
            .hasSignatureField("sign_rbl")
            .signedBy("Raymond Berthou")
            .signedOn(signingDate)
  ;
}

PDFUnit-Java ist in einer eigenen Dokumentation ausführlich beschrieben. Siehe http://www.pdfunit.com/de/documentation/java/index.html.