Class PdfEncryptor


  • public final class PdfEncryptor
    extends java.lang.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 Detail

      • PdfEncryptor

        public PdfEncryptor()
    • Method Detail

      • encrypt

        public static void encrypt​(PdfReader reader,
                                   java.io.OutputStream os,
                                   EncryptionProperties properties,
                                   java.util.Map<java.lang.String,​java.lang.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,
                                   java.io.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 java.lang.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,
                                        java.security.PrivateKey certificateKey,
                                        java.lang.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.
      • encrypt

        public void encrypt​(PdfReader reader,
                            java.io.OutputStream os,
                            java.util.Map<java.lang.String,​java.lang.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,
                            java.io.OutputStream os)
        Entry point to encrypt a PDF document.
        Parameters:
        reader - the read PDF
        os - the output destination