diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge.sln b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge.sln
new file mode 100644
index 00000000..2324f761
--- /dev/null
+++ b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.37216.2 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Insert_Signature_in_Word_Document_through_MailMerge", "Insert_Signature_in_Word_Document_through_MailMerge\Insert_Signature_in_Word_Document_through_MailMerge.csproj", "{EE7EAFF2-30BA-F32D-1FD6-D033BF4D8200}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EE7EAFF2-30BA-F32D-1FD6-D033BF4D8200}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EE7EAFF2-30BA-F32D-1FD6-D033BF4D8200}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EE7EAFF2-30BA-F32D-1FD6-D033BF4D8200}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EE7EAFF2-30BA-F32D-1FD6-D033BF4D8200}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {D921C376-3534-4617-B8EF-5CBA4C2FC9DA}
+ EndGlobalSection
+EndGlobal
diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Data/Template.docx b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Data/Template.docx
new file mode 100644
index 00000000..d5cec487
Binary files /dev/null and b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Data/Template.docx differ
diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Data/signature.gif b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Data/signature.gif
new file mode 100644
index 00000000..3d1bf138
Binary files /dev/null and b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Data/signature.gif differ
diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Insert_Signature_in_Word_Document_through_MailMerge.csproj b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Insert_Signature_in_Word_Document_through_MailMerge.csproj
new file mode 100644
index 00000000..99d36f77
--- /dev/null
+++ b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Insert_Signature_in_Word_Document_through_MailMerge.csproj
@@ -0,0 +1,26 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Output/Result.docx b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Output/Result.docx
new file mode 100644
index 00000000..f8b749ca
Binary files /dev/null and b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Output/Result.docx differ
diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Output/gitkeep.txt b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Output/gitkeep.txt
new file mode 100644
index 00000000..5f282702
--- /dev/null
+++ b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Output/gitkeep.txt
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Program.cs b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Program.cs
new file mode 100644
index 00000000..02ebc01c
--- /dev/null
+++ b/Mail-Merge/Insert_Signature_in_Word_Document_through_MailMerge/.NET/Insert_Signature_in_Word_Document_through_MailMerge/Program.cs
@@ -0,0 +1,73 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+
+namespace Insert_Signature_in_Word_Document_through_MailMerge
+{
+ class Program
+ {
+
+ static void Main(string[] args)
+ {
+ // Load the word document
+ using (FileStream fileStream = new FileStream(Path.GetFullPath("../../../Data/Template.docx"), FileMode.Open, FileAccess.Read))
+ {
+ using (WordDocument document = new WordDocument(fileStream, FormatType.Docx))
+ {
+ string[] fieldNames = { "Signature" };
+ string[] fieldValues = { "signature.gif" };
+
+ document.MailMerge.MergeImageField += MailMerge_MergeSignature;
+ //Execute mail merge in the Word document
+ document.MailMerge.Execute(fieldNames, fieldValues);
+ using (FileStream outputStream = new FileStream(Path.GetFullPath("../../../Output/Result.docx"), FileMode.Create, FileAccess.Write))
+ {
+ //Saves the stream as Word file
+ document.Save(outputStream, FormatType.Docx);
+ }
+ }
+ }
+ }
+ ///
+ /// Binds the image from file system and fit within text box during Mail merge process by using MergeImageFieldEventHandler.
+ ///
+ ///
+ ///
+ private static void MailMerge_MergeSignature(object sender, MergeImageFieldEventArgs args)
+ {
+ if (args.FieldName == "Signature")
+ {
+ string productFileName = args.FieldValue.ToString();
+ byte[] imageBytes = File.ReadAllBytes(@"Data/" + productFileName);
+ MemoryStream imageStream = new MemoryStream(imageBytes);
+ args.ImageStream = imageStream;
+ // Get the picture to be merged
+ WPicture picture = args.Picture;
+
+ WTextBox textbox = args.CurrentMergeField.OwnerParagraph.OwnerTextBody.Owner as WTextBox;
+ // check whether the picture is inside the text box
+ if (textbox != null)
+ {
+ // Get the text box format
+ WTextBoxFormat textBoxFormat = textbox.TextBoxFormat;
+
+ if (textBoxFormat != null)
+ {
+ // Resize width
+ if (picture.Width != textBoxFormat.Width)
+ {
+ float widthScale = textBoxFormat.Width / picture.Width * 100;
+ picture.WidthScale = widthScale;
+ }
+
+ // Resize height
+ if (picture.Height != textBoxFormat.Height)
+ {
+ float heightScale = textBoxFormat.Height / picture.Height * 100;
+ picture.HeightScale = heightScale;
+ }
+ }
+ }
+ }
+ }
+ }
+}