9.7. PDF-Dokument seitenweise in PNG umwandeln

Sie können formatierten Text testen, indem Sie eine PDF-Seite in ein Bild rendern und dieses Bild anschließend gegen eine Bildvorlage vergleichen. Das Kapitel 3.18: „Layout - gerenderte volle Seiten“ beschreibt Layout-Tests unter Verwendung gerenderter Seiten. Mit dem Hilfsprogramm RenderPdfToImages erzeugen Sie seitenweise PNG-Dateien von PDF-Dokumenten.

Aufruf

::
:: Render PDF into image files. Each page as a file.
::

@echo off
setlocal
set CLASSPATH=./lib/bouncycastle-jdk15on-153/*;%CLASSPATH%
set CLASSPATH=./lib/commons-logging-1.2/*;%CLASSPATH%
set CLASSPATH=./lib/pdfbox-2.0.0/*;%CLASSPATH%
set CLASSPATH=./lib/pdfunit-2016.05/*;%CLASSPATH%

set TOOL=com.pdfunit.tools.RenderPdfToImages
set OUT_DIR=./tmp
set IN_FILE=documentUnderTest.pdf
set PASSWD=

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

Eingabe

Die Eingabe-Datei documentUnderTest.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:

Ausgabe

Nach dem Rendern sind 4 Dateien entstanden:

.\tmp\_rendered_documentUnderTest_page1
.\tmp\_rendered_documentUnderTest_page2
.\tmp\_rendered_documentUnderTest_page3
.\tmp\_rendered_documentUnderTest_page4

Von diesen sieht die erste Datei als Bild genauso aus, wie im PDF-Reader (s.o.):

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.