BCL easyPDF SDK
easyPDF SDK Usermanual
PDF Creator Programming API  |  Download Free Trial  |  Contact Us to Purchase

SecurityModification Property

Gets/Sets content modification permission setting.

Type

prnSecModificationPerm

Remarks

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
None

PRN_SEC_MODIFY_PERM_NONE | PRN_SEC_ANNOT_PERM_NONE

Inserting, deleting, and rotating pages

PRN_SEC_MODIFY_PERM_ASSEMBLY | PRN_SEC_ANNOT_PERM_NONE

Filling in form fields and signing existing signature fields
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.

Example Usage

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"