Enables/Disables security feature.
If you enable any security feature, be sure to set the owner password (through SecurityOwnerPassword property) or the user password (through the SecurityUserPassword property). If you set both passwords, they should be different.
Also bear in mind that if the user password is set but no owner password is specified, the permission flags are ignored and full permissions are granted for all operations. In other words, the permission flags are only respected when there is an owner password.
The security features can be combined in any way, but be aware that out of the possible combinations, only five are offered by Adobe Acrobat. The five configurations available in Acrobat (when using 128-bit encryption) can be achieved as follows:
|Acrobat "Changes Allowed"||easyPDF SDK Flag Combination|
PRN_SEC_MODIFY_PERM_NONE | PRN_SEC_ANNOT_PERM_NONE
deleting, and rotating pages
PRN_SEC_MODIFY_PERM_ASSEMBLY | PRN_SEC_ANNOT_PERM_NONE
|Filling in form fields and signing existing signature
||PRN_SEC_MODIFY_PERM_NONE | PRN_SEC_ANNOT_PERM_FORM|
|Commenting, filling in form fields, and signing existing signature fields||PRN_SEC_MODIFY_PERM_NONE | PRN_SEC_ANNOT_PERM_FULL|
|Any except extracting pages
||PRN_SEC_MODIFY_PERM_FULL | PRN_SEC_ANNOT_PERM_FULL|
Note that once security is enabled, it is important to set the encryption bit length (via the SecurityEncryption property) first before specifying any other security settings. The sample code below illustrates the proper order.
Set oPrinter = CreateObject("easyPDF.Printer.8") Set oPrintJob = oPrinter.PrintJob Set oPDFSetting = oPrintJob.PDFSetting oPDFSetting.Security = True oPDFSetting.SecurityEncryption = PRN_SEC_ENCRYPT_128BITS oPDFSetting.SecurityAnnotation = PRN_SEC_ANNOT_PERM_NONE oPDFSetting.SecurityExtraction = PRN_SEC_EXTR_PERM_NONE oPDFSetting.SecurityModification = PRN_SEC_MODIFY_PERM_NONE oPDFSetting.SecurityPrinting = PRN_SEC_PRINT_PERM_NONE oPDFSetting.SecurityOwnerPassword = "my_owner_password" oPDFSetting.SecurityUserPassword = "my_user_password" oPrintJob.PrintOut "C:\test\input.doc", "C:\test\output.pdf"