---
title: "iOS PDF viewer with forms | Nutrient SDK"
canonical_url: "https://www.nutrient.io/guides/ios/viewer/rendering/pdf-forms/"
md_url: "https://www.nutrient.io/guides/ios/viewer/rendering/pdf-forms.md"
last_updated: "2026-06-09T10:25:14.484Z"
description: "The following section assumes you’re familiar with forms. If not, first see the introduction to forms guide for more details. for Nutrient iOS SDK."
---

# Rendering PDF forms in our iOS viewer

The following section assumes you’re familiar with forms. If not, first see the [introduction to forms](https://www.nutrient.io/guides/ios/forms/introduction-to-forms.md) guide for more details.

## Form support in Nutrient

Nutrient supports all form types specified by the PDF specification. We have to differentiate between field objects and annotation objects.

| Type                           | Field object             | Annotation object          |
| ------------------------------ | ------------------------ | -------------------------- |
| Check, radio, and push buttons | [`ButtonFormField`](https://www.nutrient.io/api/ios/documentation/pspdfkit/buttonformfield)    | [`ButtonFormElement`](https://www.nutrient.io/api/ios/documentation/pspdfkit/buttonformelement)    |
| List and Combo Boxes           | [`ChoiceFormField`](https://www.nutrient.io/api/ios/documentation/pspdfkit/choiceformfield)    | [`ChoiceFormElement`](https://www.nutrient.io/api/ios/documentation/pspdfkit/choiceformelement)    |
| Text                           | [`TextFormField`](https://www.nutrient.io/api/ios/documentation/pspdfkit/textformfield)      | [`TextFieldFormElement`](https://www.nutrient.io/api/ios/documentation/pspdfkit/textfieldformelement) |
| Signatures                     | [`SignatureFormField`](https://www.nutrient.io/api/ios/documentation/pspdfkit/signatureformfield) | [`SignatureFormElement`](https://www.nutrient.io/api/ios/documentation/pspdfkit/signatureformelement) |










## Disabling all form interactions

You can disable all form interactions and modifications using `editableAnnotationTypes`:

### SWIFT

```swift

let configuration = PDFConfiguration {
	var editableAnnotationTypes = $0.editableAnnotationTypes
	editableAnnotationTypes?.remove(.widget)
	$0.editableAnnotationTypes = editableAnnotationTypes
}

```

### OBJECTIVE-C

```objc

PSPDFConfiguration *configuration = [PSPDFConfiguration configurationWithBuilder:^(PSPDFConfigurationBuilder *builder) {
	NSMutableSet *editableAnnotationTypes = [builder.editableAnnotationTypes mutableCopy];
	[editableAnnotationTypes removeObject:PSPDFAnnotationStringWidget];
	builder.editableAnnotationTypes = editableAnnotationTypes;
}];

```

If a document doesn’t have the `DocumentPermissions.annotationsAndForms` and `DocumentPermissions.fillForms` [document permissions](https://www.nutrient.io/guides/ios/features/document-permissions.md#forms-and-annotations), the result will be the same for the user, meaning they won’t be able to fill any form fields.

## Disabling specific form element types

You can specify which form elements can be modified. For example, you can disable the modification of all text field form elements and allow all other form elements to be editable:

### SWIFT

```swift

let document = Document(url: documentURL)

// Loop through all form elements from a given document and only disable text field form elements from being modified.
for formElement: FormElement in (document.formParser?.forms)! where formElement is TextFieldFormElement {
	formElement.isEditable = false;
}

```

### OBJECTIVE-C

```objc

PSPDFDocument *document = [[PSPDFDocument alloc] initWithURL:documentURL];

// Loop through all form elements from a given document and only disable text field form elements from being modified.
for (PSPDFFormElement *formElement in document.formParser.forms) {
	if ([formElement isKindOfClass:PSPDFTextFieldFormElement.class]) {
		formElement.editable = NO;
	}
}

```

## Licensing

PDF Forms is a separate component in your Nutrient license. Without this feature included in your license, your app won’t be able to view or interact with PDF forms. [Contact our Sales team](https://www.nutrient.io/contact-sales) to add this feature to your license, or use a trial license if you want to try out this feature.

Signature form fields and signature form elements require that your license includes either [Electronic Signatures or Digital Signatures](https://www.nutrient.io/guides/ios/signatures.md), or that your license was originally obtained in April 2021 or earlier. If none of these requirements are met, then signature elements will be omitted, and other form elements will be shown.
---

## Related pages

- [Rendering annotations in our iOS PDF viewer](/guides/ios/getting-started/rendering-annotations.md)
- [Customize PDF fonts on iOS](/guides/ios/features/custom-fonts.md)
- [Coordinate space conversion](/guides/ios/faq/coordinate-spaces.md)
- [PDF rendering library for iOS](/guides/ios/getting-started/rendering-pdf-pages.md)

