3.15. Layout - gerenderte volle Seiten

Überblick

Der Text eines PDF-Dokumentes hat Eigenschaften wie Schriftgröße, Schriftfarbe, Linien, die richtig sein müssen, bevor der Kunde es in den Händen hält. In die gleiche Kategorie fallen auch Absätze, Ausrichtung von Text sowie Bilder und Bildbezeichnungen. PDFUnit testet diese Layout-Aspekte, indem es das Test-Dokument seitenweise rendert und dann jede Seite:

Für Tests von PDF-Seiten als gerendertes Bild steht das Tag <asRenderedPage /> zur Verfügung.

<!-- Tags to compare rendered PDF pages with image files: -->

<asRenderedPage on=".."                 (One of these attributes ...
                onPage=".."             ...
                onEveryPageAfter=".."   ...
                onEveryPageBefore=".."  ...
                onAnyPageAfter=".."     ...
                onAnyPageBefore=".."    ... is required)
/>

<!-- Nested tag of <asRenderedPage> : -->

<isEqualTo  image=".."               (required)
            positionUpperLeftX=".."  (optional)
            positionUpperLeftY=".."  (optional)
            unit=".."                (optional)
/>

Für den Vergleich können beliebige Seiten angegeben werden. Das Kapitel 13.2: „Seitenauswahl“ geht näher darauf ein.

Dieses Kapitel beschreibt die Vergleiche für ganze Seiten. Wenn es keinen Sinn macht, eine vollständige PDF-Seite als gerendertes Bild zu vergleichen, kann der Vergleich auf einen Ausschnitt beschränkt werden. Das nachfolgende Kapitel 3.16: „Layout - gerenderte Seitenausschnitte“ geht darauf näher ein.

Beispiel - Ausgewählte Seiten als Bild vergleichen

Die Seiten 1, 3 und 4 sollen genauso aussehen, wie die eines Vergleichsdokumentes:

<testcase name="compareAsRenderedPage_MultipleImages">
  <assertThat testDocument="master/documentUnderTest.pdf">
    <asRenderedPage onPage="1, 3, 4">
      <isEqualTo image="master/documentUnderTest_Page1.png" />
      <isEqualTo image="master/documentUnderTest_Page3.png" />
      <isEqualTo image="master/documentUnderTest_Page4.png" />
    </asRenderedPage>
  </assertThat>
</testcase>

Bildformate der Vergleichsbilder

Die Bilder können in den Formaten GIF, PNG, JPEG, BMP und WBMP vorliegen.