org.apache.fop.pdf

## Class PDFEncryptionManager

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

    public final class PDFEncryptionManager
    extends Object

This class acts as a factory for PDF encryption support. It enables the feature to be optional to FOP depending on the availability of JCE.

### Method Summary

All Methods Static Methods Concrete Methods
`static boolean` `checkAvailableAlgorithms()` Checks whether the necessary algorithms are available.
`static boolean` `isJCEAvailable()` Indicates whether JCE is available.
`static PDFEncryption` `newInstance(PDFEncryptionParams params, PDFDocument pdf)` Creates a new PDFEncryption instance if PDF encryption is available.
`static void` `setupPDFEncryption(PDFEncryptionParams params, PDFDocument pdf)` Sets up PDF encryption if PDF encryption is requested by registering a `PDFEncryptionParams` object with the user agent and if the necessary cryptographic support is available.

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

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

### Method Detail

#### isJCEAvailable

    public static boolean isJCEAvailable()

Indicates whether JCE is available.

Returns:
  boolean true if JCE is present

#### checkAvailableAlgorithms

    public static boolean checkAvailableAlgorithms()

Checks whether the necessary algorithms are available.

Returns:
  boolean True if all necessary algorithms are present

#### setupPDFEncryption

    public static void setupPDFEncryption(PDFEncryptionParams params,
                                          PDFDocument pdf)

Sets up PDF encryption if PDF encryption is requested by registering a `PDFEncryptionParams` object with the user agent and if the necessary cryptographic support is available.

Parameters:
  `params` - the PDF encryption params or null to disable encryption
  `pdf` - the PDF document to setup encryption for

#### newInstance

    public static PDFEncryption newInstance(PDFEncryptionParams params,
                                            PDFDocument pdf)

Creates a new PDFEncryption instance if PDF encryption is available.

Parameters:
  `params` - PDF encryption parameters
  `pdf` - the PDF document to encrypt
Returns:
  PDFEncryption the newly created instance, null if PDF encryption is unavailable.