private bool EncryptDocument(IFormFile uploadedFile, FileDetail fileDetail, ProcessResult processResult) { try { PdfLoadedDocument document = new PdfLoadedDocument(uploadedFile.OpenReadStream()); //Create a document security. PdfSecurity security = document.Security; //Set user password for the document. security.UserPassword = fileDetail.FilePassword; //Set encryption algorithm. security.Algorithm = PdfEncryptionAlgorithm.AES; //Set key size. security.KeySize = PdfEncryptionKeySize.Key256Bit; using (FileStream outputFileStream = new FileStream($"{fileDetail.FilePath}{fileDetail.FileName}", FileMode.Create)) { document.Save(outputFileStream); document.Close(true); } processResult.processResults.Add( new ProcessResult { IsSuccess = true, Message = "File Successfully saved to local filesystem" }); return(true); } catch (Exception ex) { processResult.processResults.Add( new ProcessResult { IsSuccess = false, Message = ex.Message }); return(false); } }
private bool IsDefaultPermission(PdfSecurity pdfSecurity) { if (!pdfSecurity.AllowAssembling) { return(false); } if (!pdfSecurity.AllowCopyAccessibilityContent) { return(false); } if (!pdfSecurity.AllowCopyContent) { return(false); } if (!pdfSecurity.AllowEditAnnotations) { return(false); } if (!pdfSecurity.AllowEditContent) { return(false); } if (!pdfSecurity.AllowFormFilling) { return(false); } if (!pdfSecurity.AllowHighResolutionPrinting) { return(false); } if (!pdfSecurity.AllowPrinting) { return(false); } return(true); }
public void OnButtonClicked(object sender, EventArgs e) { //Create new PDF document. PdfDocument document = new PdfDocument(); //Add page to the PDF document. PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; //Create font object. PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; if (this.Algorithms.Items[this.Algorithms.SelectedIndex] == "AES") { security.Algorithm = PdfEncryptionAlgorithm.AES; if (this.keysize.SelectedIndex == 0) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } else if (this.keysize.SelectedIndex == 1) { security.KeySize = PdfEncryptionKeySize.Key256Bit; } else if (this.keysize.SelectedIndex == 2) { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; } } else if (this.Algorithms.Items[this.Algorithms.SelectedIndex] == "RC4") { security.Algorithm = PdfEncryptionAlgorithm.RC4; if (this.keysize.SelectedIndex == 0) { security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (this.keysize.SelectedIndex == 1) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } } if (this.Options.Items[this.Options.SelectedIndex] == "Encrypt all contents") { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } else if (this.Options.Items[this.Options.SelectedIndex] == "Encrypt all contents except metadata") { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else if (this.Options.Items[this.Options.SelectedIndex] == "Encrypt only attachments") { //Read the file #if COMMONSB Stream file = typeof(Encryption).GetTypeInfo().Assembly.GetManifestResourceStream("SampleBrowser.Samples.PDF.Samples.Assets.Products.xml"); #else Stream file = typeof(Encryption).GetTypeInfo().Assembly.GetManifestResourceStream("SampleBrowser.PDF.Samples.Assets.Products.xml"); #endif //Creates an attachment PdfAttachment attachment = new PdfAttachment("Products.xml", file); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document document.Attachments.Add(attachment); security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (this.Algorithms.SelectedIndex == 1) { if (this.keysize.SelectedIndex == 2) { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (this.keysize.SelectedIndex == 1) { text += String.Format("\n\nRevision: {0}", "Revision 5"); } } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); MemoryStream stream = new MemoryStream(); //Save the PDF document. document.Save(stream); if (Device.RuntimePlatform == Device.UWP) { Xamarin.Forms.DependencyService.Get <ISaveWindowsPhone>().Save("Secured.pdf", "application/pdf", stream); } else { Xamarin.Forms.DependencyService.Get <ISave>().Save("Secured.pdf", "application/pdf", stream); } }
private void Button_Click_1(object sender, RoutedEventArgs e) { //Get the template PDF file stream from assembly. Stream documentStream = typeof(Encryption).GetTypeInfo().Assembly.GetManifestResourceStream("syncfusion.pdfdemos.winui.Assets.credit_card_statement.pdf"); //Load the PDF document from stream. PdfLoadedDocument document = new PdfLoadedDocument(documentStream); //Get the document security. PdfSecurity security = document.Security; //Specify key size and encryption algorithm. if (encryptionTechnique.SelectionBoxItem.ToString() == "40-Bit RC4") { //use 40 bits key in RC4 mode. security.KeySize = PdfEncryptionKeySize.Key40Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "128-Bit RC4") { //use 128 bits key in RC4 mode. security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "128-Bit AES") { //use 128 bits key in RC4 mode. security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES") { //use 256 bits key in AES mode. security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES Revision 6") { //use 256 bits key in AES mode with Revision 6. security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } //Set the PdfEncryption option to encrypt the document. if (!cmbencryptOption.IsEnabled || cmbencryptOption.SelectedIndex == 0) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } else if (cmbencryptOption.SelectedIndex == 1) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else if (cmbencryptOption.SelectedIndex == 2) { //Read a file from assembly to add an attachment. Stream imageStream = typeof(Encryption).GetTypeInfo().Assembly.GetManifestResourceStream("syncfusion.pdfdemos.winui.Assets.credit_card_statement.xml"); //Create PdfAttachment from stream. PdfAttachment attachment = new PdfAttachment("PDF.xml", imageStream); attachment.ModificationDate = DateTime.Now; attachment.Description = "Product details"; attachment.MimeType = "application/xml"; if (document.Attachments == null) { document.CreateAttachment(); } //Adds the attachment to the document. document.Attachments.Add(attachment); security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } //Set the user and owner password. security.OwnerPassword = txtOwnerPassword.Text; security.UserPassword = txtUserPassword.Text; //Set the permission flags for the file. security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; //Creating the stream object. using (MemoryStream stream = new MemoryStream()) { //Save and close the document. document.Save(stream); document.Close(true); stream.Position = 0; //Save the output stream as a file using file picker. PdfUtil.Save("Encryption.pdf", stream); } }
public ActionResult Attachments(string encrypt, string password) { //Creates a new PDF document. PdfDocument doc = new PdfDocument(); //Add a page PdfPage page = doc.Pages.Add(); //Set the font PdfStandardFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 18f, PdfFontStyle.Bold); //Create new PDF color PdfColor orangeColor = new PdfColor(255, 255, 167, 73); //Draw the text page.Graphics.DrawString("Attachments", font, PdfBrushes.Black, new RectangleF(0, 0, page.GetClientSize().Width, page.GetClientSize().Height), new PdfStringFormat(PdfTextAlignment.Center)); //Create font font = new PdfStandardFont(PdfFontFamily.Helvetica, 10f, PdfFontStyle.Regular); page.Graphics.DrawString("This PDF document contains image and text file as attachment.", font, PdfBrushes.Black, new PointF(0, 30)); font = new PdfStandardFont(PdfFontFamily.Helvetica, 8f, PdfFontStyle.Regular); page.Graphics.DrawString("Click to open the attachment:", font, PdfBrushes.Black, new PointF(0, 50)); page.Graphics.DrawString("Click to open the attachment:", font, PdfBrushes.Black, new PointF(0, 70)); string basePath = _hostingEnvironment.WebRootPath; string dataPath = string.Empty; dataPath = basePath + @"/PDF/"; //Read the file FileStream file = new FileStream(dataPath + "Text1.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Creates an attachment PdfAttachment attachment = new PdfAttachment("Text1.txt", file); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document doc.Attachments.Add(attachment); file = new FileStream(dataPath + "Autumn Leaves.jpg", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Creates an attachment attachment = new PdfAttachment("Autumn Leaves.jpg", file); attachment.ModificationDate = DateTime.Now; attachment.Description = "Autumn Leaves Image"; attachment.MimeType = "application/jpg"; doc.Attachments.Add(attachment); file = new FileStream(dataPath + "Text2.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Creates an attachment attachment = new PdfAttachment("Text2.txt", file); attachment.ModificationDate = DateTime.Now; attachment.Description = "List of Syncfusion Control"; attachment.MimeType = "application/txt"; doc.Attachments.Add(attachment); //Set Encryption password if (!string.IsNullOrEmpty(encrypt) && !string.IsNullOrEmpty(password)) { PdfSecurity security = doc.Security; security.UserPassword = password; security.Algorithm = PdfEncryptionAlgorithm.AES; security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } //Set document viewerpreference. doc.ViewerPreferences.HideWindowUI = false; doc.ViewerPreferences.HideMenubar = false; doc.ViewerPreferences.HideToolbar = false; doc.ViewerPreferences.FitWindow = false; doc.ViewerPreferences.DisplayTitle = false; doc.ViewerPreferences.PageMode = PdfPageMode.UseAttachments; //Disable the default appearance. doc.Form.SetDefaultAppearance(false); //Create pdfbuttonfield. PdfButtonField openSpecificationButton = new PdfButtonField(page, "openSpecification"); openSpecificationButton.Bounds = new RectangleF(105, 50, 62, 10); openSpecificationButton.TextAlignment = PdfTextAlignment.Left; openSpecificationButton.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 7); openSpecificationButton.BorderStyle = PdfBorderStyle.Underline; openSpecificationButton.BorderColor = orangeColor; openSpecificationButton.BackColor = new PdfColor(255, 255, 255); openSpecificationButton.ForeColor = orangeColor; openSpecificationButton.Text = "Autumn Leaves.jpg"; openSpecificationButton.Actions.MouseUp = new PdfJavaScriptAction("this.exportDataObject({ cName: 'Autumn Leaves.jpg', nLaunch: 2 });"); doc.Form.Fields.Add(openSpecificationButton); openSpecificationButton = new PdfButtonField(page, "openSpecification"); openSpecificationButton.Bounds = new RectangleF(105, 70, 30, 10); openSpecificationButton.TextAlignment = PdfTextAlignment.Left; openSpecificationButton.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 7); openSpecificationButton.BorderStyle = PdfBorderStyle.Underline; openSpecificationButton.BorderColor = orangeColor; openSpecificationButton.BackColor = new PdfColor(255, 255, 255); openSpecificationButton.ForeColor = orangeColor; openSpecificationButton.Text = "Text1.txt"; openSpecificationButton.Actions.MouseUp = new PdfJavaScriptAction("this.exportDataObject({ cName: 'Text1.txt', nLaunch: 2 });"); doc.Form.Fields.Add(openSpecificationButton); //Save the PDF to the MemoryStream MemoryStream ms = new MemoryStream(); doc.Save(ms); //If the position is not set to '0' then the PDF will be empty. ms.Position = 0; //Close the PDF document. doc.Close(true); //Download the PDF document in the browser. FileStreamResult fileStreamResult = new FileStreamResult(ms, "application/pdf"); fileStreamResult.FileDownloadName = "Attachments.pdf"; return(fileStreamResult); }
public void OnButtonClicked(object sender, EventArgs e) { //Create new PDF document. PdfDocument document = new PdfDocument(); //Add page to the PDF document. PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; //Create font object. PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; if (this.Algorithms.Items[this.Algorithms.SelectedIndex] == "AES") { security.Algorithm = PdfEncryptionAlgorithm.AES; if (this.keysize.SelectedIndex == 0) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } else if (this.keysize.SelectedIndex == 1) { security.KeySize = PdfEncryptionKeySize.Key256Bit; } else if (this.keysize.SelectedIndex == 2) { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; } } else if (this.Algorithms.Items[this.Algorithms.SelectedIndex] == "RC4") { security.Algorithm = PdfEncryptionAlgorithm.RC4; if (this.keysize.SelectedIndex == 0) { security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (this.keysize.SelectedIndex == 1) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (this.Algorithms.SelectedIndex == 1) { if (this.keysize.SelectedIndex == 2) { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (this.keysize.SelectedIndex == 1) { text += String.Format("\n\nRevision: {0}", "Revision 5"); } } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); MemoryStream stream = new MemoryStream(); //Save the PDF document. document.Save(stream); if (Device.RuntimePlatform == Device.UWP) { Xamarin.Forms.DependencyService.Get <ISaveWindowsPhone>().Save("Secured.pdf", "application/pdf", stream); } else { Xamarin.Forms.DependencyService.Get <ISave>().Save("Secured.pdf", "application/pdf", stream); } }
void OnButtonClicked(object sender, EventArgs e) { //Create new PDF document. PdfDocument document = new PdfDocument(); //Add page to the PDF document. PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; //Create font object. PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; //Document security PdfSecurity security = document.Security; int algorithmindex = algorithmlist.IndexOf(algorithmfilterType); int keyindex; if (algorithmindex == 0) { keyindex = AESkeylist.IndexOf(keysizefilterType); security.Algorithm = PdfEncryptionAlgorithm.AES; if (keyindex == 0) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } else if (keyindex == 1) { security.KeySize = PdfEncryptionKeySize.Key256Bit; } else if (keyindex == 2) { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; } } else { keyindex = RC4keylist.IndexOf(keysizefilterType); if (keyindex == 0) { security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (keyindex == 1) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } } int optionIndex = options.IndexOf(optionType); if (optionIndex == 0) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } else if (optionIndex == 1) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else if (optionIndex == 2) { //Read the file Stream file = typeof(DigitalSignatureValidation).GetTypeInfo().Assembly.GetManifestResourceStream("SampleBrowser.Samples.PDF.Assets.Products.xml"); //Creates an attachment PdfAttachment attachment = new PdfAttachment("Products.xml", file); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document document.Attachments.Add(attachment); security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; security.OwnerPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (algorithmindex == 1) { if (keyindex == 2) { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (keyindex == 1) { text += String.Format("\n\nRevision: {0}", "Revision 5"); } } // Draw String. graphics.DrawString("Document is Encrypted with following settings", font, brush, Syncfusion.Drawing.PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new Syncfusion.Drawing.PointF(0, 40)); MemoryStream stream = new MemoryStream(); //Save the PDF document. document.Save(stream); document.Close(); if (stream != null) { stream.Position = 0; SaveiOS iosSave = new SaveiOS(); iosSave.Save("Secure.pdf", "application/pdf", stream); } }
public ActionResult Encryption(string InsideBrowser, string encryptionType) { PdfDocument document = new PdfDocument(); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (encryptionType == "40_RC4") { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (encryptionType == "128_RC4") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionType == "128_AES") { //use 128 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES") { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES_Revision_6") { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (encryptionType == "256_AES_Revision_6") { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (encryptionType == "256_AES") { text += String.Format("\n\nRevision: {0}", "Revision 5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); //Stream the output to the browser. if (InsideBrowser == "Browser") { return(document.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Open)); } else { return(document.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Save)); } }
public ActionResult Encryption(string InsideBrowser, string encryptionType, string encryptOption) { PdfDocument document = new PdfDocument(); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (encryptionType == "40_RC4") { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (encryptionType == "128_RC4") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionType == "128_AES") { //use 128 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES") { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES_Revision_6") { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } //set Encryption options if (encryptOption == "Encrypt only attachments [For AES only]") { string basePath = _hostingEnvironment.WebRootPath; string dataPath = basePath + @"/PDF/"; //Read the file FileStream xmlStream = new FileStream(dataPath + "Products.xml", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Creates an attachment PdfAttachment attachment = new PdfAttachment("Products.xml", xmlStream); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document document.Attachments.Add(attachment); security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } else if (encryptOption == "Encrypt all contents except metadata") { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (encryptionType == "256_AES_Revision_6") { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (encryptionType == "256_AES") { text += String.Format("\n\nRevision: {0}", "Revision 5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); //Saving the PDF to the MemoryStream MemoryStream ms = new MemoryStream(); document.Save(ms); //If the position is not set to '0' then the PDF will be empty. ms.Position = 0; //Download the PDF document in the browser. FileStreamResult fileStreamResult = new FileStreamResult(ms, "application/pdf"); fileStreamResult.FileDownloadName = "Secure.pdf"; return(fileStreamResult); }
public ActionResult Encryption(string InsideBrowser, string encryptionType, string encryptOptionType) { PdfDocument document = new PdfDocument(); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (encryptionType == "40_RC4") { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (encryptionType == "128_RC4") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionType == "128_AES") { //use 128 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES") { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES_Revision_6") { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } //set Encryption options if (encryptOptionType == "Encrypt only attachments [For AES only]") { //Creates an attachment PdfAttachment attachment = new PdfAttachment(ResolveApplicationDataPath("Products.xml")); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document document.Attachments.Add(attachment); security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } else if (encryptOptionType == "Encrypt all contents except metadata") { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (encryptionType == "256_AES_Revision_6") { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (encryptionType == "256_AES") { text += String.Format("\n\nRevision: {0}", "Revision 5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); //Stream the output to the browser. if (InsideBrowser == "Browser") { return(document.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Open)); } else { return(document.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Save)); } }
void OnButtonClicked(object sender, EventArgs e) { //Create new PDF document. PdfDocument document = new PdfDocument(); //Add page to the PDF document. PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; //Create font object. PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; //Document security PdfSecurity security = document.Security; if (this.m_algorithms.SelectedItemPosition == 0) { security.Algorithm = PdfEncryptionAlgorithm.RC4; if (this.m_rc4Key.SelectedItemPosition == 0) { security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (this.m_rc4Key.SelectedItemPosition == 1) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } } else if (this.m_algorithms.SelectedItemPosition == 1) { security.Algorithm = PdfEncryptionAlgorithm.AES; if (this.m_aesKey.SelectedItemPosition == 0) { security.KeySize = PdfEncryptionKeySize.Key128Bit; } else if (this.m_aesKey.SelectedItemPosition == 1) { security.KeySize = PdfEncryptionKeySize.Key256Bit; } else if (this.m_aesKey.SelectedItemPosition == 2) { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; } } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (this.m_algorithms.SelectedItemPosition == 1) { if (this.m_aesKey.SelectedItemPosition == 2) { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (this.m_aesKey.SelectedItemPosition == 1) { text += String.Format("\n\nRevision: {0}", "Revision 5"); } } // Draw String. graphics.DrawString("Document is Encrypted with following settings", font, brush, Syncfusion.Drawing.PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new Syncfusion.Drawing.PointF(0, 40)); MemoryStream stream = new MemoryStream(); //Save the PDF document. document.Save(stream); document.Close(); if (stream != null) { SaveAndroid androidSave = new SaveAndroid(); androidSave.Save("Securepdf.pdf", "application/pdf", stream, m_context); } }
public ActionResult Encryption(string InsideBrowser, string encryptionType) { PdfDocument document = new PdfDocument(); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (encryptionType == "40_RC4") { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (encryptionType == "128_RC4") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionType == "128_AES") { //use 128 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES") { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionType == "256_AES_Revision_6") { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (encryptionType == "256_AES_Revision_6") { text += String.Format("\n\nRevision: {0}", "Revision 6"); } else if (encryptionType == "256_AES") { text += String.Format("\n\nRevision: {0}", "Revision 5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 11f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); //Saving the PDF to the MemoryStream MemoryStream ms = new MemoryStream(); document.Save(ms); //If the position is not set to '0' then the PDF will be empty. ms.Position = 0; //Download the PDF document in the browser. FileStreamResult fileStreamResult = new FileStreamResult(ms, "application/pdf"); fileStreamResult.FileDownloadName = "Secure.pdf"; return(fileStreamResult); }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> //protected override void OnNavigatedTo(NavigationEventArgs e) //{ //} private async void Button_Click_1(object sender, RoutedEventArgs e) { PdfDocument document = new PdfDocument(); PdfPageBase page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 20f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (encryptionTechnique.SelectionBoxItem.ToString() == "40-Bit RC4") { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "128-Bit RC4") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "128-Bit AES") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES") { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES Revision 6") { //use 256 bits key in AES mode with Revision 6 security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } security.OwnerPassword = txtOwnerPassword.Password; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = txtUserPassword.Password; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES Revision 6") { text += String.Format("\n\nRevision: {0}", "Revision6"); } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES") { text += String.Format("\n\nRevision: {0}", "Revision5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 16f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); MemoryStream stream = new MemoryStream(); await document.SaveAsync(stream); document.Close(true); Save(stream, "FormFilling.pdf"); }
public ActionResult Attachments(string Browser, string encrypt, string password) { //Creates a new PDF document. doc = new PdfDocument(); //Add a page PdfPage page = doc.Pages.Add(); //Set the font font = new PdfStandardFont(PdfFontFamily.Helvetica, 18f, PdfFontStyle.Bold); System.Drawing.Color orangeColor = System.Drawing.Color.FromArgb(255, 255, 167, 73); //Draw the text page.Graphics.DrawString("Attachments", font, PdfBrushes.Black, new RectangleF(0, 0, page.GetClientSize().Width, page.GetClientSize().Height), new PdfStringFormat(PdfTextAlignment.Center)); font = new PdfStandardFont(PdfFontFamily.Helvetica, 10f, PdfFontStyle.Regular); page.Graphics.DrawString("This PDF document contains image and text file as attachment.", font, PdfBrushes.Black, new PointF(0, 30)); font = new PdfStandardFont(PdfFontFamily.Helvetica, 8f, PdfFontStyle.Regular); page.Graphics.DrawString("Click to open the attachment:", font, PdfBrushes.Black, new PointF(0, 50)); page.Graphics.DrawString("Click to open the attachment:", font, PdfBrushes.Black, new PointF(0, 70)); //Creates an attachment PdfAttachment attachment = new PdfAttachment(ResolveApplicationDataPath("Text1.txt")); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document doc.Attachments.Add(attachment); //Creates an attachment attachment = new PdfAttachment(ResolveApplicationImagePath("Autumn Leaves.jpg")); attachment.ModificationDate = DateTime.Now; attachment.Description = "Autumn Leaves Image"; attachment.MimeType = "application/jpg"; doc.Attachments.Add(attachment); //Creates an attachment attachment = new PdfAttachment(ResolveApplicationDataPath("Text2.txt")); attachment.ModificationDate = DateTime.Now; attachment.Description = "List of Syncfusion Control"; attachment.MimeType = "application/txt"; doc.Attachments.Add(attachment); //Set Encryption password if (!string.IsNullOrEmpty(encrypt) && !string.IsNullOrEmpty(password)) { PdfSecurity security = doc.Security; security.UserPassword = password; security.Algorithm = PdfEncryptionAlgorithm.AES; security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } //Set document viewerpreference. doc.ViewerPreferences.HideWindowUI = false; doc.ViewerPreferences.HideMenubar = false; doc.ViewerPreferences.HideToolbar = false; doc.ViewerPreferences.FitWindow = false; doc.ViewerPreferences.DisplayTitle = false; doc.ViewerPreferences.PageMode = PdfPageMode.UseAttachments; //Disable the default appearance. doc.Form.SetDefaultAppearance(false); //Create pdfbuttonfield. PdfButtonField openSpecificationButton = new PdfButtonField(page, "openSpecification"); openSpecificationButton.Bounds = new RectangleF(105, 50, 62, 10); openSpecificationButton.TextAlignment = PdfTextAlignment.Left; openSpecificationButton.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 7); openSpecificationButton.BorderStyle = PdfBorderStyle.Underline; openSpecificationButton.BorderColor = orangeColor; openSpecificationButton.BackColor = new PdfColor(255, 255, 255); openSpecificationButton.ForeColor = orangeColor; openSpecificationButton.Text = "Autumn Leaves.jpg"; openSpecificationButton.Actions.MouseUp = new PdfJavaScriptAction("this.exportDataObject({ cName: 'Autumn Leaves.jpg', nLaunch: 2 });"); doc.Form.Fields.Add(openSpecificationButton); openSpecificationButton = new PdfButtonField(page, "openSpecification"); openSpecificationButton.Bounds = new RectangleF(105, 70, 30, 10); openSpecificationButton.TextAlignment = PdfTextAlignment.Left; openSpecificationButton.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 7); openSpecificationButton.BorderStyle = PdfBorderStyle.Underline; openSpecificationButton.BorderColor = orangeColor; openSpecificationButton.BackColor = new PdfColor(255, 255, 255); openSpecificationButton.ForeColor = orangeColor; openSpecificationButton.Text = "Text1.txt"; openSpecificationButton.Actions.MouseUp = new PdfJavaScriptAction("this.exportDataObject({ cName: 'Text1.txt', nLaunch: 2 });"); doc.Form.Fields.Add(openSpecificationButton); //Stream the output to the browser. if (Browser == "Browser") { return(doc.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Open)); } else { return(doc.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Save)); } }
private void button1_Click(object sender, System.EventArgs e) { PdfDocument document = new PdfDocument(); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 20f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (rdButton40Bit.Checked) { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (rdButton128Bit.Checked && rdButtonRC4.Checked) { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (rdButton128Bit.Checked && rdButtonAES.Checked) { //use 128 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (rdButton256Bit.Checked) { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (rdButton256BitRevision6.Checked) { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } if (cmbEncrypt.SelectedIndex == 0 || !cmbEncrypt.Enabled) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } else if (cmbEncrypt.SelectedIndex == 1) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else if (cmbEncrypt.SelectedIndex == 2) { security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; //Read the file FileStream file = new FileStream(GetFullTemplatePath("Products.xml", false), FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Creates an attachment PdfAttachment attachment = new PdfAttachment("Products.xml", file); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document document.Attachments.Add(attachment); } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (rdButton256BitRevision6.Checked) { text += String.Format("\n\nRevision: {0}", "Revision6"); } else if (rdButton256Bit.Checked) { text += String.Format("\n\nRevision: {0}", "Revision5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 16f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); document.Save("Sample.pdf"); //Message box confirmation to view the created PDF document. if (MessageBox.Show("Do you want to view the PDF file?", "PDF File Created", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { //Launching the PDF file using the default Application.[Acrobat Reader] #if NETCORE System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo = new System.Diagnostics.ProcessStartInfo("Sample.pdf") { UseShellExecute = true }; process.Start(); #else System.Diagnostics.Process.Start("Sample.pdf"); #endif this.Close(); } else { // Exit this.Close(); } }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> //protected override void OnNavigatedTo(NavigationEventArgs e) //{ //} private async void Button_Click_1(object sender, RoutedEventArgs e) { PdfDocument document = new PdfDocument(); PdfPageBase page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 20f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (encryptionTechnique.SelectionBoxItem.ToString() == "40-Bit RC4") { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "128-Bit RC4") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "128-Bit AES") { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES") { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES Revision 6") { //use 256 bits key in AES mode with Revision 6 security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } if (!cmbencryptOption.IsEnabled || cmbencryptOption.SelectedIndex == 0) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContents; } else if (cmbencryptOption.SelectedIndex == 1) { security.EncryptionOptions = PdfEncryptionOptions.EncryptAllContentsExceptMetadata; } else if (cmbencryptOption.SelectedIndex == 2) { //Read the file Stream imgStream = typeof(Encryption).GetTypeInfo().Assembly.GetManifestResourceStream("Syncfusion.SampleBrowser.UWP.Pdf.Pdf.Assets.Products.xml"); PdfAttachment attachment = new PdfAttachment("Products.xml", imgStream); attachment.ModificationDate = DateTime.Now; attachment.Description = "About Syncfusion"; attachment.MimeType = "application/txt"; //Adds the attachment to the document document.Attachments.Add(attachment); security.EncryptionOptions = PdfEncryptionOptions.EncryptOnlyAttachments; } security.OwnerPassword = txtOwnerPassword.Password; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = txtUserPassword.Password; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES Revision 6") { text += String.Format("\n\nRevision: {0}", "Revision6"); } else if (encryptionTechnique.SelectionBoxItem.ToString() == "256-Bit AES") { text += String.Format("\n\nRevision: {0}", "Revision5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 16f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); MemoryStream stream = new MemoryStream(); await document.SaveAsync(stream); document.Close(true); Save(stream, "FormFilling.pdf"); }
private void button1_Click(object sender, System.EventArgs e) { PdfDocument document = new PdfDocument(); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 20f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; PdfForm form = document.Form; //Document security PdfSecurity security = document.Security; //Specify key size and encryption algorithm if (rdButton40Bit.Checked) { //use 40 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key40Bit; } else if (rdButton128Bit.Checked && rdButtonRC4.Checked) { //use 128 bits key in RC4 mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.RC4; } else if (rdButton128Bit.Checked && rdButtonAES.Checked) { //use 128 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key128Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (rdButton256Bit.Checked) { //use 256 bits key in AES mode security.KeySize = PdfEncryptionKeySize.Key256Bit; security.Algorithm = PdfEncryptionAlgorithm.AES; } else if (rdButton256BitRevision6.Checked) { security.KeySize = PdfEncryptionKeySize.Key256BitRevision6; security.Algorithm = PdfEncryptionAlgorithm.AES; } security.OwnerPassword = "******"; security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint; security.UserPassword = "******"; string text = "Security options:\n\n" + String.Format("KeySize: {0}\n\nEncryption Algorithm: {4}\n\nOwner Password: {1}\n\nPermissions: {2}\n\n" + "UserPassword: {3}", security.KeySize, security.OwnerPassword, security.Permissions, security.UserPassword, security.Algorithm); if (rdButton256BitRevision6.Checked) { text += String.Format("\n\nRevision: {0}", "Revision6"); } else if (rdButton256Bit.Checked) { text += String.Format("\n\nRevision: {0}", "Revision5"); } graphics.DrawString("Document is Encrypted with following settings", font, brush, PointF.Empty); font = new PdfStandardFont(PdfFontFamily.TimesRoman, 16f, PdfFontStyle.Bold); graphics.DrawString(text, font, brush, new PointF(0, 40)); document.Save("Sample.pdf"); //Message box confirmation to view the created PDF document. if (MessageBox.Show("Do you want to view the PDF file?", "PDF File Created", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { //Launching the PDF file using the default Application.[Acrobat Reader] System.Diagnostics.Process.Start("Sample.pdf"); this.Close(); } else { // Exit this.Close(); } }