Create password protected PDF through PdfSharp
public FileContentResult DownloadPDF() { //Create PDF Document PdfDocument document = new PdfDocument(); //You will have to add Page in PDF Document PdfPage page = document.AddPage(); //For drawing in PDF Page you will nedd XGraphics Object XGraphics gfx = XGraphics.FromPdfPage(page); //For Test you will have to define font to be used XFont font = new XFont("Verdana", 20, XFontStyle.Bold); //Finally use XGraphics & font object to draw text in PDF Page gfx.DrawString("FileContent", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center); //Specify file name of the PDF file string filename = "FileName.pdf"; PdfSecuritySettings securitySettings = document.SecuritySettings; // Setting one of the passwords automatically sets the security level to // PdfDocumentSecurityLevel.Encrypted128Bit. securitySettings.UserPassword = "UserPassword"; securitySettings.OwnerPassword = "OwnerPassword"; // Don't use 40 bit encryption unless needed for compatibility reasons //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; //Creates a new Memory stream MemoryStream stream = new MemoryStream(); // Saves the document as stream document.Save(stream); document.Close(); // Converts the PdfDocument object to byte form. byte[] fileBytes = stream.ToArray(); //System.IO.File.Delete(filename); return File(fileBytes, "application/pdf", filename); }