3.35. Version

Überblick

Automatisch erzeugte PDF-Dokumente müssen gelegentlich einer bestimmten Version entsprechen, weil sie durch andere Werkzeuge weiterverarbeitet werden müssen. Das kann getestet werden:

// Simple tests:
.hasVersion().matching(..) 

// Tests for version ranges:
.hasVersion().greaterThan(..) 
.hasVersion().lessThan(..)

Eine bestimmte Version

Für gängige PDF-Versionen gibt es Konstanten, die als Parameter verwendet werden:

// Constants for PDF versions:

com.pdfunit.Constants.PDFVERSION_11
com.pdfunit.Constants.PDFVERSION_12
com.pdfunit.Constants.PDFVERSION_13
com.pdfunit.Constants.PDFVERSION_14
com.pdfunit.Constants.PDFVERSION_15
com.pdfunit.Constants.PDFVERSION_16
com.pdfunit.Constants.PDFVERSION_17

Ein Beispiel für den Test auf Version 1.4:

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

  AssertThat.document(filename)
            .hasVersion()
            .matching(PDFVERSION_14)
  ;
}

Versionsbereiche

Die gleichen Konstanten können als Ober- und Untergrenze genutzt werden:

@Test
public void hasVersion_GreaterThanLessThan() throws Exception {
  String filename = "documentUnderTest.pdf";
  
  AssertThat.document(filename)
            .hasVersion()
            .greaterThan(PDFVERSION_13) 1
            .lessThan(PDFVERSION_17)    2
  ;
}

1 2

Die Ober- und Untergrenzen gelten exklusiv.

Auch zukünftige PDF-Versionen können getestet werden. Die erwartete Version muss als String im Format "%1.1f" angegeben werden.

@Test
public void hasVersion_LessThanFutureVersion() throws Exception {
  String filename = "documentUnderTest.pdf";
  PDFVersion futureVersion = PDFVersion.withValue("2.0");
  
  AssertThat.document(filename)
            .hasVersion()
            .lessThan(futureVersion)
  ;
}