Die Gründe, um Tests mit gerenderten Ausschnitten einer PDF-Seite durchzuführen,
sind in Kapitel
3.19: „Layout - gerenderte Seitenausschnitte“
beschrieben. Um den Seitenausschnitt „richtig“
zu ermitteln, stellt PDFUnit das kleine Hilfsprogramm RenderPdfPageRegionToImage
zur Verfügung. Mit ihm wird der durch die Aufrufparameter bestimmte Ausschnitt als
PNG-Datei exportiert und kann danach „per Augenschein“ auf seine Richtigkeit
überprüft werden. Wenn der Ausschnitt stimmt, übernehmen Sie die Parameter in Ihren
Test.
:: :: Render a part of a PDF page into an image file :: @echo off setlocal set CLASSPATH=./lib/aspectj-1.8.7/*;%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.RenderPdfPageRegionToImage set OUT_DIR=./tmp set PAGENUMBER=1 set IN_FILE=documentForTextClipping.pdf set PASSWD= :: Put these values into your test code: :: Values in millimeter: set UPPERLEFTX=17 set UPPERLEFTY=45 set WIDTH=60 set HEIGHT=9 java %TOOL% %IN_FILE% %PAGENUMBER% %OUT_DIR%%FORMATUNIT% %UPPERLEFTX% %UPPERLEFTY% %WIDTH% %HEIGHT% %PASSWD% endlocal
Die 4 Werte, die den Ausschnitt beschreiben, müssen Millimeter (mm) sein.
Die Eingabedatei documentForTextClipping.pdf
enthält im oberen Bereich
den Text: „
Content on first page.
“
Die erzeugte Bilddatei muss auf ihre Richtigkeit überprüft werden.
Damit Sie bei mehreren Seitenausschnitten nicht den Überblick verlieren,
enthält der Dateiname die Ausschnittparameter.
PDFUnit und das Hilfsprogramm RenderPdfPageRegionToImage
nutzen
den gleichen Algorithmus. Deshalb können Sie die Parameter aus dem Skript direkt
in Ihren Test übernehmen oder auch nachträglich aus dem Dateinamen ableiten:
# # Parameters from filename: # _rendered_documentForTextClipping_page-1_area-50-130-170-25.out.png | | | | | | | +- height | | +- width | +- upperLeftY +- upperLeftX