org.apache.fop.pdf

## Class PDFProfile

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

-     public class PDFProfile
      extends Object

  This class allows tracks the enabled PDF profiles (PDF/A and PDF/X) and provides methods to the libarary and its users to enable the generation of PDFs conforming to the enabled PDF profiles.

  Some profile from PDF/X and PDF/A can be active simultaneously (example: PDF/A-1 and PDF/X-3:2003).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected PDFAMode` | `pdfAMode` Indicates the PDF/A mode currently active.
    `protected PDFUAMode` | `pdfUAMode`
    `protected PDFVTMode` | `pdfVTMode`
    `protected PDFXMode` | `pdfXMode` Indicates the PDF/X mode currently active.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFProfile(PDFDocument doc)` Main constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `PDFDocument` | `getDocument()`
    `PDFAMode` | `getPDFAMode()`
    `PDFUAMode` | `getPDFUAMode()`
    `PDFVTMode` | `getPDFVTMode()`
    `PDFXMode` | `getPDFXMode()`
    `boolean` | `isAnnotationAllowed()`
    `boolean` | `isFontEmbeddingRequired()`
    `boolean` | `isIDEntryRequired()`
    `boolean` | `isModDateRequired()`
    `boolean` | `isPDFAActive()`
    `boolean` | `isPDFVTActive()`
    `boolean` | `isPDFXActive()`
    `Object` | `isTransparencyAllowed()` Returns `null` if transparency is allowed, otherwise returns the profile that prevents it.
    `boolean` | `isTrappedEntryRequired()`
    `void` | `setPDFAMode(PDFAMode mode)` Sets the PDF/A mode
    `void` | `setPDFUAMode(PDFUAMode mode)`
    `void` | `setPDFVTMode(PDFVTMode mode)` Sets the PDF/X mode
    `void` | `setPDFXMode(PDFXMode mode)` Sets the PDF/X mode
    `String` | `toString()`
    `protected void` | `validateProfileCombination()` Validates if the requested profile combination is compatible.
    `void` | `verifyActionAllowed()` Checks if Actions are allowed.
    `void` | `verifyAnnotAllowed()` Checks if annotations are allowed.
    `void` | `verifyEmbeddedFilesAllowed()` Checks if embedded files are allowed.
    `void` | `verifyEncryptionAllowed()` Checks if encryption is allowed.
    `void` | `verifyPDFVersion()` Checks if the right PDF version is set.
    `void` | `verifyPSXObjectsAllowed()` Checks if PostScript XObjects are allowed.
    `void` | `verifyTaggedPDF()` Checks a few things required for tagged PDF.
    `void` | `verifyTitleAbsent()` Checks if a title may be absent.
    `void` | `verifyTransparencyAllowed(String context)` Checks if the use of transparency is allowed.

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

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

- - ### Field Detail

    - #### pdfAMode

          protected PDFAMode pdfAMode

      Indicates the PDF/A mode currently active. Defaults to "no restrictions", i.e. PDF/A not active.

    - #### pdfUAMode

          protected PDFUAMode pdfUAMode

    - #### pdfXMode

          protected PDFXMode pdfXMode

      Indicates the PDF/X mode currently active. Defaults to "no restrictions", i.e. PDF/X not active.

    - #### pdfVTMode

          protected PDFVTMode pdfVTMode

  - ### Constructor Detail

    - #### PDFProfile

          public PDFProfile(PDFDocument doc)

      Main constructor
      Parameters:
        `doc` - the PDF document

  - ### Method Detail

    - #### validateProfileCombination

          protected void validateProfileCombination()

      Validates if the requested profile combination is compatible.

    - #### getDocument

          public PDFDocument getDocument()

      Returns:
        the PDFDocument this profile is attached to

    - #### getPDFAMode

          public PDFAMode getPDFAMode()

      Returns:
        the PDF/A mode

    - #### getPDFUAMode

          public PDFUAMode getPDFUAMode()

    - #### isPDFAActive

          public boolean isPDFAActive()

      Returns:
        true if any PDF/A mode is active

    - #### setPDFAMode

          public void setPDFAMode(PDFAMode mode)

      Sets the PDF/A mode
      Parameters:
        `mode` - the PDF/A mode

    - #### setPDFUAMode

          public void setPDFUAMode(PDFUAMode mode)

    - #### getPDFXMode

          public PDFXMode getPDFXMode()

      Returns:
        the PDF/X mode

    - #### getPDFVTMode

          public PDFVTMode getPDFVTMode()

    - #### isPDFXActive

          public boolean isPDFXActive()

      Returns:
        true if any PDF/X mode is active

    - #### isPDFVTActive

          public boolean isPDFVTActive()

    - #### setPDFXMode

          public void setPDFXMode(PDFXMode mode)

      Sets the PDF/X mode
      Parameters:
        `mode` - the PDF/X mode

    - #### setPDFVTMode

          public void setPDFVTMode(PDFVTMode mode)

      Sets the PDF/X mode
      Parameters:
        `mode` - the PDF/X mode

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### verifyEncryptionAllowed

          public void verifyEncryptionAllowed()

      Checks if encryption is allowed.

    - #### verifyPSXObjectsAllowed

          public void verifyPSXObjectsAllowed()

      Checks if PostScript XObjects are allowed.

    - #### verifyTransparencyAllowed

          public void verifyTransparencyAllowed(String context)

      Checks if the use of transparency is allowed.
      Parameters:
        `context` - Context information for the user to identify the problem spot

    - #### isTransparencyAllowed

          public Object isTransparencyAllowed()

      Returns `null` if transparency is allowed, otherwise returns the profile that prevents it.
      Returns:
        `null`, or an object whose `toString` method returns the name of the profile that disallows transparency

    - #### verifyPDFVersion

          public void verifyPDFVersion()

      Checks if the right PDF version is set.

    - #### verifyTaggedPDF

          public void verifyTaggedPDF()

      Checks a few things required for tagged PDF.

    - #### isIDEntryRequired

          public boolean isIDEntryRequired()

      Returns:
        true if the ID entry must be present in the trailer.

    - #### isFontEmbeddingRequired

          public boolean isFontEmbeddingRequired()

      Returns:
        true if all fonts need to be embedded.

    - #### verifyTitleAbsent

          public void verifyTitleAbsent()

      Checks if a title may be absent.

    - #### isModDateRequired

          public boolean isModDateRequired()

      Returns:
        true if the ModDate Info entry must be present.

    - #### isTrappedEntryRequired

          public boolean isTrappedEntryRequired()

      Returns:
        true if the Trapped Info entry must be present.

    - #### isAnnotationAllowed

          public boolean isAnnotationAllowed()

      Returns:
        true if annotations are allowed

    - #### verifyAnnotAllowed

          public void verifyAnnotAllowed()

      Checks if annotations are allowed.

    - #### verifyActionAllowed

          public void verifyActionAllowed()

      Checks if Actions are allowed.

    - #### verifyEmbeddedFilesAllowed

          public void verifyEmbeddedFilesAllowed()

      Checks if embedded files are allowed.

Copyright © 2023 Apache Software Foundation. All rights reserved.