Class OptionalContentConfig

java.lang.Object
com.datalogics.PDFL.OptionalContentConfig

public class OptionalContentConfig extends Object
A structure used to store data related to layers in a PDF. The Optional Content Configuration Structure is used to maintain a set of visibility states and other optional values related to layers, or Optional Content Groups, within a PDF file.

These configuration values are stored for future use.

The default configuration for a PDF document is stored in the D entry in the Optional Content Properties dictionary.

An Optional Content Group, or layer, is a set of graphic images that can be made visible or invisible within a PDF file, and the Optional Content Configuration Structure is typically used to set the initial value for these images-On or Off, visible or invisible.

  • Constructor Details

    • OptionalContentConfig

      public OptionalContentConfig(Document doc)
      Create a new OptionalContentConfig.

      Parameters:
      doc - The document that the new OptionalContentConfig will belong to.
  • Method Details

    • delete

      public void delete()
    • getOrder

      public OptionalContentOrderArray getOrder()
      Gets the order list for the optional content in this optional content config.

      Note that you can set the Title property on this order list, just as on any other OptionalContentOrderArray, and it will save as a legal PDF. However, the Title property on the top level order array simply appears as an extraneous text label in a PDF Viewer Layers panel, so its use at this level is typically not required.

      Returns:
      The OptionalContentOrderArray for optional content in this optional content config.
    • getBaseState

      public OptionalContentBaseState getBaseState()
      Get the base state for this OptionalContentConfig. When this config is applied to an OptionalContentContext, all OptionalContentGroups will be set to according to this base state:

      • If BaseState is set to BaseStateOff, when this OptionalContentConfig is applied to an OptionalContentContext:

        • All OptionalContentGroups in the document are set to OFF, and

        • Any OptionalContentGroups in this OptionalContentConfig's ON array are then set to on.

      • If BaseState is set to BaseStateOn, when this OptionalContentConfig is applied to an OptionalContentContext:

        • All OptionalContentGroups in the document are set to ON, and

        • Any OptionalContentGroups in this OptionalContentConfig's OFF array are then set to off.

      • If BaseState is set to BaseStateUnchanged, when this OptionalContentConfig is applied to an OptionalContentContext:

        • Any OptionalContentGroups in this OptionalContentConfig's ON array are set to on

        • Any OptionalContentGroups in this OptionalContentConfig's OFF array are set to off

        • Any OptionalContentGroups in neither the ON or OFF array are unaffected

      Returns:
      The base state that will be applied to OptionalContentGroups.
    • setBaseState

      public void setBaseState(OptionalContentBaseState baseState)
      Set the base state for this OptionalContentConfig. When this config is applied to an OptionalContentContext, all OptionalContentGroups will be set to according to this base state:

      • If BaseState is set to BaseStateOff, when this OptionalContentConfig is applied to an OptionalContentContext:

        • All OptionalContentGroups in the document are set to OFF, and

        • Any OptionalContentGroups in this OptionalContentConfig's ON array are then set to on.

      • If BaseState is set to BaseStateOn, when this OptionalContentConfig is applied to an OptionalContentContext:

        • All OptionalContentGroups in the document are set to ON, and

        • Any OptionalContentGroups in this OptionalContentConfig's OFF array are then set to off.

      • If BaseState is set to BaseStateUnchanged, when this OptionalContentConfig is applied to an OptionalContentContext:

        • Any OptionalContentGroups in this OptionalContentConfig's ON array are set to on

        • Any OptionalContentGroups in this OptionalContentConfig's OFF array are set to off

        • Any OptionalContentGroups in neither the ON or OFF array are unaffected

      Parameters:
      baseState - The base state that will be applied to OptionalContentGroups.
    • getOnArray

      public List<OptionalContentGroup> getOnArray()
      Get the list of OptionalContentGroups in the ON array.

      When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to ON.

      This list is ignored if the BaseState is BaseStateOn; please see the description of the BaseState property for details.

      Note that an OptionalContentGroup should not be in both the ON array and the OFF array.

      Returns:
      A list of all OptionalContentGroups in the ON array
    • setOnArray

      public void setOnArray(List<OptionalContentGroup> ocgs)
      Set the list of OptionalContentGroups in the ON array.

      When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to ON.

      This list is ignored if the BaseState is BaseStateOn; please see the description of the BaseState property for details.

      Note that an OptionalContentGroup should not be in both the ON array and the OFF array.

      Parameters:
      ocgs - A list of all OptionalContentGroups to be placed in the ON array
    • getOffArray

      public List<OptionalContentGroup> getOffArray()
      Get the list of OptionalContentGroups in the OFF array.

      When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to OFF.

      This list is ignored if the BaseState is BaseStateOff; please see the description of the BaseState property for details.

      Note that an OptionalContentGroup should not be in both the ON array and the OFF array.

      Returns:
      A list of all OptionalContentGroups in the OFF array
    • setOffArray

      public void setOffArray(List<OptionalContentGroup> ocgs)
      Set the list of OptionalContentGroups in the OFF array.

      When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to OFF.

      This list is ignored if the BaseState is BaseStateOff; please see the description of the BaseState property for details.

      Note that an OptionalContentGroup should not be in both the ON array and the OFF array.

      Parameters:
      ocgs - A list of all OptionalContentGroups to be placed in the OFF array
    • getName

      public String getName()
      Get the name of the OptionalContentConfig

      Returns:
      The name of this OptionalContentConfig. Use null to remove the name.
    • setName

      public void setName(String name)
      Set the name of the optional content group

      Parameters:
      name - The name of this OptionalContentConfig. Use null to remove the name.
    • getIntent

      public List<String> getIntent()
      Gets the intent list for an OptionalContentConfig. An intent is a string value broadly describing the intended use, either View or Design.

      A config's intent is used to set the intent of an OptionalContentContext when this config is applied to the context.

      Returns:
      An array containing intent strings.
    • setIntent

      public void setIntent(List<String> intents)
      Sets the intent list for an OptionalContentConfig. An intent is a string value broadly describing the intended use, either View or Design.

      A config's intent is used to set the intent of an OptionalContentContext when this config is applied to the context.

    • getPDFDict

      public PDFDict getPDFDict()
      Retrieve the PDFObject representation of this object