org.apache.fop.pdf

## Class VersionController

- java.lang.Object
- - org.apache.fop.pdf.VersionController

-     public abstract class VersionController
      extends Object

  An abstraction that controls the mutability of the PDF version for a document.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static VersionController` | `getDynamicVersionController(Version initialVersion, PDFDocument doc)` Returns a controller that allows subsequent changes to the document's version.
    `static VersionController` | `getFixedVersionController(Version version)` Returns a controller that disallows subsequent change to the document's version.
    `Version` | `getPDFVersion()` Returns the PDF version of the document.
    `abstract void` | `setPDFVersion(Version version)` Sets the PDF version of the document.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### getPDFVersion

          public Version getPDFVersion()

      Returns the PDF version of the document.
      Returns:
        the PDF version

    - #### setPDFVersion

          public abstract void setPDFVersion(Version version)

      Sets the PDF version of the document.
      Parameters:
        `version` - the PDF version
      Throws:
        `IllegalStateException` - if the PDF version is not allowed to change.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getFixedVersionController

          public static VersionController getFixedVersionController(Version version)

      Returns a controller that disallows subsequent change to the document's version. The minimum allowed version is v1.4.
      Parameters:
        `version` - the PDF version (must be >= v1.4)
      Returns:
        the fixed PDF version controller

    - #### getDynamicVersionController

          public static VersionController getDynamicVersionController(Version initialVersion,
                                                                      PDFDocument doc)

      Returns a controller that allows subsequent changes to the document's version.
      Parameters:
        `initialVersion` - the initial PDF version
        `doc` - the document whose version is being set
      Returns:
        the dynamic PDF version controller

Copyright © 2025 Apache Software Foundation. All rights reserved.