Some test text!


Encrypting & securing PDFs on iOS

To secure a PDF document with password protection and adjusting permissions on the document.

PTPDFDoc *doc = [[PTPDFDoc alloc] initWithFilepath: filename];

// Apply a new security handler with given security settings. 
// In order to open saved PDF you will need a user password 'test'.
PTSecurityHandler *new_handler = [[PTSecurityHandler alloc] init];

// Set a new password required to open a document
NSString* user_password=@"test";
[new_handler ChangeUserPassword: user_password];

// Set Permissions
[new_handler SetPermission: e_ptprint value: YES];
[new_handler SetPermission: e_ptextract_content value: NO];

// Note: document takes the ownership of new_handler.
[doc SetSecurityHandler: new_handler];

Encrypt and Decrypt PDF Files
Full sample code which illustrates some of our encryption support.

linkAbout securing a document with encryption

Although PDFTron SDK offers an extension mechanism through which users can register custom security handlers, it also provides a standard security handler.

This built-in security handler is the Standard Security Handler (StdSecurityHandler). The Standard Security Handler supports two passwords:

  • A user password that permits a user to open and read a protected document only with whatever permissions the owner chose.
  • An owner password can grant a document owner free reign over what permissions are granted to users.

An application can also create its own implementation of SecurityHandler. For example, a custom SecurityHandler could perform user authorization requiring the presence of a hardware dongle or even feedback from a biometric system.

A Security Handler is used when:

  • A document is opened. The security handler must determine whether a user is authorized to open the file. It must also set up the RC4 decryption key used to decrypt the file.
  • A document is saved. The security handler must set up the RC4 encryption key and write security information into the PDF file's encryption dictionary.
  • A user tries to change a document's security settings. Note that the Standard Security Handler in PDFTron SDK does not enforce a document's permissions. For example, it is possible to edit a document although document modification permission is not granted. Therefore, it is up to the application to respect PDF permissions.

The number of security handlers associated with a document change over time. When the document is first opened it isn't associated with any security handlers. When InitSecurityHandler (or InitStdSecurityHandler) is called on the document, that security handler is associated with the document. And when SetSecurityHandler is called on a document, that security handler is also associated with the document—albeit in a pending state until the document is saved. Until the document is saved with the new security handler, the old security handler rules the document's security.

linkCustom security

Besides providing full support for standard PDF security, PDFTron SDK allows users to work with custom security handlers and proprietary encryption algorithms. To define a custom security handler, derive a class from SecurityHandler and implement SecurityHandler's interface.

Please see the PDFTron SDK Net Knowledge Base or contact for more details.

Get the answers you need: Support


Free Trial

Get unlimited trial usage of PDFTron SDK to bring accurate, reliable, and fast document processing capabilities to any application or workflow.

Select a platform to get started with your free trial.

Unlimited usage. No email address required.

Join our live demo to learn about use cases & capabilities for WebViewer

Learn more