# Preparing Documents for E-Signing for Multiple Signers in .NET C#

> Learn how to prepare documents for e-signing by multiple signers in .NET C#. This article shows how to create signature fields and how to assign them to signers.

- **Author:** Bjoern Meyer
- **Published:** 2024-11-13
- **Modified:** 2025-11-16
- **Description:** Learn how to prepare documents for e-signing by multiple signers in .NET C#. This article shows how to create signature fields and how to assign them to signers.
- **6 min read** (1047 words)
- **Tags:**
  - ASP.NET
  - ASP.NET Core
  - Document Editor
  - Document Viewer
  - Signature Fields
  - E-Sign
- **Web URL:** https://www.textcontrol.com/blog/2024/11/13/preparing-documents-for-e-signing-for-multiple-signers-in-net-c-sharp/
- **LLMs URL:** https://www.textcontrol.com/blog/2024/11/13/preparing-documents-for-e-signing-for-multiple-signers-in-net-c-sharp/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2024/11/13/preparing-documents-for-e-signing-for-multiple-signers-in-net-c-sharp/llms-full.txt

---

Electronic signatures (e-signatures) have transformed business by providing a fast, secure, and legally binding way to digitally sign documents. This technology has been particularly valuable in accelerating processes such as contract approvals, vendor agreements, and onboarding, allowing companies to significantly reduce cycle times.

### Pixel-Perfect Design

There are several design and usability advantages to using an editable Microsoft Word-compatible document for e-signatures over a read-only PDF, especially if the focus is on creating a pixel-perfect document with signature fields. Signature fields in editable documents can be precisely positioned and styled, making them intuitive and easy for signers to find. Unlike PDFs, which may require additional software for precise field placement, TX Text Control allows easy placement of signature fields with pixel-level accuracy.

Various TX Text Control components work hand in hand to provide the perfect document signing experience for both the end user and the developer who integrates it into applications and workflows.

This tutorial will guide you through the process of creating a document with multiple signature fields for different signers.

### Creating a Signature Template

Consider the following scenario: A contract is to be signed by two parties with signatures and initials in different locations. The following screenshot shows the TX Text Control Document Editor, which is available for ASP.NET (Core) and Windows applications with a typical non-disclosure agreement (NDA).

![Creating signature templates with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/template1.webp "Creating signature templates with TX Text Control")

There are two signatories required to sign this agreement, the disclosing party and a selling party. In addition, the selling party should initial a special paragraph to indicate this feature as well. We will start with the first signature for the disclosing party. With *Insert -> Signature Field* we will draw a signature field at the exact position.

![Creating signature templates with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/template2.webp "Creating signature templates with TX Text Control")

You can also set *Text Wrapping* to *In Line* to dynamically move the signature with the next one, but this is optional.

![Creating signature templates with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/template3.webp "Creating signature templates with TX Text Control")

Now select the signature field and change the field name to *sign\_discloser*.

![Creating signature templates with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/template4.webp "Creating signature templates with TX Text Control")

Now, we will add the second signature field for the selling party. Repeat the steps above to add a second signature field and name it *sign\_vendor*.

![Creating signature templates with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/template5.webp "Creating signature templates with TX Text Control")

Finally, we will add the initial field for the selling party. Repeat the steps above to add an initial field and name it *init\_vendor*.

![Creating signature templates with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/template6.webp "Creating signature templates with TX Text Control")

The different names for the signature fields are used to distinguish the different signers during the signature process using the Document Viewer. The names are used to identify the fields and to assign the signature to the correct signer.

### Initializing the Document Viewer

TX Text Control provides an out-of-the-box document viewer that can be used to display and sign documents in a web application. After you have created an application using the Document Viewer, you can use the *SignatureSettings* to initialize the Viewer with the correct signature field. The following tutorial will help you create a web application from scratch.

> **Learn More**
> 
> This article shows how to use the TX Text Control ASP.NET document viewer within a .NET 6 application in Visual Studio 2022.
> 
> [Getting Started: Document Viewer with ASP.NET Core ](https://www.textcontrol.com/blog/2022/09/01/getting-started-document-viewer-with-aspnet-core/llms-full.txt)

In the view where the Document Viewer is created, use the following code to initialize the signature fields for the disclosing party.

```
@using TXTextControl.Web.MVC.DocumentViewer

<div style="width: 800px; height: 600px;">

    @Html.TXTextControl().DocumentViewer(settings =>
        {
            settings.DocumentPath = "template.tx";
            settings.Dock = DocumentViewerSettings.DockStyle.Fill;
            settings.SignatureSettings = new SignatureSettings() {
                ShowSignatureBar = true,
                OwnerName = "Paul Paulsen",
                SignerName = "Tim Typer",
                SignerInitials = "TT",
                SignatureBoxes = new SignatureBox[] {
                    new SignatureBox("sign_discloser") {
                        SigningRequired = true, Style = SignatureBox.SignatureBoxStyle.Signature
                    }
                }
            };
        }).Render()

</div>
```

The following screenshot shows the Document Viewer with the first signature box enabled. Note the other signature fields that are disabled for this session.

![Initializing the Document Viewer with signature fields](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/viewer1.webp "Initializing the Document Viewer with signature fields")

To initialize the Document Viewer for the vendor signature, use the following code.

```
@using TXTextControl.Web.MVC.DocumentViewer

<div style="width: 800px; height: 600px;">

    @Html.TXTextControl().DocumentViewer(settings =>
        {
            settings.DocumentPath = "template.tx";
            settings.Dock = DocumentViewerSettings.DockStyle.Fill;
            settings.SignatureSettings = new SignatureSettings() {
                ShowSignatureBar = true,
                OwnerName = "Paul Paulsen",
                SignerName = "Tim Typer",
                SignerInitials = "TT",
                SignatureBoxes = new SignatureBox[] {
                    new SignatureBox("sign_vendor") {
                        SigningRequired = true, Style = SignatureBox.SignatureBoxStyle.Signature
                    },
                    new SignatureBox("init_vendor") {
                        SigningRequired = true, Style = SignatureBox.SignatureBoxStyle.Initials
                    }
                }
            };
        }).Render()

</div>
```

The following screenshot shows the Document Viewer with the second signature box and the initial box enabled.

![Initializing the Document Viewer with signature fields](https://s1-www.textcontrol.com/assets/dist/blog/2024/11/13/a/assets/viewer2.webp "Initializing the Document Viewer with signature fields")

Of course, you can use unique names for these signature fields, or you can use generic names that are valid in all scenarios. Another option is to read the signature box names from the document before the initiation of the viewer.

To learn how to merge the various signatures into the final document that can be exported to PDF, read the following tutorial and sample application.

> **Learn More**
> 
> This sample shows how to request signatures from multiple signers by using custom signature workflows and routing signature requests to custom endpoints.
> 
> [Electronic Signatures: Requesting Signatures from Multiple Signers using Custom Signature Workflows ](https://www.textcontrol.com/blog/2023/01/02/electronic-signatures-requesting-signatures-from-multiple-signers-using-custom-signature-workflows/llms-full.txt)

### Conclusion

Creating signature templates with TX Text Control is a simple process that allows you to create pixel-perfect documents with signature fields. The Document Viewer can be initialized with the correct signature fields for different signers, allowing you to create a seamless signing experience for your users.

---

## About Bjoern Meyer

As CEO, Bjoern is the visionary behind our strategic direction and business development, bridging the gap between our customers and engineering teams. His deep passion for coding and web technologies drives the creation of innovative products. If you're at a tech conference, be sure to stop by our booth - you'll most likely meet Bjoern in person. With an advanced graduate degree (Dipl. Inf.) in Computer Science, specializing in AI, from the University of Bremen, Bjoern brings significant expertise to his role. In his spare time, Bjoern enjoys running, paragliding, mountain biking, and playing the piano.

- [LinkedIn](https://www.linkedin.com/in/bjoernmeyer/)
- [X](https://x.com/txbjoern)
- [GitHub](https://github.com/bjoerntx)

---

## Related Posts

- [Building an ASP.NET Core Backend (Linux and Windows) for the Document Editor and Viewer](https://www.textcontrol.com/blog/2025/03/26/building-an-asp-net-core-backend-for-the-document-editor-and-viewer/llms.txt)
- [TX Text Control Document Editor and Viewer for Blazor Released](https://www.textcontrol.com/blog/2025/03/25/tx-text-control-document-editor-and-viewer-for-blazor-released/llms.txt)
- [Announcing Our Work on a Blazor Component for Document Editing and Viewing](https://www.textcontrol.com/blog/2025/01/24/announcing-our-work-on-a-blazor-component-for-document-editing-and-viewing/llms.txt)
- [ASP.NET Core: Use the Document Editor and Viewer in the Same Razor View](https://www.textcontrol.com/blog/2024/11/08/asp-net-core-use-the-document-editor-and-viewer-in-the-same-razor-view/llms.txt)
- [Optimizing Digital Signature Workflows: Starting with MS Word DOCX Files Instead of PDFs in C#](https://www.textcontrol.com/blog/2024/09/27/optimizing-digital-signature-workflows-starting-with-ms-word-docx-files-instead-of-pdfs-in-csharp/llms.txt)
- [Adding a Security Middleware to ASP.NET Core Web Applications to Protect TX Text Control Document Editor and Document Viewer Endpoints](https://www.textcontrol.com/blog/2024/03/18/adding-a-security-middleware-to-asp-net-core-web-applications-to-protect-tx-text-control-document-editor-and-document-viewer-endpoints/llms.txt)
- [Building an ASP.NET Core Backend Application to Host the Document Editor and Document Viewer](https://www.textcontrol.com/blog/2024/03/14/building-an-asp-net-core-backend-application-to-host-the-document-editor-and-document-viewer/llms.txt)
- [5 Layout Patterns for Integrating the TX Text Control Document Editor in ASP.NET Core C#](https://www.textcontrol.com/blog/2026/04/09/5-layout-patterns-for-integrating-the-tx-text-control-document-editor-in-aspnet-core-csharp/llms.txt)
- [Introducing Text Control Agent Skills](https://www.textcontrol.com/blog/2026/03/27/introducing-text-control-agent-skills/llms.txt)
- [Deploying the TX Text Control Document Editor from the Private NuGet Feed to Azure App Services (Linux and Windows)](https://www.textcontrol.com/blog/2026/03/25/deploying-the-tx-text-control-document-editor-from-the-private-nuget-feed-to-azure-app-services-linux-and-windows/llms.txt)
- [Build a Custom Backstage View in ASP.NET Core with TX Text Control](https://www.textcontrol.com/blog/2026/02/17/build-a-custom-backstage-view-in-aspnet-core-with-tx-text-control/llms.txt)
- [ASP.NET Core Document Editor with Backend via the Text Control Private NuGet Feed](https://www.textcontrol.com/blog/2026/02/09/aspnet-core-document-editor-private-nuget-feed/llms.txt)
- [Why Document Processing Libraries Require a Document Editor](https://www.textcontrol.com/blog/2025/12/04/why-document-processing-libraries-require-a-document-editor/llms.txt)
- [High-Performance Text Replacement in Large DOCX Files using C# .NET](https://www.textcontrol.com/blog/2025/07/30/high-performance-text-replacement-in-large-docx-files-using-csharp-dotnet/llms.txt)
- [Document Viewer 33.2.1 Released: New Event and Bug Fixes](https://www.textcontrol.com/blog/2025/07/30/document-viewer-33-2-1-released-new-event-and-bug-fixes/llms.txt)
- [Getting Started Video Tutorial: Document Editor in ASP.NET Core C# on Linux](https://www.textcontrol.com/blog/2025/07/29/getting-started-video-tutorial-document-editor-aspnet-core-csharp-linux/llms.txt)
- [Adoption of Electronic vs. Paper Signatures in 2025](https://www.textcontrol.com/blog/2025/04/15/adoption-of-electronic-vs-paper-signatures-in-2025/llms.txt)
- [Deploying the TX Text Control Document Editor in an ASP.NET Core Web App to Azure App Services](https://www.textcontrol.com/blog/2025/03/26/deploying-the-tx-text-control-document-editor-in-an-asp-net-core-web-app-to-azure-app-services/llms.txt)
- [TX Text Control for Blazor: Mail Merge Integration Tutorial](https://www.textcontrol.com/blog/2025/03/25/tx-text-control-for-blazor-mail-merge-integration-tutorial/llms.txt)
- [Getting Started: Document Editor for Blazor in ASP.NET Core](https://www.textcontrol.com/blog/2025/03/25/getting-started-document-editor-for-blazor-in-asp-net-core/llms.txt)
- [Getting Started: Document Viewer for Blazor in ASP.NET Core](https://www.textcontrol.com/blog/2025/03/25/getting-started-document-viewer-for-blazor-in-asp-net-core/llms.txt)
- [Introducing TXTextControl.Web.Server.Core: A Cross-Platform Backend for TX Text Control Document Editor](https://www.textcontrol.com/blog/2025/03/13/introducing-txtextcontrol-web-server-core-a-cross-platform-backend-for-tx-text-control-document-editor/llms.txt)
- [Getting Started: Document Editor with ASP.NET Core and Docker Support with Linux Containers](https://www.textcontrol.com/blog/2025/03/12/getting-started-document-editor-with-asp-net-core-and-docker-support-with-linux-containers/llms.txt)
- [E-Signing Reference Implementation in .NET C#: An Overview](https://www.textcontrol.com/blog/2024/11/14/e-signing-reference-implementation-in-net-c-an-overview/llms.txt)
- [Connecting the TXWebSocketMiddleware to a Separate, External TCP Synchronization Service](https://www.textcontrol.com/blog/2024/10/01/connecting-the-txwebsocketmiddleware-to-a-separate-external-tcp-synchronization-service/llms.txt)
