Class PdfEncryptor

java.lang.Object
com.itextpdf.kernel.pdf.PdfEncryptor

public final 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 Details

    • PdfEncryptor

      public PdfEncryptor()
  • Method Details

    • encrypt

      public static void encrypt (PdfReader reader, OutputStream os, EncryptionProperties properties, Map<String,String> newInfo)
      Entry point to encrypt a PDF document.
      Parameters:
      reader - the read PDF
      os - the output destination
      properties - encryption properties. See EncryptionProperties.
      newInfo - an optional String map to add or change the info dictionary. Entries with null values delete the key in the original info dictionary
    • encrypt

      public static void encrypt (PdfReader reader, OutputStream os, EncryptionProperties properties)
      Entry point to encrypt a PDF document.
      Parameters:
      reader - the read PDF
      os - the output destination
      properties - encryption properties. See EncryptionProperties.
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • getContent

      public static byte[] getContent (IRecipientInformation recipientInfo, PrivateKey certificateKey, String certificateKeyProvider) throws AbstractCMSException
      Gets the content from a recipient.
      Parameters:
      recipientInfo - recipient information
      certificateKey - private certificate key
      certificateKeyProvider - the name of the certificate key provider
      Returns:
      content from a recipient info
      Throws:
      AbstractCMSException - if the content cannot be recovered.
    • setEventCountingMetaInfo

      public PdfEncryptor setEventCountingMetaInfo (IMetaInfo metaInfo)
      Sets the IMetaInfo that will be used during PdfDocument creation.
      Parameters:
      metaInfo - meta info to set
      Returns:
      this PdfEncryptor instance
    • setEncryptionProperties

      public PdfEncryptor setEncryptionProperties (EncryptionProperties properties)
      Parameters:
      properties - the properties to set
      Returns:
      this PdfEncryptor instance
    • encrypt

      public void encrypt (PdfReader reader, OutputStream os, Map<String,String> newInfo)
      Entry point to encrypt a PDF document.
      Parameters:
      reader - the read PDF
      os - the output destination
      newInfo - an optional String map to add or change the info dictionary. Entries with null values delete the key in the original info dictionary
    • encrypt

      public void encrypt (PdfReader reader, OutputStream os)
      Entry point to encrypt a PDF document.
      Parameters:
      reader - the read PDF
      os - the output destination