---
title: "PdfFormFieldCollection"
canonical_url: "https://www.nutrient.io/api/python/editors/pdf/formfields/pdf-form-field-collection/"
md_url: "https://www.nutrient.io/api/python/editors/pdf/formfields/pdf-form-field-collection.md"
last_updated: "2026-06-09T10:32:42.528Z"
description: "Represents a collection of form fields in a PDF document. Provides access to the top-level form fields in the document's AcroForm."
---

Represents a collection of form fields in a PDF document. Provides access to the top-level form fields in the document's AcroForm.

```python

from nutrient_sdk import PdfFormFieldCollection

```

## Construction

`PdfFormFieldCollection` cannot be instantiated directly. Obtain instances through static factory methods or via other SDK classes.

## Methods

### add_check_box_field

```python

def add_check_box_field(self, name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfCheckBoxField

```

Adds a new check box field to the document on the specified page.

**Parameters:**

| Name     | Type                                                 | Description                                                          |
| -------- | ---------------------------------------------------- | -------------------------------------------------------------------- |
| `name`   | `str`                                                | The name of the check box field. Must be unique within the document. |
| `page`   | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the check box field will be placed.                   |
| `x`      | `float`                                              | The x coordinate of the field's origin in points.                    |
| `y`      | `float`                                              | The y coordinate of the field's origin in points.                    |
| `width`  | `float`                                              | The width of the field in points.                                    |
| `height` | `float`                                              | The height of the field in points.                                   |

**Returns:** [`PdfCheckBoxField`](/api/python/editors/pdf/formfields/pdf-check-box-field/) - The newly created.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### add_combo_box_field

```python

def add_combo_box_field(self, name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfComboBoxField

```

Adds a new combo box (drop-down list) field to the document on the specified page.

**Parameters:**

| Name     | Type                                                 | Description                                                          |
| -------- | ---------------------------------------------------- | -------------------------------------------------------------------- |
| `name`   | `str`                                                | The name of the combo box field. Must be unique within the document. |
| `page`   | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the combo box field will be placed.                   |
| `x`      | `float`                                              | The x coordinate of the field's origin in points.                    |
| `y`      | `float`                                              | The y coordinate of the field's origin in points.                    |
| `width`  | `float`                                              | The width of the field in points.                                    |
| `height` | `float`                                              | The height of the field in points.                                   |

**Returns:** [`PdfComboBoxField`](/api/python/editors/pdf/formfields/pdf-combo-box-field/) - The newly created.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### add_list_box_field

```python

def add_list_box_field(self, name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfListBoxField

```

Adds a new list box field to the document on the specified page.

**Parameters:**

| Name     | Type                                                 | Description                                                         |
| -------- | ---------------------------------------------------- | ------------------------------------------------------------------- |
| `name`   | `str`                                                | The name of the list box field. Must be unique within the document. |
| `page`   | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the list box field will be placed.                   |
| `x`      | `float`                                              | The x coordinate of the field's origin in points.                   |
| `y`      | `float`                                              | The y coordinate of the field's origin in points.                   |
| `width`  | `float`                                              | The width of the field in points.                                   |
| `height` | `float`                                              | The height of the field in points.                                  |

**Returns:** [`PdfListBoxField`](/api/python/editors/pdf/formfields/pdf-list-box-field/) - The newly created.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### add_push_button_field

```python

def add_push_button_field(self, name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfPushButtonField

```

Adds a new push button field to the document on the specified page.

**Parameters:**

| Name     | Type                                                 | Description                                                            |
| -------- | ---------------------------------------------------- | ---------------------------------------------------------------------- |
| `name`   | `str`                                                | The name of the push button field. Must be unique within the document. |
| `page`   | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the push button field will be placed.                   |
| `x`      | `float`                                              | The x coordinate of the field's origin in points.                      |
| `y`      | `float`                                              | The y coordinate of the field's origin in points.                      |
| `width`  | `float`                                              | The width of the field in points.                                      |
| `height` | `float`                                              | The height of the field in points.                                     |

**Returns:** [`PdfPushButtonField`](/api/python/editors/pdf/formfields/pdf-push-button-field/) - The newly created.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### add_radio_button_field

```python

def add_radio_button_field(self, group_name: str, option_name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfRadioButtonField

```

Adds a new radio button to an existing or new radio button group on the specified page.

**Parameters:**

| Name          | Type                                                 | Description                                                                                            |
| ------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `group_name`  | `str`                                                | The name of the radio button group. All radio buttons with the same group name are mutually exclusive. |
| `option_name` | `str`                                                | The unique option name for this radio button within the group.                                         |
| `page`        | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the radio button will be placed.                                                        |
| `x`           | `float`                                              | The x coordinate of the field's origin in points.                                                      |
| `y`           | `float`                                              | The y coordinate of the field's origin in points.                                                      |
| `width`       | `float`                                              | The width of the field in points.                                                                      |
| `height`      | `float`                                              | The height of the field in points.                                                                     |

**Returns:** [`PdfRadioButtonField`](/api/python/editors/pdf/formfields/pdf-radio-button-field/) - The representing the radio button group.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### add_signature_field

```python

def add_signature_field(self, name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfSignatureField

```

Adds a new signature field to the document on the specified page.

**Parameters:**

| Name     | Type                                                 | Description                                                          |
| -------- | ---------------------------------------------------- | -------------------------------------------------------------------- |
| `name`   | `str`                                                | The name of the signature field. Must be unique within the document. |
| `page`   | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the signature field will be placed.                   |
| `x`      | `float`                                              | The x coordinate of the field's origin in points.                    |
| `y`      | `float`                                              | The y coordinate of the field's origin in points.                    |
| `width`  | `float`                                              | The width of the field in points.                                    |
| `height` | `float`                                              | The height of the field in points.                                   |

**Returns:** [`PdfSignatureField`](/api/python/editors/pdf/formfields/pdf-signature-field/) - The newly created.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### add_text_field

```python

def add_text_field(self, name: str, page: PdfPage, x: float, y: float, width: float, height: float) -> PdfTextField

```

Adds a new text field to the document on the specified page.

**Parameters:**

| Name     | Type                                                 | Description                                                     |
| -------- | ---------------------------------------------------- | --------------------------------------------------------------- |
| `name`   | `str`                                                | The name of the text field. Must be unique within the document. |
| `page`   | [`PdfPage`](/api/python/editors/pdf/pages/pdf-page/) | The page where the text field will be placed.                   |
| `x`      | `float`                                              | The x coordinate of the field's origin in points.               |
| `y`      | `float`                                              | The y coordinate of the field's origin in points.               |
| `width`  | `float`                                              | The width of the field in points.                               |
| `height` | `float`                                              | The height of the field in points.                              |

**Returns:** [`PdfTextField`](/api/python/editors/pdf/formfields/pdf-text-field/) - The newly created.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the field creation fails.

---

### clear

```python

def clear(self) -> None

```

Removes all form fields from the document.

**Raises:**

- [`InvalidStateException`](/api/python/exceptions/invalid-state-exception/): Thrown when no document is loaded.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the operation fails.

---

### find_by_full_name

```python

def find_by_full_name(self, full_name: str) -> PdfFormField

```

Finds a form field by its full name (dot-separated path).

**Parameters:**

| Name        | Type  | Description                            |
| ----------- | ----- | -------------------------------------- |
| `full_name` | `str` | The fully qualified name of the field. |

**Returns:** [`PdfFormField`](/api/python/editors/pdf/formfields/pdf-form-field/) - The if found, null otherwise.

---

### remove_at

```python

def remove_at(self, index: int) -> None

```

Removes the form field at the specified index. This also removes any child fields and associated widget annotations.

**Parameters:**

| Name    | Type  | Description                               |
| ------- | ----- | ----------------------------------------- |
| `index` | `int` | The 0-based index of the field to remove. |

**Raises:**

- [`IndexOutOfBoundsException`](/api/python/exceptions/index-out-of-bounds-exception/): Thrown when index is out of range.

- [`SdkException`](/api/python/exceptions/sdk-exception/): Thrown when the operation fails.

---

## Properties

### count

```python

@property
def count(self) -> int

```

The number of top-level form fields in the document.

**Type:** `int`

*Read-only property.*

---

### enumerator

```python

@property
def enumerator(self) -> IEnumerator`1

```

Returns an enumerator that iterates through the form fields collection.

**Type:** `IEnumerator`1`

*Read-only property.*

---

---

## Related pages

- [All public classes import directly from the top-level package:](/api/python/editors/pdf/formfields.md)
- [Pdf Combo Box Field](/api/python/editors/pdf/formfields/pdf-combo-box-field.md)
- [Pdf Check Box Field](/api/python/editors/pdf/formfields/pdf-check-box-field.md)
- [Pdf Form Field](/api/python/editors/pdf/formfields/pdf-form-field.md)
- [Pdf List Box Field](/api/python/editors/pdf/formfields/pdf-list-box-field.md)
- [Pdf Push Button Field](/api/python/editors/pdf/formfields/pdf-push-button-field.md)
- [Pdf Radio Button Field](/api/python/editors/pdf/formfields/pdf-radio-button-field.md)
- [Pdf Signature Field](/api/python/editors/pdf/formfields/pdf-signature-field.md)
- [Pdf Text Field](/api/python/editors/pdf/formfields/pdf-text-field.md)

