Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.lowagie.text.pdf
Class PdfEncryptor

    java.lang.Object
      com.lowagie.text.pdf.PdfEncryptor

    public class PdfEncryptor

extends Object

This class takes any PDF and returns exactly the same but encrypted. All the content, links, outlines, etc, are kept. It is also possible to change the info dictionary.

Constructor Summary
`private` | `PdfEncryptor()`

Method Summary
`static void` | `encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions)` Entry point to encrypt a PDF document.
`static void` | `encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions, HashMap newInfo)` Entry point to encrypt a PDF document.
`static void` | `encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits)` Entry point to encrypt a PDF document.
`static void` | `encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits, HashMap newInfo)` Entry point to encrypt a PDF document.
`static void` | `encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions)` Entry point to encrypt a PDF document.
`static void` | `encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions, HashMap newInfo)` Entry point to encrypt a PDF document.
`static String` | `getPermissionsVerbose(int permissions)` Give you a verbose analysis of the permissions.
`static boolean` | `isAssemblyAllowed(int permissions)` Tells you if document assembly is allowed.
`static boolean` | `isCopyAllowed(int permissions)` Tells you if copying is allowed.
`static boolean` | `isDegradedPrintingAllowed(int permissions)` Tells you if degraded printing is allowed.
`static boolean` | `isFillInAllowed(int permissions)` Tells you if filling in fields is allowed.
`static boolean` | `isModifyAnnotationsAllowed(int permissions)` Tells you if modifying annotations is allowed.
`static boolean` | `isModifyContentsAllowed(int permissions)` Tells you if modifying content is allowed.
`static boolean` | `isPrintingAllowed(int permissions)` Tells you if printing is allowed.
`static boolean` | `isScreenReadersAllowed(int permissions)` Tells you if repurposing for screenreaders is allowed.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PdfEncryptor

    private PdfEncryptor()

Method Detail

### encrypt

    public static void encrypt(PdfReader reader,
                               OutputStream os,
                               byte[] userPassword,
                               byte[] ownerPassword,
                               int permissions,
                               boolean strength128Bits)
                        throws DocumentException,
                               IOException

  Entry point to encrypt a PDF document. The encryption parameters are the same as in `PdfWriter`. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.

  Parameters:
    `reader` - the read PDF
    `os` - the output destination
    `userPassword` - the user password. Can be null or empty
    `ownerPassword` - the owner password. Can be null or empty
    `permissions` - the user permissions
    `strength128Bits` - `true` for 128 bit key length, `false` for 40 bit key length
  Throws:
    `DocumentException` - on error
    `IOException` - on error

### encrypt

    public static void encrypt(PdfReader reader,
                               OutputStream os,
                               byte[] userPassword,
                               byte[] ownerPassword,
                               int permissions,
                               boolean strength128Bits,
                               HashMap newInfo)
                        throws DocumentException,
                               IOException

  Entry point to encrypt a PDF document. The encryption parameters are the same as in `PdfWriter`. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.

  Parameters:
    `reader` - the read PDF
    `os` - the output destination
    `userPassword` - the user password. Can be null or empty
    `ownerPassword` - the owner password. Can be null or empty
    `permissions` - the user permissions
    `strength128Bits` - `true` for 128 bit key length, `false` for 40 bit key length
    `newInfo` - an optional `String` map to add or change the info dictionary. Entries with `null` values delete the key in the original info dictionary
  Throws:
    `DocumentException` - on error
    `IOException` - on error

### encrypt

    public static void encrypt(PdfReader reader,
                               OutputStream os,
                               boolean strength,
                               String userPassword,
                               String ownerPassword,
                               int permissions)
                        throws DocumentException,
                               IOException

  Entry point to encrypt a PDF document. The encryption parameters are the same as in `PdfWriter`. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.

  Parameters:
    `reader` - the read PDF
    `os` - the output destination
    `strength` - `true` for 128 bit key length, `false` for 40 bit key length
    `userPassword` - the user password. Can be null or empty
    `ownerPassword` - the owner password. Can be null or empty
    `permissions` - the user permissions
  Throws:
    `DocumentException` - on error
    `IOException` - on error

### encrypt

    public static void encrypt(PdfReader reader,
                               OutputStream os,
                               boolean strength,
                               String userPassword,
                               String ownerPassword,
                               int permissions,
                               HashMap newInfo)
                        throws DocumentException,
                               IOException

  Entry point to encrypt a PDF document. The encryption parameters are the same as in `PdfWriter`. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.

  Parameters:
    `reader` - the read PDF
    `os` - the output destination
    `strength` - `true` for 128 bit key length, `false` for 40 bit key length
    `userPassword` - the user password. Can be null or empty
    `ownerPassword` - the owner password. Can be null or empty
    `permissions` - the user permissions
    `newInfo` - an optional `String` map to add or change the info dictionary. Entries with `null` values delete the key in the original info dictionary
  Throws:
    `DocumentException` - on error
    `IOException` - on error

### encrypt

    public static void encrypt(PdfReader reader,
                               OutputStream os,
                               int type,
                               String userPassword,
                               String ownerPassword,
                               int permissions,
                               HashMap newInfo)
                        throws DocumentException,
                               IOException

  Entry point to encrypt a PDF document. The encryption parameters are the same as in `PdfWriter`. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.

  Parameters:
    `reader` - the read PDF
    `os` - the output destination
    `type` - the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext
    `userPassword` - the user password. Can be null or empty
    `ownerPassword` - the owner password. Can be null or empty
    `permissions` - the user permissions
    `newInfo` - an optional `String` map to add or change the info dictionary. Entries with `null` values delete the key in the original info dictionary
  Throws:
    `DocumentException` - on error
    `IOException` - on error

### encrypt

    public static void encrypt(PdfReader reader,
                               OutputStream os,
                               int type,
                               String userPassword,
                               String ownerPassword,
                               int permissions)
                        throws DocumentException,
                               IOException

  Entry point to encrypt a PDF document. The encryption parameters are the same as in `PdfWriter`. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.

  Parameters:
    `reader` - the read PDF
    `os` - the output destination
    `type` - the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext
    `userPassword` - the user password. Can be null or empty
    `ownerPassword` - the owner password. Can be null or empty
    `permissions` - the user permissions values delete the key in the original info dictionary
  Throws:
    `DocumentException` - on error
    `IOException` - on error

### getPermissionsVerbose

    public static String getPermissionsVerbose(int permissions)

  Give you a verbose analysis of the permissions.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    a String that explains the meaning of the permissions value

### isPrintingAllowed

    public static boolean isPrintingAllowed(int permissions)

  Tells you if printing is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if printing is allowed
  Since:
    2.0.7

### isModifyContentsAllowed

    public static boolean isModifyContentsAllowed(int permissions)

  Tells you if modifying content is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if modifying content is allowed
  Since:
    2.0.7

### isCopyAllowed

    public static boolean isCopyAllowed(int permissions)

  Tells you if copying is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if copying is allowed
  Since:
    2.0.7

### isModifyAnnotationsAllowed

    public static boolean isModifyAnnotationsAllowed(int permissions)

  Tells you if modifying annotations is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if modifying annotations is allowed
  Since:
    2.0.7

### isFillInAllowed

    public static boolean isFillInAllowed(int permissions)

  Tells you if filling in fields is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if filling in fields is allowed
  Since:
    2.0.7

### isScreenReadersAllowed

    public static boolean isScreenReadersAllowed(int permissions)

  Tells you if repurposing for screenreaders is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if repurposing for screenreaders is allowed
  Since:
    2.0.7

### isAssemblyAllowed

    public static boolean isAssemblyAllowed(int permissions)

  Tells you if document assembly is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if document assembly is allowed
  Since:
    2.0.7

### isDegradedPrintingAllowed

    public static boolean isDegradedPrintingAllowed(int permissions)

  Tells you if degraded printing is allowed.

  Parameters:
    `permissions` - the permissions value of a PDF file
  Returns:
    true if degraded printing is allowed
  Since:
    2.0.7

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD