Back to Devexpress

PdfTextWidgetFacade Class

officefileapi-devexpress-dot-pdf-16045c76.md

latest3.4 KB
Original Source

PdfTextWidgetFacade Class

Contains properties used to change the text field’s widget annotation without access to its inner structure.

Namespace : DevExpress.Pdf

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

NuGet Package : DevExpress.Pdf.Core

Declaration

csharp
public class PdfTextWidgetFacade :
    PdfWidgetFacade
vb
Public Class PdfTextWidgetFacade
    Inherits 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 Widgets property to get the form field widgets settings.

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

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

    //Change all text form fields' color settings:
    var fields = acroForm.GetFields();
    foreach (PdfFormFieldFacade field in fields)
    {
        if (field.Type == PdfFormFieldType.Text)
        {
            ChangeFormFieldColor(field);
        }
    }
}

  private static void ChangeFormFieldColor(PdfFormFieldFacade field)
  {
      foreach (PdfWidgetFacade pdfWidget in field)
      {
          //Change color and border settings
          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:
          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 text form fields' color settings:
  Dim fields = acroForm.GetFields()
  For Each field As PdfFormFieldFacade In fields
    If field.Type = PdfFormFieldType.Text Then
      ChangeFormFieldColor(field)
    End If
  Next field
End Using

  private static void ChangeFormFieldColor(PdfFormFieldFacade field)
    For Each pdfWidget As PdfWidgetFacade In field
      'Change color and border settings

      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:
      pdfWidget.BorderStyle = PdfBorderStyle.Underline
    Next pdfWidget

Inheritance

Object PdfWidgetFacade PdfTextWidgetFacade

See Also

PdfTextWidgetFacade Members

DevExpress.Pdf Namespace