Interface IFormFieldAnnotationObject
Refers to an annotation or is an annotation
Inherited Members
Namespace: IronSoftware.Forms
Assembly: IronPdf.dll
Syntax
public interface IFormFieldAnnotationObject : IPdfDocumentObject, IPdfDocumentObject, IDocumentObject
IFormFieldAnnotationObject describes where a fillable PDF form field sits on a page in IronPDF, so code can read or adjust its placement through one narrow surface. It declares the four positional properties that describe a field's placement: X, Y, Width, and Height. Concrete implementors include TextFormField, CheckboxFormField, ComboboxFormField, RadioFormField, SignatureFormField, and ImageFormField, alongside the standalone FormFieldAnnotation type.
The contract matters because form-field layout and form-field data are intentionally split across separate interfaces. IFormField is the master contract that composes IFormFieldAnnotationObject (this geometry contract) with IFormFieldObject (field data such as Name, Value, and ReadOnly). A method that accepts IFormFieldAnnotationObject works purely in layout terms and stays decoupled from value-handling logic, which is useful when auditing form layouts, repositioning fields, or rendering visual overlays.
All four declared properties are double get/set in PDF user-space units, with the origin at the page's bottom-left. X and Y give the anchor position; Width and Height give the field's footprint. The interface also inherits Client from IPdfDocumentObject. Reach for the edit PDF forms how-to when you need to see how these annotations surface on a loaded document.
using IronPdf;
using IronSoftware.Forms;
PdfDocument pdf = PdfDocument.FromFile("application.pdf");
IFormField field = pdf.Form.FindFormField("FullName");
// IFormField composes IFormFieldAnnotationObject, so the geometry
// properties are accessible directly on any concrete form field.
LogBounds(field);
void LogBounds(IFormFieldAnnotationObject box)
{
System.Console.WriteLine($"x={box.X}, y={box.Y}, w={box.Width}, h={box.Height}");
}PDF user-space units are device-independent, so a Width of 144 represents two inches at any zoom level or print resolution. Code that repositions or resizes fields should treat the four properties as a single coordinate frame and update them together to avoid mismatched anchor and footprint values. For programmatic field placement on new documents, see the create PDF forms how-to, which covers HTML-driven and code-driven field generation in C#.
Properties
Height
Annotation height
Declaration
double Height { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Width
Annotation width
Declaration
double Width { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
X
Annotation X position
Declaration
double X { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Y
Annotation y position
Declaration
double Y { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |