diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible.slnx b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible.slnx
new file mode 100644
index 000000000..5a5369877
--- /dev/null
+++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Add-digital-signature-invisible.csproj b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Add-digital-signature-invisible.csproj
new file mode 100644
index 000000000..a1130ee4a
--- /dev/null
+++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Add-digital-signature-invisible.csproj
@@ -0,0 +1,27 @@
+
+
+
+ Exe
+ net10.0
+ Add_digital_signature_invisible
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/Template.docx b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/Template.docx
new file mode 100644
index 000000000..87b88d654
Binary files /dev/null and b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/Template.docx differ
diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/certificate.pfx b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/certificate.pfx
new file mode 100644
index 000000000..940afae4f
Binary files /dev/null and b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/certificate.pfx differ
diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Output/.gitkeep b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Output/.gitkeep
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Output/.gitkeep
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Program.cs b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Program.cs
new file mode 100644
index 000000000..a83d2a3fa
--- /dev/null
+++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Program.cs
@@ -0,0 +1,27 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Add_digital_signature_invisible
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ //Opens an existing Word document.
+ WordDocument document = new WordDocument(Path.GetFullPath(@"Data\Template.docx"));
+ //Loads the signing certificate from disk.
+ OfficeDigitalSignatureCertificate certificate = new OfficeDigitalSignatureCertificate(Path.GetFullPath(@"Data\certificate.pfx"), "password123");
+ //Configures signature settings.
+ SignatureSettings settings = new SignatureSettings();
+ settings.Comments = "Approved";
+ settings.SignTime = DateTime.Now;
+ //Adds an invisible digital signature to the document using the certificate and settings.
+ document.AddDigitalSignature(certificate, settings);
+ //Saves the Word document to file.
+ document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx);
+ //Closes the document
+ document.Close();
+ }
+ }
+}
diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line.slnx b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line.slnx
new file mode 100644
index 000000000..ed87dda02
--- /dev/null
+++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Data/Template.docx b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Data/Template.docx
new file mode 100644
index 000000000..3429b3abd
Binary files /dev/null and b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Data/Template.docx differ
diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Insert-signature-line.csproj b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Insert-signature-line.csproj
new file mode 100644
index 000000000..8759f6192
--- /dev/null
+++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Insert-signature-line.csproj
@@ -0,0 +1,25 @@
+
+
+
+ Exe
+ net10.0
+ Insert_signature_line
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
+
diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Output/.gitkeep b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Output/.gitkeep
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Output/.gitkeep
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Program.cs b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Program.cs
new file mode 100644
index 000000000..fda2ce8d2
--- /dev/null
+++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Program.cs
@@ -0,0 +1,38 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Insert_signature_line
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ //Opens an existing Word document.
+ WordDocument document = new WordDocument(Path.GetFullPath(@"Data\Template.docx"));
+ //Gets the first section of the document.
+ IWSection section = document.Sections[0];
+ //Adds new paragraph to the section.
+ IWParagraph paragraph = section.AddParagraph();
+ //Adds new text to the paragraph
+ paragraph.AppendText("Please sign below: ");
+ //Adds a new paragraph that will host the signature line.
+ IWParagraph signatureParagraph = section.AddParagraph();
+ //Configures the signature line settings.
+ SignatureLineSettings settings = new SignatureLineSettings();
+ settings.Signer = "John Doe";
+ settings.SignerTitle = "Manager";
+ settings.Email = "john.doe@example.com";
+ settings.Instructions = "Please review and sign.";
+ settings.AllowComments = true;
+ settings.ShowDate = true;
+ //Inserts the signature line into the new paragraph with the specified dimensions.
+ IWPicture picture = signatureParagraph.AppendSignatureLine(settings, 200, 100);
+ //Saves the Word document to file.
+ document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx);
+ //Closes the document
+ document.Close();
+ }
+ }
+}
+
diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature.slnx b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature.slnx
new file mode 100644
index 000000000..fa1e3e3a3
--- /dev/null
+++ b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Data/SignedDocument.docx b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Data/SignedDocument.docx
new file mode 100644
index 000000000..499c81695
Binary files /dev/null and b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Data/SignedDocument.docx differ
diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Inspect-digital-signature.csproj b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Inspect-digital-signature.csproj
new file mode 100644
index 000000000..3fb94d656
--- /dev/null
+++ b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Inspect-digital-signature.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Exe
+ net10.0
+ Inspect_digital_signature
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Program.cs b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Program.cs
new file mode 100644
index 000000000..2edf05336
--- /dev/null
+++ b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Program.cs
@@ -0,0 +1,37 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Inspect_digital_signature
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ //Opens the signed Word document.
+ WordDocument document = new WordDocument(Path.GetFullPath(@"Data\SignedDocument.docx"));
+ // Gets the digital signature collection in the document.
+ OfficeDigitalSignatureCollection signatures = document.DigitalSignatures;
+
+ // Checks whether every digital signature in the collection is valid.
+ bool allValid = signatures.IsValid;
+ Console.WriteLine("All signatures are valid: " + allValid);
+
+ // Displays details of each signature.
+ foreach (OfficeDigitalSignature signature in signatures)
+ {
+ Console.WriteLine("Signature comments: " + signature.Comments);
+ Console.WriteLine("Time of signing: " + signature.SigningTime);
+ Console.WriteLine("Subject name: " +
+ signature.Certificate.Subject);
+ Console.WriteLine("Issuer name: " +
+ signature.Certificate.Issuer);
+ Console.WriteLine();
+ }
+
+ // Closes the document.
+ document.Close();
+ }
+ }
+}
+
diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature.slnx b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature.slnx
new file mode 100644
index 000000000..3cc1aa468
--- /dev/null
+++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Data/SignedDocument.docx b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Data/SignedDocument.docx
new file mode 100644
index 000000000..499c81695
Binary files /dev/null and b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Data/SignedDocument.docx differ
diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Output/.gitkeep b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Output/.gitkeep
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Output/.gitkeep
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Program.cs b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Program.cs
new file mode 100644
index 000000000..5c768ec6d
--- /dev/null
+++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Program.cs
@@ -0,0 +1,22 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Remove_digital_signature
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ //Opens the signed Word document.
+ WordDocument document = new WordDocument(Path.GetFullPath(@"Data\SignedDocument.docx"));
+ //Removes all digital signatures from the document.
+ document.RemoveAllDigitalSignatures();
+ //Saves the Word document to file.
+ document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx);
+ //Closes the document
+ document.Close();
+ }
+ }
+}
+
diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Remove-digital-signature.csproj b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Remove-digital-signature.csproj
new file mode 100644
index 000000000..6cf1def1f
--- /dev/null
+++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Remove-digital-signature.csproj
@@ -0,0 +1,24 @@
+
+
+
+ Exe
+ net10.0
+ Remove_digital_signature
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines.slnx b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines.slnx
new file mode 100644
index 000000000..616a5ed60
--- /dev/null
+++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/BruceSignature.png b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/BruceSignature.png
new file mode 100644
index 000000000..1e85bb5eb
Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/BruceSignature.png differ
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/SteveSignature.png b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/SteveSignature.png
new file mode 100644
index 000000000..52d2f33d5
Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/SteveSignature.png differ
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/Template.docx b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/Template.docx
new file mode 100644
index 000000000..d87fcc068
Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/Template.docx differ
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/TonySignature.png b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/TonySignature.png
new file mode 100644
index 000000000..e547d7df2
Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/TonySignature.png differ
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/certificate.pfx b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/certificate.pfx
new file mode 100644
index 000000000..940afae4f
Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/certificate.pfx differ
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Output/.gitkeep b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Output/.gitkeep
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Output/.gitkeep
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Program.cs b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Program.cs
new file mode 100644
index 000000000..0cb4b4fcf
--- /dev/null
+++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Program.cs
@@ -0,0 +1,89 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Sign_multiple_signature_lines
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ // Opens an existing Word document and adds signature lines.
+ Dictionary signatureInfo;
+ using (WordDocument document = new WordDocument(Path.GetFullPath(@"Data\Template.docx")))
+ {
+ // Gets the last section of the document.
+ IWSection section = document.LastSection;
+
+ // Stores the signature line IDs and corresponding signature image paths.
+ signatureInfo = new Dictionary();
+
+ // Defines the signers.
+ string[] signers = { "Tony", "Steve", "Bruce" };
+
+ // Defines the signature images corresponding to each signer.
+ string[] images =
+ {
+ Path.GetFullPath(@"Data\TonySignature.png"),
+ Path.GetFullPath(@"Data\SteveSignature.png"),
+ Path.GetFullPath(@"Data\BruceSignature.png")
+ };
+
+ // Adds a signature line for each signer.
+ for (int i = 0; i < signers.Length; i++)
+ {
+ IWParagraph paragraph = section.AddParagraph();
+
+ IWPicture picture = paragraph.AppendSignatureLine(
+ new SignatureLineSettings()
+ {
+ Signer = signers[i],
+ SignerTitle = "Approver",
+ Email = signers[i] + "@example.com",
+ Instructions = "Please review and sign.",
+ ShowDate = true
+ },
+ 192,
+ 96);
+
+ // Gets the unique identifier of the inserted signature line.
+ Guid signatureLineId = ((WPicture)picture).SignatureLine.Id;
+
+ // Maps the signature line to its corresponding signature image.
+ signatureInfo.Add(signatureLineId, images[i]);
+ }
+
+ // Saves the document after adding the signature lines.
+ document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx);
+ }
+
+ // Loads the signing certificate.
+ OfficeDigitalSignatureCertificate certificate =
+ new OfficeDigitalSignatureCertificate(
+ Path.GetFullPath(@"Data\certificate.pfx"),
+ "password123");
+
+ // Opens the saved document to sign each signature line.
+ using (WordDocument document = new WordDocument(Path.GetFullPath(@"Output\Result.docx")))
+ {
+ // Signs each signature line using its corresponding signature image.
+ foreach (KeyValuePair item in signatureInfo)
+ {
+ SignatureSettings settings = new SignatureSettings()
+ {
+ SignatureLineId = item.Key,
+ SignatureLineImage = File.ReadAllBytes(item.Value),
+ Comments = "Approved",
+ SignTime = DateTime.Now
+ };
+
+ document.AddDigitalSignature(certificate, settings);
+ }
+
+ // Saves the signed document.
+ document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx);
+ }
+ }
+ }
+}
+
diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Sign-multiple-signature-lines.csproj b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Sign-multiple-signature-lines.csproj
new file mode 100644
index 000000000..4db0f70b5
--- /dev/null
+++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Sign-multiple-signature-lines.csproj
@@ -0,0 +1,35 @@
+
+
+
+ Exe
+ net10.0
+ Sign_multiple_signature_lines
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line.slnx b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line.slnx
new file mode 100644
index 000000000..8c32663f7
--- /dev/null
+++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Signature.png b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Signature.png
new file mode 100644
index 000000000..8ea167e84
Binary files /dev/null and b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Signature.png differ
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Template.docx b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Template.docx
new file mode 100644
index 000000000..36363223e
Binary files /dev/null and b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Template.docx differ
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/certificate.pfx b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/certificate.pfx
new file mode 100644
index 000000000..940afae4f
Binary files /dev/null and b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/certificate.pfx differ
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Output/.gitkeep b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Output/.gitkeep
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Output/.gitkeep
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Program.cs b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Program.cs
new file mode 100644
index 000000000..7a9da545e
--- /dev/null
+++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Program.cs
@@ -0,0 +1,67 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Sign_signature_line
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ //Opens an existing Word document with signature line.
+ using (WordDocument document =
+ new WordDocument(
+ Path.GetFullPath(@"Data\Template.docx")))
+ {
+ WPicture picture = null;
+ OfficeSignatureLine signatureLine = null;
+
+ //Finds the signature line in the document.
+ foreach (WSection section in document.Sections)
+ {
+ foreach (WParagraph paragraph in section.Paragraphs)
+ {
+ foreach (Entity entity in paragraph.ChildEntities)
+ {
+ if (entity is WPicture currentPicture && currentPicture.IsSignatureLine)
+ {
+ picture = currentPicture;
+ signatureLine = picture.SignatureLine;
+ break;
+ }
+ }
+
+ if (picture != null)
+ break;
+ }
+
+ if (picture != null)
+ break;
+ }
+
+ //Loads the signing certificate.
+ OfficeDigitalSignatureCertificate certificate =
+ new OfficeDigitalSignatureCertificate(
+ Path.GetFullPath(@"Data\certificate.pfx"),
+ "password123");
+
+ //Signs the signature line with the image.
+ SignatureSettings settings = new SignatureSettings
+ {
+ SignatureLineId = signatureLine.Id,
+ SignTime = DateTime.Now,
+ SignatureLineImage = File.ReadAllBytes(Path.GetFullPath(@"Data\Signature.png")),
+ Comments = "Approved"
+ };
+
+ if (File.Exists(Path.GetFullPath(@"Data\Signature.png")))
+ settings.SignatureLineImage = File.ReadAllBytes(Path.GetFullPath(@"Data\Signature.png"));
+
+ document.AddDigitalSignature(certificate, settings);
+ //Saves the signed document.
+ document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx);
+ }
+
+ }
+ }
+}
diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Sign-signature-line.csproj b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Sign-signature-line.csproj
new file mode 100644
index 000000000..b66cf7c20
--- /dev/null
+++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Sign-signature-line.csproj
@@ -0,0 +1,30 @@
+
+
+
+ Exe
+ net10.0
+ Sign_signature_line
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature.slnx b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature.slnx
new file mode 100644
index 000000000..53a428679
--- /dev/null
+++ b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Data/SignedDocument.docx b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Data/SignedDocument.docx
new file mode 100644
index 000000000..499c81695
Binary files /dev/null and b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Data/SignedDocument.docx differ
diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Program.cs b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Program.cs
new file mode 100644
index 000000000..7ac33eb73
--- /dev/null
+++ b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Program.cs
@@ -0,0 +1,31 @@
+using Syncfusion.DocIO;
+using Syncfusion.DocIO.DLS;
+using Syncfusion.Office;
+
+namespace Validate_digital_signature
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ //Opens the signed Word document.
+ WordDocument document = new WordDocument(Path.GetFullPath(@"Data\SignedDocument.docx"));
+ //Gets the digital signature collection in the document.
+ OfficeDigitalSignatureCollection signatures = document.DigitalSignatures;
+ //Checks whether every digital signature in the collection is valid.
+ bool allValid = signatures.IsValid;
+ Console.WriteLine("All signatures are valid : " + allValid);
+ //Iterates through each signature and checks whether it is valid.
+ foreach (OfficeDigitalSignature signature in signatures)
+ {
+ //Checks whether the signature is valid.
+ bool isValid = signature.IsValid;
+ Console.WriteLine("Signature is valid : " + isValid);
+ }
+ //Closes the document
+ document.Close();
+
+ }
+ }
+}
+
diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Validate-digital-signature.csproj b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Validate-digital-signature.csproj
new file mode 100644
index 000000000..bf194b5ad
--- /dev/null
+++ b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Validate-digital-signature.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Exe
+ net10.0
+ Validate_digital_signature
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+
+