Zurück |  | Weiter

## 4.14. Text vergleichen

Sie können Texte auf beliebigen Seiten zweier PDF-Dokumente vergleichen. Das folgende Beispiel überprüft, dass der Text auf der ersten bzw. letzten Seite zweier Test-Dokumente übereinstimmt. Whitespaces werden dabei normalisiert:

    @Test
    public void haveSameText_OnSinglePage() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .restrictedTo(FIRST_PAGE)
                .haveSameText()
      ;

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .restrictedTo(LAST_PAGE)
                .haveSameText()
      ;
    }

Ein Vergleich kann auf individuelle Seiten beschränkt werden. Alle Möglichkeiten, Seiten auszuwählen, werden in Kapitel 13.2: „Seitenauswahl“ beschrieben:

Zusätzlich kann der Textvergleich noch auf Seitenausschnitte beschränkt werden:

    @Test
    public void haveSameText_InPageRegion() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      int leftX   =  17;
      int upperY  = 254;
      int width   =  53;
      int height  =  11;
      PageRegion region = new PageRegion(leftX, upperY, width, height);

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .restrictedTo(EVERY_PAGE)
                .restrictedTo(region)
                .haveSameText()
      ;
    }

Und wie bei anderen Tests auch, kann bei einem Textvergleich die Behandlung von Whitespaces gesteuert werden:

    @Test
    public void haveSameText_IgnoreWhitespace() throws Exception {
      String filenameTest = "documentUnderTest.pdf";
      String filenameReference = "reference.pdf";

      int leftX   =  17;
      int upperY  = 254;
      int width   =  53;
      int height  =  11;
      PageRegion region = new PageRegion(leftX, upperY, width, height);

      AssertThat.document(filenameTest)
                .and(filenameReference)
                .restrictedTo(FIRST_PAGE)
                .restrictedTo(region)
                .haveSameText(WhitespaceProcessing.IGNORE)
      ;
    }

Zurück | Nach oben | Weiter
4.13. PDF-Bestandteile vergleichen | Zum Anfang | 4.15. XFA-Daten vergleichen