6.2. Passt ein Text in vorgefertigte Formularfelder?

Ausgangssituation

Ein PDF-Dokument wird auf der Basis einer Dokumentenvolage (Template) erstellt. Die Platzhalter für unterschiedliche Texte sind Formularfelder, beispielsweise Textbausteine für AGB's.

Problem

Die Texte können größer sein, als der Platz in den Feldern.

Lösungsansatz

PDFUnit stellt eine Testmethode zur Verfügung, mit der ein Text-Overflow festgestellt werden kann.

Lösung

@Test
public void noTextOverflow_AllFields() throws Exception {
  String filename = "documentUnderTest.pdf";

  AssertThat.document(filename)
            .hasFields()
            .allWithoutTextOverflow()
  ;
}

Der Test ist auch für einzelne Felder möglich:

@Test
public void noTextOverflow_OneField() throws Exception {
  String filename = "documentUnderTest.pdf";
  String fieldname = "Textfield, text inside, align left:";
  
  AssertThat.document(filename)
            .hasField(fieldname)
            .withoutTextOverflow()
  ;
}

In Kapitel 3.15: „Formularfelder, Textüberlauf“ ist dieses Beispiel detailiert beschrieben.