Articles in this section
Category / Section

How to create the PDF digital signature with custom appearance in C# and VB.NET

3 mins read

Syncfusion Essential PDF is a .NET PDF library used to create, read and edit PDF documents. Using this library, you can create a PDF digital signature with custom appearance in C# and VB.NET.

Steps to create PDF digital signature with custom appearance programmatically:

  1. Create a new C# console application project. Create a console application project

Create new console application
  2. Install the Syncfusion.Pdf.WinForms NuGet packages as reference to your .NET Framework application from NuGet.org. NuGet reference

Install nuget packages
  3. Include the following namespaces in the Program.cs file.

C#

using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Security;

 

VB.NET

Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics
Imports Syncfusion.Pdf.Security

 

  1. Use the following code snippet to create PDF digital signature with custom appearance.

C#

//Creates a new PDF document
PdfDocument document = new PdfDocument();
//Adds a new page
PdfPageBase page = document.Pages.Add();
PdfGraphics graphics = page.Graphics;
//Creates a certificate instance from PFX file with the private key
PdfCertificate pdfCert = new PdfCertificate(@"PDF.pfx", "syncfusion");
//Creates a digital signature
PdfSignature signature = new PdfSignature(document, page, pdfCert, "Signature");
//Sets an image for signature field
PdfBitmap signatureImage = new PdfBitmap(@"signature.png");
//Sets signature information
signature.Bounds = new RectangleF(0,0,200,100);
signature.ContactInfo = "johndoe@owned.us";
signature.LocationInfo = "Honolulu, Hawaii";
signature.Reason = "I am author of this document.";
//Create appearance for the digital signature
signature.Appearance.Normal.Graphics.DrawImage(signatureImage, signature.Bounds);
//Save the document
document.Save("DigitalSignature.pdf");
//Close the document
document.Close(true);
//This will open the PDF file so, the result will be seen in default PDF viewer
Process.Start("DigitalSignature.pdf");

 

VB.NET

'Creates a new PDF document
Dim document As New PdfDocument()
'Adds a new page
Dim page As PdfPageBase = document.Pages.Add()
Dim graphics As PdfGraphics = page.Graphics
'Creates a certificate instance from PFX file with the private key
Dim pdfCert As New PdfCertificate("PDF.pfx", "syncfusion")
'Creates a digital signature
Dim signature As New PdfSignature(document, page, pdfCert, "Signature")
'Sets an image for signature field
Dim signatureImage As New PdfBitmap("signature.png")
'Sets signature information
signature.Bounds = New RectangleF(0, 0, 200, 100)
signature.ContactInfo = "johndoe@owned.us"
signature.LocationInfo = "Honolulu, Hawaii"
signature.Reason = "I am author of this document."
'Create appearance for the digital signature
signature.Appearance.Normal.Graphics.DrawImage(signatureImage, signature.Bounds)
'Save the document
document.Save("DigitalSignature.pdf")
'Close the document
document.Close(True)
'This will open the PDF file so, the result will be seen in default PDF viewer
Process.Start("DigitalSignature.pdf")

 

A complete working sample can be downloaded from DigitalSignatureSample.zip.

By executing the program, you will get the PDF document as follows. Output document screenshot

Screenshot of output PDF file

Take a moment to peruse the documentation for adding a digital signature in PDF document, where you will find other options like signing an existing document, adding a signature validation appearance based on the signature, Enable LTV PDF signature, and adding a timestamp in digital signature.

Refer here to explore the rich set of Syncfusion Essential PDF features.

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please  to leave a comment
Access denied
Access denied