VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
In This Topic
    PDF: Add a signature field to the PDF interactive form
    In This Topic
    Here is C#/VB.NET code that demonstrates how to create a signature field and add it to an interactive form of PDF document, i.e. to sign the document via digital signature for authenticating the user identity and the validity of content:
    /// <summary>
    /// Signs a PDF or PDF/A document using X509 Certificate.
    /// </summary>
    /// <param name="inputFilename">The filename of input PDF document.</param>
    /// <param name="outputFilename">The filename of output PDF document.</param>
    /// <param name="certificate">The X509 certificate.</param>
    /// <param name="conformance">PDF/A conformance.</param>
    public static void SignDocument(
        string inputFilename,
        string outputFilename,
        X509Certificate2 certificate,
        PdfDocumentConformance conformance)
    {
        // create digital signature helper
        PdfPageDigitalSignatureHelper digitalSignatureHelper = new PdfPageDigitalSignatureHelper(certificate, new RectangleF(10, 10, 250, 75));
    
        // set signing reason
        digitalSignatureHelper.SigningReason = "Test signing";
    
        // set text
        digitalSignatureHelper.SignatureText = string.Format("Digitally signed by\n{0}", digitalSignatureHelper.SignerName);
    
        PdfAConverter pdfAConverter = null;
        // if specified PDF/A conformance
        if (conformance != PdfDocumentConformance.Undefined)
        {
            // create PDF/A converter
            pdfAConverter = (PdfAConverter)PdfDocumentConverter.Create(conformance);
            //pdfAConverter.DefaultCmykIccProfileFilename = "DefaultCMYK.icc";
            //pdfAConverter.DefaultRgbIccProfileFilename = "DefaultRGB.icc";
        }
    
        // sign PDF document and save PDF document to the output file
        digitalSignatureHelper.SignDocument(inputFilename, outputFilename, 0, pdfAConverter);
    }
    
    ''' <summary>
    ''' Signs a PDF or PDF/A document using X509 Certificate.
    ''' </summary>
    ''' <param name="inputFilename">The filename of input PDF document.</param>
    ''' <param name="outputFilename">The filename of output PDF document.</param>
    ''' <param name="certificate">The X509 certificate.</param>
    ''' <param name="conformance">PDF/A conformance.</param>
    Public Shared Sub SignDocument(inputFilename As String, outputFilename As String, certificate As X509Certificate2, conformance As PdfDocumentConformance)
        ' create digital signature helper
        Dim digitalSignatureHelper As New PdfPageDigitalSignatureHelper(certificate, New RectangleF(10, 10, 250, 75))
    
        ' set signing reason
        digitalSignatureHelper.SigningReason = "Test signing"
    
        ' set text
        digitalSignatureHelper.SignatureText = String.Format("Digitally signed by" & vbLf & "{0}", digitalSignatureHelper.SignerName)
    
        Dim pdfAConverter As PdfAConverter = Nothing
        ' if specified PDF/A conformance
        If conformance <> PdfDocumentConformance.Undefined Then
            ' create PDF/A converter
                'pdfAConverter.DefaultCmykIccProfileFilename = "DefaultCMYK.icc";
                'pdfAConverter.DefaultRgbIccProfileFilename = "DefaultRGB.icc";
            pdfAConverter = DirectCast(PdfDocumentConverter.Create(conformance), PdfAConverter)
        End If
    
        ' sign PDF document and save PDF document to the output file
        digitalSignatureHelper.SignDocument(inputFilename, outputFilename, 0, pdfAConverter)
    End Sub