public final class PdfEncryptor extends Object
| Modifier and Type | Method and Description |
|---|---|
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<String,String> 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<String,String> 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<String,String> newInfo)
Entry point to encrypt a PDF document.
|
static byte[] |
getContent(org.bouncycastle.cms.RecipientInformation recipientInfo, PrivateKey certificateKey, String certificateKeyProvider)
Gets the content from a recipient.
|
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.
|
public static void encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits) throws DocumentException, IOException
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.
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
DocumentException - on error
IOException - on error
public static void encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits, HashMap<String,String> newInfo) throws DocumentException, IOException
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.
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
DocumentException - on error
IOException - on error
public static void encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions) throws DocumentException, IOException
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.
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
DocumentException - on error
IOException - on error
public static void encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions, HashMap<String,String> newInfo) throws DocumentException, IOException
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.
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
DocumentException - on error
IOException - on error
public static void encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions, HashMap<String,String> newInfo) throws DocumentException, IOException
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.
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
DocumentException - on error
IOException - on error
public static void encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions) throws DocumentException, IOException
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.
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
DocumentException - on error
IOException - on error
public static String getPermissionsVerbose(int permissions)
permissions - the permissions value of a PDF file
public static boolean isPrintingAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isModifyContentsAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isCopyAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isModifyAnnotationsAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isFillInAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isScreenReadersAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isAssemblyAllowed(int permissions)
permissions - the permissions value of a PDF file
public static boolean isDegradedPrintingAllowed(int permissions)
permissions - the permissions value of a PDF file
public static byte[] getContent(org.bouncycastle.cms.RecipientInformation recipientInfo,
PrivateKey certificateKey,
String certificateKeyProvider)
throws org.bouncycastle.cms.CMSException
recipientInfo -
certificateKey -
certificateKeyProvider -
org.bouncycastle.cms.CMSException
Copyright © 1998–2021. All rights reserved.