officefileapi-devexpress-dot-pdf-460ac0c0.md
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
public class PdfAcroFormFacade
Public Class PdfAcroFormFacade
The following members return PdfAcroFormFacade objects:
Utilize one of the following methods to get form field properties:
| Method | Description |
|---|---|
| GetFields() | Retrieves all AcroForm fields. |
| GetFormField() | Obtains properties of a field with a specific name. |
| GetButtonFormField() | |
| GetCheckBoxFormField() | |
| GetComboBoxFormField() | |
| and so on | Returns 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:
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;
}
}
}
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
Object PdfAcroFormFacade
See Also