Creating Secure PDF Files From IBM Lotus Notes Domino

When you create PDF files from your IBM Lotus Notes / Domino content you may need to prevent unauthorised access, restrict sensitive operations, or apply certain permissions.

Encryption may also be required to guard against disclosure of sensitive information in the case of loss or theft.

DominoPDF supports the same password security that both Adobe Acrobat and Adobe Reader use, so secure PDF files can be distributed amongst trusted recipients reliably, no matter what PDF viewer is used.

DominoPDF also supports 40-bit and advanced 128-bit encryption of PDF files, together with settings to control permissions such as printing, copying and editing etc.

Secure PDF With Passwords

Passwords give you a quick way to to restrict access to and usage of your content to people who have the password used to secure the PDF file.

PDF Password Prompt

With DominoPDF you can use two different types of passwords; Open and Permission.

Open / User Passwords

Open passwords lock your PDF file so only people with the correct password can open the file.

To set the Open password with DominoPDF, pass the password value to the DoPDF() method using the UserPassword= setting.

Call DoPDF(
           sURL,
           sPDF,
           "UserPassword=secret"
)

Permission / Owner Passwords

Permission passwords lock particular functionality when a user opens your file. For example, you can stop someone copying text from or printing your document.

To set the Permission password with DominoPDF, pass the password value to the DoPDF() method using the OwnerPassword= setting.

Call DoPDF(
           sURL,
           sPDF,
           "UserPassword=secret;
           OwnerPassword=secret"
)

Encrypt PDF and Permissions

With DominoPDF you choose what others can and can't do with your PDF files — document viewing, printing, editing, and copying can all individually be turned on or off.

To enable encryption in DominoPDF, pass the Encryption=True setting in the DoPDF() method.

Call DoPDF(
           sURL,
           sPDF,
           "UserPassword=secret;
           OwnerPassword=secret;
           Encryption=True"
)

The level of encryption, 40-bit or 128-bit, is controlled with the EncryptStrength=40 or EncryptStrength=128 setting. Note that certain permissions (see below) are only valid when using 128-bit encryption.

Call DoPDF(
           sURL,
           sPDF,
           "UserPassword=secret;
           OwnerPassword=secret;
           Encryption=True;
           EncryptStrength=128"
)

Permissions are controlled by passing the appropriate setting, for example EnablePrinting=True, to the DoPDF() method.

Call DoPDF(
           sURL,
           sPDF,
           "UserPassword=secret;
           OwnerPassword=secret;
           Encryption=True;
           EncryptStrength=128;
           EnablePrinting=False;
           EnableCopying=False;
           EnableEditing=False;
           EnableAnnotations=False;
           EnableFields=False;
           EnableCopyAccess=False;
           EnableAssemble=False;
           EnablePrintFull=False"
)

A list of all permissions and their function supported by DominoPDF follows.

EnablePrinting=True/False

Set this to True to allow the user to print the PDF document.

EnableCopying=True/False

Set this to True to allow the user to copy text and graphics from the PDF document.

EnableEditing=True/False

Set this to True to allow the user to edit the PDF document.

EnableAnnotations=True/False

Set this to True to allow the user to add annotations to the PDF document or fill in interactive form fields.

The following permissions only work with 128-bit encryption.

EnableFields=True/False

Set this to True to allow the user to fill in form fields, including signature fields, even if EnableAnnotations=False.

EnableCopyAccess=True/False

Set this to True to enable copying or extracting of text and graphics for use with accessibility features in support of accessibility to disabled users or for other purposes.

EnableAssemble=True/False

Set this to True to allow the user to assemble (insert, rotate, or delete pages and create bookmarks or thumbnail images) the PDF document.

EnablePrintFull=True/False

Set this to False to force low-resolution printing of the PDF document only. This prevents the document from being distilled into a new PDF document.

Set this to True to print the document to a representation from which a faithful digital copy of the PDF content could be generated / distilled.

Encrypting Existing PDF Files

DominoPDF not only allows you to protect and encrypt newly created PDF files, it also allows you to protect and encrypt PDF files that have already been created, either with DominoPDF or a 3rd party PDF creation tool.

The DomPDFEncrypt() method can be declared and called from LotusScript.

Declare Function DomPDFEncrypt Lib "DOMINOPDF.DLL" (
     Byval szInput As String,
     Byval szOwnerPass As String,
     Byval szUserPass As String,
     Byval iAllowPrint As Long,
     Byval iAllowCopy As Long,
     Byval iAllowChange As Long,
     Byval iAllowAnnotate As Long,
     Byval iAllowFields As Long,
     Byval iAllowCopyAccess As Long,
     Byval iAllowAssemble As Long,
     Byval iAllowPrintFull As Long,
     Byval iStrength As Long
) As Long

The same properties and permission settings as described above can be applied.

Call DomPDFEncrypt(
     sPDF,
     "OwnerPass",
     "UserPass",
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0
)

Conclusion

DominoPDF provides very flexible and powerful control over your PDF security and encryption to ensure your IBM Lotus Notes and Domino content remains secure when converted to PDF.

JoomShaper