From 53746fb403ff952956f40c052085db60fba51367 Mon Sep 17 00:00:00 2001 From: DharanyaSakthivel-SF4210 Date: Wed, 14 May 2025 09:27:38 +0530 Subject: [PATCH] ES-957423-MailMerge-signed-PDF-each-entry --- .../.NET/MailMerge-signed-PDF-each-entry.sln | 22 ++++ .../Data/Template.docx | Bin 0 -> 45922 bytes .../MailMerge-signed-PDF-each-entry.csproj | 24 ++++ .../Output/.gitkeep | 1 + .../Program.cs | 121 ++++++++++++++++++ 5 files changed, 168 insertions(+) create mode 100644 Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry.sln create mode 100644 Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Data/Template.docx create mode 100644 Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/MailMerge-signed-PDF-each-entry.csproj create mode 100644 Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Output/.gitkeep create mode 100644 Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Program.cs diff --git a/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry.sln b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry.sln new file mode 100644 index 000000000..b31ac0d24 --- /dev/null +++ b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35527.113 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MailMerge-signed-PDF-each-entry", "MailMerge-signed-PDF-each-entry\MailMerge-signed-PDF-each-entry.csproj", "{5B0540C8-1A4D-4BB4-A0B9-10028D140E00}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Data/Template.docx b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..4bf2ed692b56f2b8642b4d59d597ef03da00a8d6 GIT binary patch literal 45922 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 + + + Exe + net8.0 + MailMerge_signed_PDF_each_entry + enable + enable + + + + + + + + + Always + + + Always + + + + diff --git a/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Output/.gitkeep b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Program.cs b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Program.cs new file mode 100644 index 000000000..34972b495 --- /dev/null +++ b/Word-to-PDF-Conversion/MailMerge-signed-PDF-each-entry/.NET/MailMerge-signed-PDF-each-entry/Program.cs @@ -0,0 +1,121 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIORenderer; +using Syncfusion.Pdf; +using Syncfusion.Pdf.Interactive; +using Syncfusion.Pdf.Parsing; +using Syncfusion.Drawing; + + +// Load the Word document +using (WordDocument document = new WordDocument(Path.GetFullPath(@"Data/Template.docx"))) +{ + // Get the recipient details as a list of .NET objects + List recipients = GetRecipients(); + + // Perform mail merge using the recipient data + document.MailMerge.Execute(recipients); + + // Initialize the DocIO to PDF converter + using (DocIORenderer renderer = new DocIORenderer()) + { + // Preserve form fields (textboxes, checkboxes, etc.) + renderer.Settings.PreserveFormFields = true; + + // Convert the merged Word document to PDF + using (PdfDocument pdfDocument = renderer.ConvertToPDF(document)) + { + // Save the PDF to memory stream + using (MemoryStream stream = new MemoryStream()) + { + pdfDocument.Save(stream); + stream.Position = 0; + + // Add digital signature fields in place of textboxes + AddSignatureField(stream, "Signature"); + } + } + } +} + + +#region Mail Merge Data +/// +/// Gets the data to perform mail merge. +/// +/// List of recipient details. +List GetRecipients() +{ + List recipients = new List(); + // Initialize sample recipient data + recipients.Add(new Recipient("Nancy Davolio", "NorthWinds", "507 - 20th Ave. E.Apt. 2A", "507-345-2309")); + recipients.Add(new Recipient("Janet Leverling", "NorthWinds", "722 Moss Bay Blvd.", "542-754-2843")); + return recipients; +} +#endregion + +#region Add Digital Signature Field +/// +/// Replaces text box fields in the PDF with signature fields at the same positions. +/// +/// PDF stream to modify. +/// Placeholder text to identify the field (not used directly in this sample). +void AddSignatureField(MemoryStream stream, string bookmarkTitle) +{ + // Load the generated PDF document + using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument(stream)) + { + // Access the form fields in the PDF + PdfLoadedForm loadedForm = loadedDocument.Form; + + // Loop through each form field + for (int i = loadedForm.Fields.Count - 1; i >= 0; i--) + { + if (loadedForm.Fields[i] is PdfLoadedTextBoxField) + { + // Get the loaded text box field + PdfLoadedTextBoxField loadedTextBoxField = loadedForm.Fields[i] as PdfLoadedTextBoxField; + + // Get its bounds and page to use for placing the signature field + RectangleF bounds = loadedTextBoxField.Bounds; + PdfPageBase loadedPage = loadedTextBoxField.Page; + + // Create a signature field with the same name and location + PdfSignatureField signatureField = new PdfSignatureField(loadedPage, loadedTextBoxField.Text.Trim()); + signatureField.Bounds = bounds; + + // Add the signature field to the document + loadedDocument.Form.Fields.Add(signatureField); + + // Remove the original textbox field + loadedDocument.Form.Fields.Remove(loadedTextBoxField); + } + } + + // Save the modified PDF with signature fields + using (FileStream outputFile = new FileStream(Path.GetFullPath(@"../../../Output/Result.pdf"), FileMode.Create)) + { + loadedDocument.Save(outputFile); + } + } +} +#endregion + +/// +/// Represents the Recipient details for the mail merge. +/// +class Recipient +{ + public string FirstName { get; set; } + public string CompanyName { get; set; } + public string Address { get; set; } + public string PhoneNumber { get; set; } + + public Recipient(string firstName, string companyName, string address, string phone) + { + FirstName = firstName; + CompanyName = companyName; + Address = address; + PhoneNumber = phone; + } +} +