In our modern, cloud-connected world, security is a major concern in file transmission over the Internet, which may provide unauthorized access to documents. In July 2017, PDF 2.0 or ISO 32000-2 was released by the International Organization for Standardization (ISO), which included the next level of PDF security with additional features.
PDF 2.0 improves security management by providing AES (Advanced Encryption Standard) 256 Revision 6 with Unicode (non-Roman characters) password support. Our Essential PDF library provides support to encrypt and decrypt PDF documents with AES 256 Revision 6 to comply with PDF 2.0.
The Essential PDF library provides support for basic to advanced encryption standards:
The PDF format supports two types of passwords:
The strength of the password is not only determined by the key size and algorithm, but also depends on the length and quality of the password. The common passwords like names, numbers, pet names, dates of birth, etc., should not be used as a password since they can be easily cracked by a dictionary attack. Other common ways to crack a password are differential attack, brute force attack, algebraic attack, and linear attack. Follow these guidelines to create a quality password:
By customizing the permission settings, you can allow or restrict users from performing certain actions such as content copying, printing, editing the document, filling form fields, and more. Permission flags supported by Essential PDF are listed in the following table.
Permission flag | Description |
FullQualityPrint | Allows users to print a clear copy of the document. |
| Allows users to be able to print the document with low quality. |
FillFields | Allows users to fill out and sign the form. |
CopyContent | Allows users to copy content from the document. |
AccessibilityCopyContent | Enables content screen reading for users with disabilities. |
EditAnnotations | Allows users to get user input or feedback on a document. |
AssembleDocument | Allows users to manipulate the pages in the document. |
EditContent | Allows users to edit the content in the document. |
Document security settings in Acrobat
Already referencing the required assemblies from NuGet? Great! Now we need to add a namespace in our class, as in the following code sample.
using Syncfusion.Pdf; using Syncfusion.Pdf.Security; using Syncfusion.Pdf.Graphics;
Here is the code to create a PDF from scratch and encrypt it with both owner and user passwords.
//Create a new PDF document. using (PdfDocument document = new PdfDocument()) { //Add a page in the PDF document. PdfPage page = document.Pages.Add(); //Access the PDF graphics instance of the page. PdfGraphics graphics = page.Graphics; //Create the PDF font instance. PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 20f, PdfFontStyle.Bold); //PDF document security. PdfSecurity security = document.Security; //Specifies encryption key size, algorithm, and permission. security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; //Customize permissions in the document. security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; //Provide owner and user passwords. security.OwnerPassword = "SyncOPÜ256PDF"; security.UserPassword = "SyncUP€99PDF"; //Draw text in PDF page. graphics.DrawString("Document is encrypted with AES 256 Revision 6", font, PdfBrushes.Black, PointF.Empty); //Save the document to the file system. document.Save("Sample.pdf"); }
This sample can be downloaded from the following link: SecuritySample.zip.
As you can see, Essential PDF provides advanced security for protecting PDF documents. Use them effectively to generate more secure documents from your application. Take a moment to peruse the documentation, where you’ll find other options like changing passwords or permissions, protecting existing PDF documents, and removing passwords, all with accompanying code examples.
If you are new to our PDF library, it is highly recommended that you follow our getting started guide.
If you’re already a Syncfusion user, you can download the product setup here. If you’re not yet a Syncfusion user, you can download a free, 30-day trial here.
If you have any questions or require clarifications about this support, please let us know in the comments below. You can also contact us through our support forum or Direct-Trac. We are happy to assist you!