DEV Community

jelizaveta
jelizaveta

Posted on

How to Add a Digital Signature to a Word Document in C#

When working with electronic contracts, legal documents, or official reports, adding a digital signature to a Word document is often essential. A digital signature helps verify the authenticity of a document, confirms the identity of the signer, and ensures that the content has not been modified after signing.

In this article, you'll learn how to digitally sign a Word document in C# using Free Spire.Doc for .NET . The process requires only a few lines of code and can be implemented in just a few minutes.

Prerequisites

1. Install Free Spire.Doc for .NET

You can install FreeSpire.Doc through the NuGet Package Manager or download the DLL package and add it to your project manually.

2. Prepare a Digital Certificate

You'll need a valid digital certificate in .pfx format along with its password. The certificate can be obtained from a trusted Certificate Authority (CA) or generated locally for testing purposes.

Add a Digital Signature to a Word Document

The following example demonstrates how to load a Word document, apply a digital signature using a certificate, and save the signed document.

using Spire.Doc;

namespace DigitallySignWord
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a Document object
            Document doc = new Document();

            // Load the Word document to be signed
            doc.LoadFromFile("Input.docx");

            // Specify the certificate file and password
            string certificatePath = "certificate.pfx";
            string password = "password";

            // Digitally sign the document and save it
            doc.SaveToFile("DigitallySigned.docx", FileFormat.Docx2013, certificatePath, password);
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

How the Code Works

  • Load the document The Document.LoadFromFile() method loads the target .docx file into memory.
  • Configure the certificate The certificatePath and password variables specify the location of the digital certificate and its associated password.
  • Apply the digital signature The overloaded SaveToFile() method accepts the output format, certificate path, and certificate password. When the document is saved, the digital signature is automatically embedded into the file.

After signing, open the resulting document in Microsoft Word. Word will indicate that the document contains a valid digital signature. You can view signature details by navigating to File > Info > View Signatures .

Important Notes

1. Free Version Limitations

The free edition of Spire.Doc has processing limitations. It supports Word documents containing up to 500 paragraphs or 25 tables , whichever limit is reached first.

For most small business documents, reports, and contracts, this limitation is typically sufficient.

2. Certificate Validity

For production environments, it is recommended to use a certificate issued by a trusted Certificate Authority (CA). Otherwise, Microsoft Word may display warnings indicating that the signature cannot be verified.

3. Supported Output Formats

The FileFormat parameter supports multiple Word versions, including:

  • Docx2010
  • Docx2013
  • Docx2016

Choose the format that best matches your compatibility requirements.

4. The Original Document Remains Unchanged

The digital signature is applied when saving a new file. The original document is not modified unless you explicitly overwrite it.

Conclusion

Free Spire.Doc for .NET provides a simple and efficient way to digitally sign Word documents in C#. With just a few lines of code, you can automate the signing process for contracts, reports, and other business documents.

When using the free edition, be sure to keep its paragraph and table limitations in mind to avoid runtime exceptions. If your documents exceed those limits, consider upgrading to a commercial license or implementing a document-splitting strategy.

By incorporating digital signatures into your workflow, you can improve document security, streamline approval processes, and ensure the integrity of your files with minimal development effort.

Top comments (0)