Back to Devexpress

How to: Use PDF Graphics API to Add Interactive Form Fields

officefileapi-118353-pdf-document-api-examples-pdf-graphics-and-additional-content-how-to-create-an-interactive-form.md

latest4.2 KB
Original Source

How to: Use PDF Graphics API to Add Interactive Form Fields

  • Sep 19, 2023
  • 3 minutes to read

Important

You need a license for the DevExpress Office File API Subscription or DevExpress Universal Subscription to use these examples in production code.

The following code snippet uses PDF Graphics API to add interactive form fields – text box and radio button group.

View Example

csharp
using DevExpress.Pdf;
using System.Drawing;

using (var processor = new PdfDocumentProcessor()) {
    // Create an empty document.
    processor.CreateEmptyDocument("..\\..\\Result.pdf");

    // Create graphics and draw form fields.
    using (PdfGraphics graphics = processor.CreateGraphicsPageSystem()) {
        DrawFormFields(graphics);

        // Render a page with graphics.
        processor.RenderNewPage(PdfPaperSize.Letter, graphics);
    }
}

static void DrawFormFields(PdfGraphics graphics){
    // Create a text box field and specify its location on the page.
    var textBox =
         new PdfGraphicsAcroFormTextBoxField("text box", new RectangleF(30, 10, 200, 30));

    // Specify text and appearance parameters.
    textBox.Text = "Text Box";
    textBox.Appearance.FontSize = 12;
    textBox.Appearance.BackgroundColor = Color.AliceBlue;

    // Add the text box field to graphics.
    graphics.AddFormField(textBox);

    // Create a radio group field.
    var radioGroup =
         new PdfGraphicsAcroFormRadioGroupField("First Group");

    // Add the first radio button to the group and specify its location.
    radioGroup.AddButton("button1", new RectangleF(30, 60, 20, 20));

    // Add the second radio button to the group.
    radioGroup.AddButton("button2", new RectangleF(30, 90, 20, 20));

    // Specify radio group selected index
    radioGroup.SelectedIndex = 0;

    // Specify appearance options:
    radioGroup.Appearance.BorderAppearance =
         new PdfGraphicsAcroFormBorderAppearance()
        {
            Color = Color.Red,
            Width = 3
        };

    // Add the radio group field to graphics.
    graphics.AddFormField(radioGroup);
}
vb
Imports DevExpress.Pdf
Imports System.Drawing

Shared Sub Main(ByVal args() As String)
    Using processor As New PdfDocumentProcessor()

        ' Create an empty document.
        processor.CreateEmptyDocument("..\..\Result.pdf")

        ' Create graphics and draw form fields.
        Using graphics As PdfGraphics = processor.CreateGraphicsPageSystem()
            DrawFormFields(graphics)

            ' Render a page with graphics.
            processor.RenderNewPage(PdfPaperSize.Letter, graphics)
        End Using
    End Using
End Sub

Private Shared Sub DrawFormFields(ByVal graphics As PdfGraphics)

    ' Create a text box field and specify its location on the page.
    Dim textBox As New PdfGraphicsAcroFormTextBoxField("text box", New RectangleF(30, 10, 200, 30))

    ' Specify text and appearance parameters.
    textBox.Text = "Text Box"
    textBox.Appearance.FontSize = 12
    textBox.Appearance.BackgroundColor = Color.AliceBlue

    ' Add the text box field to graphics.
    graphics.AddFormField(textBox)

    ' Create a radio group field.
    Dim radioGroup As New PdfGraphicsAcroFormRadioGroupField("First Group")

    ' Add the first radio button to the group and specify its location.
    radioGroup.AddButton("button1", New RectangleF(30, 60, 20, 20))

    ' Add the second radio button to the group.
    radioGroup.AddButton("button2", New RectangleF(30, 90, 20, 20))

    ' Specify radio group selected index,
    radioGroup.SelectedIndex = 0

    ' Specify appearance parameters
    radioGroup.Appearance.BorderAppearance = New PdfGraphicsAcroFormBorderAppearance() With {.Color = Color.Red, .Width = 3}

    ' Add the radio group field to graphics.
    graphics.AddFormField(radioGroup)
End Sub

See Also

Get Started - Load and Edit a PDF File