Add a Signature Field to a PDF in C#

To add a signature form field used for future digital signing, follow these steps:

  1. Create a GdPicturePDF object.

  2. Load the source document by passing its path to the LoadFromFile method.

  3. Set the origin of the coordinate system with the SetOrigin method. This method requires the PDFOrigin enumeration.

  4. Set the measurement unit used to specify dimensions.

  5. Add the signature field with the AddSignatureFormField method. It uses the following parameters:

    • Left — The horizontal distance between the closest point to the defined origin point.

    • Top — The vertical distance between the closest point to the defined origin point.

    • Width — The width of the signature field’s bounding box.

    • Height — The height of the signature field’s bounding box.

    • FieldName — The name of the signature field used for identifying form fields.

  6. Optional: Specify the font configuration. For more information, refer to the Text Settings in Form Fields section.

  7. Save the PDF document to a file with the SaveToFile method.

To add a signature form field used for future digital signing, use the following code:

using GdPicturePDF gdPicturePDF = new GdPicturePDF();
gdPicturePDF.LoadFromFile(@"C:\temp\source.pdf");
// Select the second page of the PDF document.
gdPicturePDF.SelectPage(1);
// Set the measurement unit to centimeters.
gdPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
// Set the origin of the coordinate system to the bottom-right corner.
gdPicturePDF.SetOrigin(PdfOrigin.PdfOriginBottomRight);
// Add the `Signature1` signature field.
int signatureField = gdPicturePDF.AddSignatureFormField(2, 5, 5, 2, "Signature1");
// Set the font type to Freestyle Script.
string fontName = gdPicturePDF.AddTrueTypeFont("Freestyle Script", false, false, false);
gdPicturePDF.SetFormFieldFontResName(signatureField, fontName);
// Set the font size to 48 points.
gdPicturePDF.SetFormFieldFontSize(signatureField, 48);
// Set the font color to blue.
gdPicturePDF.SetFormFieldFontColor(signatureField, 0, 0, 255);
// Set the text alignment to center.
gdPicturePDF.SetFormFieldTextAlignment(signatureField, TextAlignment.TextAlignmentCenter);
// Save the PDF document to a file.
gdPicturePDF.SaveToFile(@"C:\temp\output.pdf");
Using gdPicturePDF As GdPicturePDF = New GdPicturePDF()
    gdPicturePDF.LoadFromFile("C:\temp\source.pdf")
    ' Select the second page of the PDF document.
    gdPicturePDF.SelectPage(1)
    ' Set the measurement unit to centimeters.
    gdPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    ' Set the origin of the coordinate system to the bottom-right corner.
    gdPicturePDF.SetOrigin(PdfOrigin.PdfOriginBottomRight)
    ' Add the `Signature1` signature field.
    Dim signatureField As Integer = gdPicturePDF.AddSignatureFormField(2, 5, 5, 2, "Signature1")
    ' Set the font type to Freestyle Script.
    Dim fontName As String = gdPicturePDF.AddTrueTypeFont("Freestyle Script", False, False, False)
    gdPicturePDF.SetFormFieldFontResName(signatureField, fontName)
    ' Set the font size to 48 points.
    gdPicturePDF.SetFormFieldFontSize(signatureField, 48)
    ' Set the font color to blue.
    gdPicturePDF.SetFormFieldFontColor(signatureField, 0, 0, 255)
    ' Set the text alignment to center.
    gdPicturePDF.SetFormFieldTextAlignment(signatureField, TextAlignment.TextAlignmentCenter)
    ' Save the PDF document to a file.
    gdPicturePDF.SaveToFile("C:\temp\output.pdf")
End Using
Used Methods

Related Topics

Text Settings in Form Fields

This section explains how to configure text settings such as font type, color, and size.

Font Type

To specify the text font, use the SetFormFieldFontResName method. It requires the following parameters:

  • FieldId — A unique form field ID.

  • FontResName — A string value of the text font.

Define the FontResName parameter with one of the following methods:

  • AddStandardFont — This method requires the PdfStandardFont enumeration as its parameter.

  • AddTrueTypeFont — This allows loading any font format used in your operating system and uses the following parameters:

    • FontName — The name of the font as a string value.

    • Bold — A Boolean value that specifies if the loaded font is bold.

    • Italic — A Boolean value that specifies if the loaded font is italic.

    • Embedded — A Boolean value that specifies if the loaded font is embedded.

  • AddTrueTypeFontFromFile — This allows loading a TrueType or OpenType font from a file.

  • AddTrueTypeFontU — This method adds a TrueType or OpenType font with Unicode character support.

  • AddTrueTypeFontFromFileU — This method adds a TrueType or OpenType font from a file with Unicode character support.

Information

Embedded text significantly increases the file size.

Font Size

To specify the text size, use the SetFormFieldFontSize method. It uses the following parameters:

  • FieldId — A unique form field ID.

  • FontSize — The text size expressed in points (pt).

Font Color

To specify the text color, use the SetFormFieldFontColor method. It uses the following parameters:

  • FieldId — A unique form field ID.

  • Color definition — You can define the color in one of the following ways:

    • A set of three Byte parameters that specify the RGB color model.

    • A set of four Byte parameters that specify the CMYK color model.

    • A GdPictureColor object.

Text Alignment

To specify the text alignment, use the SetFormFieldTextAlignment method. It uses the following parameters:

  • FieldId — A unique form field ID.

  • TextAlign — A member of the TextAlignment enumeration that specifies the text alignment.