Package com.itextpdf.kernel.pdf
Class PdfEncryptor
java.lang.Object
com.itextpdf.kernel.pdf.PdfEncryptor
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidencrypt(PdfReader reader, OutputStream os) Entry point to encrypt a PDF document.static voidencrypt(PdfReader reader, OutputStream os, EncryptionProperties properties) Entry point to encrypt a PDF document.static voidencrypt(PdfReader reader, OutputStream os, EncryptionProperties properties, Map<String, String> newInfo) Entry point to encrypt a PDF document.voidEntry point to encrypt a PDF document.static byte[]getContent(IRecipientInformation recipientInfo, PrivateKey certificateKey, String certificateKeyProvider) Gets the content from a recipient.static StringgetPermissionsVerbose(int permissions) Give you a verbose analysis of the permissions.static booleanisAssemblyAllowed(int permissions) Tells you if document assembly is allowed.static booleanisCopyAllowed(int permissions) Tells you if copying is allowed.static booleanisDegradedPrintingAllowed(int permissions) Tells you if degraded printing is allowed.static booleanisFillInAllowed(int permissions) Tells you if filling in fields is allowed.static booleanisModifyAnnotationsAllowed(int permissions) Tells you if modifying annotations is allowed.static booleanisModifyContentsAllowed(int permissions) Tells you if modifying content is allowed.static booleanisPrintingAllowed(int permissions) Tells you if printing is allowed.static booleanisScreenReadersAllowed(int permissions) Tells you if repurposing for screenreaders is allowed.setEncryptionProperties(EncryptionProperties properties) Sets theEncryptionPropertiessetEventCountingMetaInfo(IMetaInfo metaInfo) Sets theIMetaInfothat will be used duringPdfDocumentcreation.
-
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. SeeEncryptionProperties. -
newInfo- an optionalStringmap to add or change the info dictionary. Entries withnullvalues delete the key in the original info dictionary
-
encrypt
Entry point to encrypt a PDF document.- Parameters:
-
reader- the read PDF -
os- the output destination -
properties- encryption properties. SeeEncryptionProperties.
-
getPermissionsVerbose
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
Sets theIMetaInfothat will be used duringPdfDocumentcreation.- Parameters:
-
metaInfo- meta info to set - Returns:
-
this
PdfEncryptorinstance
-
setEncryptionProperties
Sets theEncryptionProperties- Parameters:
-
properties- the properties to set - Returns:
-
this
PdfEncryptorinstance
-
encrypt
Entry point to encrypt a PDF document.- Parameters:
-
reader- the read PDF -
os- the output destination -
newInfo- an optionalStringmap to add or change the info dictionary. Entries withnullvalues delete the key in the original info dictionary
-
encrypt
Entry point to encrypt a PDF document.- Parameters:
-
reader- the read PDF -
os- the output destination
-