Back to Devexpress

PdfAcroFormFacade Class

officefileapi-devexpress-dot-pdf-460ac0c0.md

latest4.4 KB
Original Source

PdfAcroFormFacade Class

Exposes a set of methods used to organize AcroForm fields without access to their inner structure.

Namespace : DevExpress.Pdf

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

NuGet Package : DevExpress.Pdf.Core

Declaration

csharp
public class PdfAcroFormFacade
vb
Public Class PdfAcroFormFacade

The following members return PdfAcroFormFacade objects:

Remarks

Utilize one of the following methods to get form field properties:

MethodDescription
GetFields()Retrieves all AcroForm fields.
GetFormField()Obtains properties of a field with a specific name.
GetButtonFormField()
GetCheckBoxFormField()
GetComboBoxFormField()
and so onReturns properties of a specific form field type.

Call the GetNames() method to get a list of form field names.

The code sample below retrieves all fields and changes their appearance:

csharp
using (PdfDocumentProcessor pdfDocumentProcessor = new PdfDocumentProcessor())
{
    pdfDocumentProcessor.LoadDocument("Documents//FormDemo.pdf");

    PdfDocumentFacade documentFacade = pdfDocumentProcessor.DocumentFacade;
    PdfAcroFormFacade acroForm = documentFacade.AcroForm;

    //Change all form fields' color settings:
    var fields = acroForm.GetFields();
    foreach (PdfFormFieldFacade field in fields)
    {
        ChangeFormFieldColor(field);
    }
    pdfDocumentProcessor.SaveDocument("FormDemo_new.pdf");
}
  private static void ChangeFormFieldColor(PdfFormFieldFacade field)
  {
      foreach (PdfWidgetFacade pdfWidget in field)
      {
          //Change color and border settings
          //for all form fields:
          pdfWidget.BorderWidth = 1;
          pdfWidget.BackgroundColor = new PdfRGBColor(0.81, 0.81, 0.81);
          pdfWidget.BorderColor = new PdfRGBColor(0.47, 0.44, 0.67);
          pdfWidget.FontColor = new PdfRGBColor(0.34, 0.25, 0.36);

          //Change border style for text form fields:
          if (field.Type == PdfFormFieldType.Text)
          {
              pdfWidget.BorderStyle = PdfBorderStyle.Underline;
          }
      }
  }
vb
Using pdfDocumentProcessor As New PdfDocumentProcessor()
  pdfDocumentProcessor.LoadDocument("Documents//FormDemo.pdf")

  Dim documentFacade As PdfDocumentFacade = pdfDocumentProcessor.DocumentFacade
  Dim acroForm As PdfAcroFormFacade = documentFacade.AcroForm

  'Change all form fields' color settings:
  Dim fields = acroForm.GetFields()
  For Each field As PdfFormFieldFacade In fields
    ChangeFormFieldColor(field)
  Next field
  pdfDocumentProcessor.SaveDocument("FormDemo_new.pdf")
End Using

  private static void ChangeFormFieldColor(PdfFormFieldFacade field)
    For Each pdfWidget As PdfWidgetFacade In field
      'Change color and border settings
      'for all form fields:
      pdfWidget.BorderWidth = 1
      pdfWidget.BackgroundColor = New PdfRGBColor(0.81, 0.81, 0.81)
      pdfWidget.BorderColor = New PdfRGBColor(0.47, 0.44, 0.67)
      pdfWidget.FontColor = New PdfRGBColor(0.34, 0.25, 0.36)

      'Change border style for text form fields:
      If field.Type = PdfFormFieldType.Text Then
        pdfWidget.BorderStyle = PdfBorderStyle.Underline
      End If
    Next pdfWidget

Inheritance

Object PdfAcroFormFacade

See Also

PdfAcroFormFacade Members

DevExpress.Pdf Namespace