Back to Devexpress

PdfWidgetFacade Class

officefileapi-devexpress-dot-pdf-ea190ae8.md

latest3.9 KB
Original Source

PdfWidgetFacade Class

Contains basic widget annotation properties.

Namespace : DevExpress.Pdf

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

NuGet Package : DevExpress.Pdf.Core

Declaration

csharp
public abstract class PdfWidgetFacade
vb
Public MustInherit Class PdfWidgetFacade

Remarks

A widget annotation contains a form field’s appearance and display properties. One field can be related to multiple widget annotations. Use the PdfFormFieldFacade.Widgets property to retrieve the form field widgets settings.

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);
    }
}
  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
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 PdfWidgetFacade PdfButtonWidgetFacade

PdfCheckBoxWidgetFacade

PdfComboBoxWidgetFacade

PdfListBoxWidgetFacade

PdfSignatureWidgetFacade

PdfTextWidgetFacade

PdfRadioButtonWidgetFacade

See Also

PdfWidgetFacade Members

DevExpress.Pdf Namespace