Sign and certify PDF documents programmatically in C#. Apply digital certificates, timestamps, and multiple signatures while maintaining PDF/A compliance. Ensure document authenticity and integrity with PKCS#12 certificates and Adobe-compatible signature modes.
Sign PDFs programmatically with certificates from PKCS#12 files, Windows certificate stores, or smart cards. The SDK provides full control over signature appearance, placement, and validation — all from C# code.
Whether you need visible signatures with custom text and images, or invisible certification signatures for document integrity, the SDK handles the complete signing workflow without external dependencies.
.pfx), smart cards, or Windows certificate stores
A visual mark — typed, drawn, or uploaded — that represents intent to sign. Ideal for internal agreements and low-risk approvals.
A certificate-backed signature that cryptographically proves signer identity and document integrity. Required for contracts and regulated workflows.
An invisible digital signature that certifies a document as authentic and controls what changes are allowed afterward. Used for official records and compliance.
Bind signer identity to a cryptographic key pair. Certificates prove authenticity of a PDF document and detect any changes made after signing.
Certify documents and control what changes are permitted after signing — no changes, form fill-in only, or annotations allowed.
Load certificates from industry-standard container files that bundle the certificate and private key together.
Access certificates already installed on the system — ideal for enterprise environments with centrally managed credentials.
Sign with hardware-protected certificates for maximum security. Select certificates by serial number for multi-card scenarios.
Every signature uses public key infrastructure (PKI) — your private key creates the signature, while the public key lets recipients verify it. If even a single character changes after signing, the signature becomes invalid. SHA-256 hashing and RFC 3161 timestamps provide cryptographic proof of both content integrity and signing time.
Demo
See it in action. Load a document, apply a certificate-based signature, and verify the result with our HTML5 viewer and document management kit, DocuVieware.
Loading digital signature viewer...
get started
Download and install the GdPicture.NET package to access compiled demo applications and multi-language sample projects with full source code.
\Samples\Bin\.\Samples\WinForm\.The example shows how to add a certified digital signature to a PDF.
using GdPicturePDF gdPicturePDF = new GdPicturePDF();gdPicturePDF.LoadFromFile(@"C:\temp\source.pdf");// Set the certificate from a file.gdPicturePDF.SetSignatureCertificateFromP12(@"C:\temp\certificate.pfx", "nutrient");// Add additional signature information.gdPicturePDF.SetSignatureInfo("John Smith", "Confidential", "Vienna (Austria)", "john.smith@nutrient.io");// Set the measurement unit to centimeters.gdPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);float width = gdPicturePDF.GetPageWidth();// Select the last page.gdPicturePDF.SelectPage(gdPicturePDF.GetPageCount());// Define the signature boundary box position and dimensions.gdPicturePDF.SetSignaturePos(width - 7, 10, 5, 2);// Select the text font type.string fontName = gdPicturePDF.AddTrueTypeFont("Freestyle Script", false, false, false);// Save the text alignment to center in a variable.var center = TextAlignment.TextAlignmentCenter;// Draw the text to the signature boundary box.gdPicturePDF.SetSignatureText("John Smith", fontName, 12, GdPictureColor.Blue, center, center, true);// Add an image resource from a file.string stampImage = gdPicturePDF.AddJpegImageFromFile("C:\temp\source.jpg");// Draw the image resource to the signature boundary box.gdPicturePDF.SetSignatureStampImage(stampImage);// Save the output to a file.gdPicturePDF.ApplySignature("C:\temp\output.pdf", PdfSignatureMode.PdfSignatureModeAdobePPKMS, false);Using gdPicturePDF As GdPicturePDF = New GdPicturePDF() gdPicturePDF.LoadFromFile("C:\temp\source.pdf") ' Set the certificate from a file. gdPicturePDF.SetSignatureCertificateFromP12("C:\temp\certificate.pfx", "nutrient") ' Add additional signature information. gdPicturePDF.SetSignatureInfo("John Smith", "Confidential", "Vienna (Austria)", "john.smith@nutrient.io") ' Set the measurement unit to centimeters. gdPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter) Dim width As Single = gdPicturePDF.GetPageWidth() ' Select the last page. gdPicturePDF.SelectPage(gdPicturePDF.GetPageCount()) ' Define the signature boundary box position and dimensions. gdPicturePDF.SetSignaturePos(width - 7, 10, 5, 2) ' Select the text font type. Dim fontName As String = gdPicturePDF.AddTrueTypeFont("Freestyle Script", False, False, False) ' Save the text alignment to center in a variable. Dim center = TextAlignment.TextAlignmentCenter ' Draw the text to the signature boundary box. gdPicturePDF.SetSignatureText("John Smith", fontName, 12, GdPictureColor.Blue, center, center, True) ' Add an image resource from a file. Dim stampImage As String = gdPicturePDF.AddJpegImageFromFile("C:\temp\source.jpg") ' Draw the image resource to the signature boundary box. gdPicturePDF.SetSignatureStampImage(stampImage) ' Save the output to a file. gdPicturePDF.ApplySignature("C:\temp\output.pdf", PdfSignatureMode.PdfSignatureModeAdobePPKMS, False)End UsingThe SDK supports various digital certificates, including those stored in Public Key Cryptography Standard #12 (PFX, P12) containers, Windows certificate stores, and smart cards. This flexibility enables users to utilize certificates from multiple sources for signing PDF documents.
Yes. The GdPicture.NET PDF signature SDK allows for the application of multiple digital signatures to a single PDF document. Users can add several signatures sequentially without invalidating previously applied ones, facilitating collaborative workflows and multiparty approvals.
Absolutely. The SDK includes RFC3161-compliant timestamp support, enabling users to add trusted timestamps to their digital signatures. This feature provides verifiable proof of the time at which a document was signed, enhancing the credibility and legal standing of the signature.
Yes. The GdPicture.NET PDF signature SDK offers functionalities to validate existing digital signatures. It can retrieve information about applied signatures and their corresponding certificates, checking for any alterations to the document since signing and ensuring the certificate’s validity.
The SDK employs robust security measures, including the use of the SHA-256 hash algorithm during the signing process. This ensures a high level of encryption and data integrity, safeguarding the document against unauthorized modifications, and ensuring the authenticity of the signer.
Yes. GdPicture.NET is part of the Nutrient product family. The digital signature engine and its support for PDF signature standards are consistent across Nutrient’s desktop, web, and mobile offerings.
60-day free trial