Die Gründe, um Tests mit gerenderten Ausschnitten einer PDF-Seite durchzuführen,
sind in Kapitel
3.16: „Layout - gerenderte Seitenausschnitte“
beschrieben. Um den Seitenausschnitt „richtig“
zu ermitteln, stellt PDFUnit das kleine Hilfsprogramm RenderPdfClippingAreaToImage
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/pdfunit-2015.10/*;%CLASSPATH% set CLASSPATH=./lib/jpedal/*;%CLASSPATH% set CLASSPATH=./lib/bouncycastle-jdk15on-150/*;%CLASSPATH% set CLASSPATH=./lib/aspectj-1.8.0/*;%CLASSPATH% set TOOL=com.pdfunit.tools.RenderPdfClippingAreaToImage set OUT_DIR=./tmp set PAGENUMBER=1 set IN_FILE=documentForTextClipping.pdf set PASSWD= :: Format unit can only be 'mm' or 'points' set FORMATUNIT=points :: Put these values into your test code: set UPPERLEFTX=50 set UPPERLEFTY=130 set WIDTH=170 set HEIGHT=25 java %TOOL% %IN_FILE% %PAGENUMBER% %OUT_DIR% %FORMATUNIT% %UPPERLEFTX% %UPPERLEFTY% %WIDTH% %HEIGHT% %PASSWD% endlocal
Die 4 Werte, die den Ausschnitt beschreiben, müssen entweder Millimeter mm
oder Points points
sein. Sie werden einen Taschenrechner bemühen müssen,
um an die richtigen Werte zu kommen.
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 RenderPdfClippingAreaToImage
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
PDFUnit nutzt für dieses Hilfsprogramm intern Funktionen aus dem Projekt „jPedal“ (http://www.idrsolutions.com/). Nochmals Danke an die Entwickler.