„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 hasTextOnFirstPageInClippingArea() throws Exception { String filename = PATH + "content/documentForTextClipping.pdf"; int upperLeftX = 50; int upperLeftY = 130; int width = 170; int height = 25; ClippingArea inClippingArea = new ClippingArea(upperLeftX, upperLeftY, width, height); AssertThat.document(filename) .hasText(ON_FIRST_PAGE, inClippingArea) .containing("Content on first page") ; }
@Test public void compareFields() throws Exception { String filenameTest = PATH + "acrofields/test.pdf"; String filenameMaster = PATH + "acrofields/master.pdf"; AssertThat.document(filenameTest) .and(filenameMaster) .haveSameFieldsByName() .haveSameFieldsByProperties() .haveSameFieldsByValue() ; }
@Test public void hasSignature() throws Exception { String filename = PATH + "signed/sampleSignedPDFDocument.pdf"; String xpath = "//signature[@name='Signature2']"; XPathExpression expression = new XPathExpression(xpath); AssertThat.document(filename) .hasSignatures() .matchingXPath(expression) ; }
PDFUnit-Java ist in einer eigenen Dokumentation ausführlich beschrieben. Siehe http://www.pdfunit.com/de/documentation/java/index.html.