Wenn Sie formatierten Text testen wollen, geht das nur so, dass die PDF-Seite
in ein Bild gerendert wird und dieses Bild anschließend gegen eine Bildvorlage
verglichen wird. Das Kapitel
3.15: „Layout - gerenderte volle Seiten“
beschreibt Layout-Tests unter Verwendung gerenderter Seiten und das
Hilfsprogramm RenderPdfToImages
rendert ein PDF-Dokument
seitenweise in PNG-Dateien.
:: :: Render PDF into image files. Each page as a file. :: @echo off setlocal set CLASSPATH=./lib/pdfunit-2015.10/*;%CLASSPATH% set CLASSPATH=./lib/jpedal/*;%CLASSPATH% set CLASSPATH=./lib/bouncycastle-jdk15on-150/*;%CLASSPATH% set TOOL=com.pdfunit.tools.RenderPdfToImages set OUT_DIR=./tmp set IN_FILE=compareToMaster.pdf set PASSWD= java %TOOL% %IN_FILE% %OUT_DIR% %PASSWD% endlocal
Die Eingabe-Datei compareToMaster.pdf
enthält 4 Seiten
mit unterschiedlichen Bildern und Texten. Die erste Seite sieht im PDF-Reader „SumatraPDF“
(http://code.google.com/p/sumatrapdf)
folgendermaßen aus:
Nach dem Rendern sind 4 Dateien entstanden:
.\tmp\_rendered_compareToMaster_page1 .\tmp\_rendered_compareToMaster_page2 .\tmp\_rendered_compareToMaster_page3 .\tmp\_rendered_compareToMaster_page4
Von diesen sieht die erste Datei als Bild genauso aus, wie im PDF-Reader.
PDFUnit benutzt intern den gleichen Algorithmus zum Rendern, wie ihn auch das Extraktionsprogramm benutzt. Insofern bedeuten Abweichungen in einem Test, dass sich das PDF-Dokument seit dem Zeitpunkt des Renderns verändert hat.
PDFUnit nutzt intern die Klasse org.jpedal.PdfDecoder
aus dem Projekt „jPedal“
(http://www.idrsolutions.com/). Danke
an die Entwickler.