Back to Devexpress

PdfSaveOptions.Signature Property

officefileapi-devexpress-dot-pdf-dot-pdfsaveoptions-190d24e7.md

latest5.9 KB
Original Source

PdfSaveOptions.Signature Property

Gets or sets the signature, which can contain signing info, reason and location, to be used to save the signed document.

Namespace : DevExpress.Pdf

Assembly : DevExpress.Pdf.v25.2.Core.dll

NuGet Package : DevExpress.Pdf.Core

Declaration

csharp
public PdfSignature Signature { get; set; }
vb
Public Property Signature As PdfSignature

Property Value

TypeDescription
PdfSignature

A PdfSignature object that represents the PDF signature.

|

Remarks

Use the Signature property to specify the PDF signature as an argument of the PdfDocumentProcessor.SaveDocument method to save the signed document.

Example

This example illustrates how to add a visual signature to a PDF document.

To accomplish this task, do the following:

csharp
using DevExpress.Pdf;
using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;

namespace PDFSignature {
    class Program {
        static void Main(string[] args) {

            // Create a PDF document processor.
            using (PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor()) {

                // Load a PDF document. 
                documentProcessor.LoadDocument(@"..\..\Demo.pdf");

                // Create a visual signature using certificate, image data, and specifying page number, signature bounds and rotation angle. 
                X509Certificate2 certificate = new X509Certificate2(@"..\..\SignDemo.pfx", "dxdemo");
                byte[] imageData = File.ReadAllBytes("..\\..\\Signature.png");
                int pageNumber = 1;
                int angleInDegrees = 45; 
                double angleInRadians = angleInDegrees * (Math.PI / 180);
                PdfOrientedRectangle signatureBounds = new PdfOrientedRectangle(new PdfPoint(620, 210), 250, 90, angleInRadians);
                PdfSignature signature = new PdfSignature(certificate, imageData, pageNumber, signatureBounds);

                // Specify signing location, contact info and reason.
                signature.Location = "USA";
                signature.ContactInfo = "[email protected]";
                signature.Reason = "Approved";

                // Save the signed document.
                documentProcessor.SaveDocument(@"..\..\SignedDocument.pdf", new PdfSaveOptions() { Signature = signature });
            }
        }
    }
}
vb
Imports DevExpress.Pdf
Imports System
Imports System.IO
Imports System.Security.Cryptography.X509Certificates

Namespace PDFSignature
    Class Program
        Private Shared Sub Main(ByVal args As String())
            Using documentProcessor As PdfDocumentProcessor = New PdfDocumentProcessor()
                documentProcessor.LoadDocument("..\..\Demo.pdf")
                Dim certificate As X509Certificate2 = New X509Certificate2("..\..\SignDemo.pfx", "dxdemo")
                Dim imageData As Byte() = File.ReadAllBytes("..\..\Signature.png")
                Dim pageNumber As Integer = 1
                Dim angleInDegrees As Integer = 45
                Dim angleInRadians As Double = angleInDegrees * (Math.PI / 180)
                Dim signatureBounds As PdfOrientedRectangle = New PdfOrientedRectangle(New PdfPoint(620, 210), 250, 90, angleInRadians)
                Dim signature As PdfSignature = New PdfSignature(certificate, imageData, pageNumber, signatureBounds)
                signature.Location = "USA"
                signature.ContactInfo = "[email protected]"
                signature.Reason = "Approved"
                documentProcessor.SaveDocument("..\..\SignedDocument.pdf", New PdfSaveOptions() With {
                    .Signature = signature
                })
            End Using
        End Sub
    End Class
End Namespace

See Also

PdfSaveOptions Struct

PdfSaveOptions Members

DevExpress.Pdf Namespace