PDFsharp Sample: Protect Document

Modified on 2009/08/11 11:51 by Thomas Hövel — Categorized as: PDFsharp Samples, Samples

<< Previous^UpNext >>
This sample shows how to protect a document with a password.

PDF Output File

See the PDF file created by this sample: output.pdf (3 kB)
Note:  the owner password is "owner".

Screen Shots

Here are the sample screen shots:

Adobe Reader prompts for password File is marked as SECURED
Note:  Adobe Reader prompts for the password when you try to open the file (remember the secret password is "owner"); when the file is opened, the caption indicates "SECURED".

Source Code

This is the whole source code needed to create the PDF file:
// Get a fresh copy of the sample PDF file
const string filenameSource = "HelloWorld.pdf";
const string filenameDest = "HelloWorld_tempfile.pdf";
File.Copy(Path.Combine("../../../../../PDFs/", filenameSource), 
  Path.Combine(Directory.GetCurrentDirectory(), filenameDest), true);
 
// Open an existing document. Providing an unrequired password is ignored.
PdfDocument document = PdfReader.Open(filenameDest, "some text");
 
PdfSecuritySettings securitySettings = document.SecuritySettings;
 
// Setting one of the passwords automatically sets the security level to 
// PdfDocumentSecurityLevel.Encrypted128Bit.
securitySettings.UserPassword  = "user";
securitySettings.OwnerPassword = "owner";
 
// Don't use 40 bit encryption unless needed for compatibility
//securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted40Bit;
 
// Restrict some rights.
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = false;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = false;
 
// Save the document...
document.Save(filenameDest);
// ...and start a viewer.
Process.Start(filenameDest);