# About Nutrient Nutrient delivers the tools to build intelligent document-centric applications and workflows. Nutrient’s document SDKs, cloud services, integrations for M365 and Salesforce, and workflow automation platform transform how modern businesses automate, secure, and scale document-centric processes. The company powers thousands of organizations worldwide, including more than 15 percent of Global 500 brands, thousands of commercial businesses across 80 nations, and more than 130 public sector organizations in 24 countries. Backed by Insight Partners and based in Raleigh, NC, Nutrient operates additional offices in England, France, and Austria. Nutrient is on a mission to transform how humans work with documents, with a technology stack that integrates the industry-leading document and workflow automation technology from PSPDFKit, ORPALIS, Aquaforest, Muhimbi, and Integrify. Learn more at https://www.nutrient.io/. ## Product suite Nutrient’s interconnected product lines include: 1. **SDKs** — Developer-first, cross-platform development kits for embedding PDF functionality into native and hybrid applications (Web, iOS, Android, React Native, Flutter, and many more). Key capabilities: Viewing, rendering, annotations, real-time collaboration, form handling, digital/electronic signatures, editing, redaction, OCR, and AI-powered features. 2. **Document Engine** — A self-hosted PDF server for processing documents and powering server-side automation workflows. It operates standalone or as a backend for the SDKs for enhanced performance and collaboration. 3. **Document Web Services (DWS)** — Fully managed, SOC 2 Type 2 audited cloud APIs for high-scale document viewing and processing. Includes the DWS Viewer API (for cloud-based rendering) and DWS Processor API (30+ action-based APIs for generation, conversion, watermarking, merging, and much more). 4. **Workflow Automation platform** — A no-code/low-code SaaS platform to automate business processes centered around documents, forms, and approvals. Features include a process builder, form designer, approval routing, and intelligent document processing with AI. 5. **Integrations (M365 and Salesforce)** — Advanced document functionality embedded directly into platforms such as Microsoft 365 (SharePoint, Power Automate) and Salesforce. Capabilities include conversion, OCR, watermarking, PDF form handling, and native generation/editing, without requiring plugins or custom code. ## Key differentiators - **Full document lifecycle** — End-to-end capabilities in one platform. - **Developer flexibility** — Clean APIs, extensive customization, and deployment flexibility (cloud, self-hosted, air-gapped). - **AI-native** — Intelligence is embedded across all products for agentic workflows and document intelligence. - **Enterprise trust** — SOC 2 Type 2 audited and WCAG compliant, deployed in regulated industries. ## Primary use cases - Embedding rich PDF viewers and annotation tools in apps. - Building in-app eSigning and approval workflows. - Automating document generation and form processing/data extraction. - Enterprise-scale content management and compliance. - Redacting sensitive information at scale. ## Nutrient iOS SDK Nutrient iOS SDK delivers a comprehensive PDF viewer with extensive functionality for iOS applications. Key capabilities include: - Document viewing - Text extraction and OCR - Form handling - Annotation tools - Signature integration - Redaction - and more ## Documentation Guides are available at https://www.nutrient.io/guides/ios/. ## API directory [Instant](https://www.nutrient.io/api/ios/documentation/instant): Enable document collaboration. Seamlessly share and annotate documents across iOS, Android and web apps. [InstantClient](https://www.nutrient.io/api/ios/documentation/instant/instantclient): The entry point to Instant, representing a client that can connect to Nutrient Document Engine. [InstantDocumentDescriptor](https://www.nutrient.io/api/ios/documentation/instant/instantdocumentdescriptor): A PSPDFInstantDocumentDescriptor represents an editing context for annotations on a PDF file managed by Instant. [InstantViewController](https://www.nutrient.io/api/ios/documentation/instant/instantviewcontroller): A specialized variant of PDFViewController that supports annotation synchronization. [InstantCommentMarkerAnnotation](https://www.nutrient.io/api/ios/documentation/instant/instantcommentmarkerannotation): The root annotation of a freely placed thread of Instant Comments. [InstantClientDelegate](https://www.nutrient.io/api/ios/documentation/instant/instantclientdelegate): The delegate of a PSPDFInstantClient must adopt this protocol to be notified of download and authentication events. [InstantDocumentCacheEntry](https://www.nutrient.io/api/ios/documentation/instant/instantdocumentcacheentry): A snapshot of the disk cache entry for a certain document identifier. [InstantCacheEntryState](https://www.nutrient.io/api/ios/documentation/instant/instantcacheentrystate): Bitmask for diagnostics of a cache entry. [InstantError](https://www.nutrient.io/api/ios/documentation/instant/instanterror): API reference for InstantError. [PSPDFInstantRecordOperations](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstantrecordoperations): The operations on any record-backed type supported by the currently active feature and permission set. [InstantSyncingLocalChangesDisabled](https://www.nutrient.io/api/ios/documentation/instant/instantsyncinglocalchangesdisabled): Set this as PSPDFInstantDocumentDescriptor.delayForSyncingLocalChanges to disable automatic syncing of local changes. [PSPDFInstantErrorAnnotationIdentifierKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrorannotationidentifierkey): Key for NSError userInfo for the annotation identifier an error relates to, if applicable. [PSPDFInstantErrorAnnotationKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrorannotationkey): The annotation that caused an error. [PSPDFInstantErrorAttachmentIDKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrorattachmentidkey): User info key for the identifier of the attachment in the case of PSPDFInstantErrorAttachmentNotLoaded or PSPDFInstantErrorNoSuchAttachment. [PSPDFInstantErrorDocumentDescriptorKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrordocumentdescriptorkey): Key for NSError userInfo for the PSPDFInstantDocumentDescriptorDescriptor an error relates to, if applicable. [PSPDFInstantErrorDocumentKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrordocumentkey): Key for NSError userInfo for the Document an error relates to, if applicable. [PSPDFInstantErrorDomain](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrordomain): Domain for errors encountered by Nutrient Instant. [PSPDFInstantErrorKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrorkey): Key for NSNotification.userInfo dictionary. [PSPDFInstantErrorPurgeErrorsByDocumentIDKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrorpurgeerrorsbydocumentidkey): User info key for the detailed errors in the case of PSPDFInstantErrorCouldNotPurgeDiskCacheEntries. [PSPDFInstantErrorSQLiteExtendedErrorCodeKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstanterrorsqliteextendederrorcodekey): User info key for the (extended) SQLite error code as an NSNumber in the case of PSPDFInstantErrorDatabaseAccessFailed. [PSPDFInstantJWTKey](https://www.nutrient.io/api/ios/documentation/instant/pspdfinstantjwtkey): Key for NSNotification.userInfo dictionary. [InstantAnnotationOrderingComparator](https://www.nutrient.io/api/ios/documentation/instant/instantannotationorderingcomparator): Return PSPDFInstantAnnotationOrderingAscending if firstAnnotation should be ordered before secondAnnotation, and PSPDFInstantAnnotationOrderingDescending for the opposite order. [InstantAnnotationOrdering](https://www.nutrient.io/api/ios/documentation/instant/instantannotationordering): Comparator that controls annotation ordering in Instant-managed documents. [InstantDocumentState](https://www.nutrient.io/api/ios/documentation/instant/instantdocumentstate): Lists the observable states of an Instant document descriptor and its sync cycle. [PSPDFKit](https://www.nutrient.io/api/ios/documentation/pspdfkit): Read and process documents with model API for programmatic access to features such as annotations, document editing, digital signatures, and more. [Document](https://www.nutrient.io/api/ios/documentation/pspdfkit/document): A set of PDF sources that are displayed as one document. [ImageDocument](https://www.nutrient.io/api/ios/documentation/pspdfkit/imagedocument): A Document subclass that can be used to display and annotate image files. Can handle JPEG, PNG and TIFF images. [Annotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation): Annotation is the base class for all PDF annotations and form elements. [SDK](https://www.nutrient.io/api/ios/documentation/pspdfkit/sdk): The entry point for Nutrient global state, including the license key, settings, and other global objects. [HighlightAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/highlightannotation): Text Highlight Annotation [InkAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/inkannotation): An ink annotation for freehand drawing or writing. [FreeTextAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/freetextannotation): PDF FreeText Annotation. [StampAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/stampannotation): PDF stamp annotation. [RedactionAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/redactionannotation): Redaction Annotation [NoteAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/noteannotation): PDF Note (Text) Annotation. [CircleAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/circleannotation): The PDF Circle annotations (PDF 1.3) shall display an ellipse on the page. [SquareAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/squareannotation): The PDF Square annotations (PDF 1.3) shall display a rectangle on the page. [PolygonAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/polygonannotation): Polygon annotations (PDF 1.5) display closed polygons on the page. Such polygons may have any number of vertices connected by straight lines. Polyline annotations (PDF 1. [PolyLineAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/polylineannotation): Polyline annotations (PDF 1.5) are similar to polygons (`PSPDFPolygonAnnotation), except that the first and last vertex are not implicitly connected. [WidgetAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/widgetannotation): The PDF ‘Widget’ annotation. A Widget usually is a button, much like a link annotation. [MeasurementAnnotation](https://www.nutrient.io/api/ios/documentation/pspdfkit/measurementannotation): Annotations that have a measurement variant (ex. LineAnnotation) implement this protocol. Use isMeasurement to determine if the annotation really is a measurement. [Annotation.Tool](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/tool): Available annotation types. Set in editableAnnotationTypes of PDFConfiguration. [Annotation.Variant](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/variant-swift.struct): Available variants for annotations. [ButtonFormElement](https://www.nutrient.io/api/ios/documentation/pspdfkit/buttonformelement): Button Form Element (check boxes, radio buttons, regular form push buttons) [ButtonFormField](https://www.nutrient.io/api/ios/documentation/pspdfkit/buttonformfield): Represents one button form field in a PDF form. They come in three variants: [ChoiceFormElement](https://www.nutrient.io/api/ios/documentation/pspdfkit/choiceformelement): Choice Form Element. [ChoiceFormField](https://www.nutrient.io/api/ios/documentation/pspdfkit/choiceformfield): Represents a choice form field in a PDF form. This allows the user to select one of the given options or, if isEdit is true, enter their own option value. [FormElement](https://www.nutrient.io/api/ios/documentation/pspdfkit/formelement): Represents a PDF form element. [PDFFormField](https://www.nutrient.io/api/ios/documentation/pspdfkit/pdfformfield): A form field represents one logical field in the PDF form. Use a PSPDFFormParser to retrieve them. You can access the form parser from a Document or PSPDFDocumentProvider. [PDFFormOption](https://www.nutrient.io/api/ios/documentation/pspdfkit/pdfformoption): Contains an option that a PDF form can have. [PDFFormParser](https://www.nutrient.io/api/ios/documentation/pspdfkit/pdfformparser): Parses PDF Forms (“AcroForms”). This will not create objects based on the (soon deprecated) XFA standard. [SignatureFormElement](https://www.nutrient.io/api/ios/documentation/pspdfkit/signatureformelement): Represents a Signature Form Element A digital signature (PDF 1.3) may be used to verify the integrity of the document’s contents using verification information related to a signer. [SignatureFormField](https://www.nutrient.io/api/ios/documentation/pspdfkit/signatureformfield): Represents a signature form field in a PDF form. [TextFieldFormElement](https://www.nutrient.io/api/ios/documentation/pspdfkit/textfieldformelement): A form element in which a user can enter text. [TextFormField](https://www.nutrient.io/api/ios/documentation/pspdfkit/textformfield): Represents a text form field in a PDF form. Allows the user to enter custom text. [PSPDFKitocr](https://www.nutrient.io/api/ios/documentation/pspdfkitocr): Recognize text in photos or scans of documents so the text can be selected, annotated, extracted, and searched. [ProcessorOCROptions](https://www.nutrient.io/api/ios/documentation/pspdfkitocr/processorocroptions): Configures how OCR should be performed. [OCRLanguage](https://www.nutrient.io/api/ios/documentation/pspdfkitocr/ocrlanguage): Supported language to use when performing OCR. [PSPDFKitui](https://www.nutrient.io/api/ios/documentation/pspdfkitui): Show a user interface for viewing and editing documents — including searching, annotating, signing, editing original text, and more. [PDFView](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfview): A SwiftUI view for displaying and editing documents. [PDFViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfviewcontroller): A UIKit view controller for displaying and editing documents. [PDFConfiguration](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfconfiguration): Properties to customize the behavior of a . [PDFTabbedViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdftabbedviewcontroller): A view controller that displays multiple documents that can be switched between easily using a top tab bar. [PDFDocumentViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfdocumentviewcontroller): A child view controller of that is responsible for displaying the document, including scrolling and laying out pages. [ReaderViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/readerviewcontroller): A view controller that shows document text reformated into an easy-to-read, single-column view that’s optimized for mobile devices. [PDFViewState](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfviewstate): A current page, and scroll/zoom position within a displayed document. [PageTransition](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pagetransition): Ways to transition between page spreads. [PageMode](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pagemode): Modes for displaying pages either singly or two side-by-side. [ScrollDirection](https://www.nutrient.io/api/ios/documentation/pspdfkitui/scrolldirection): Scrolling directions. Only relevant for scrolling page transitions. [PDFSettingsViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfsettingsviewcontroller): Controller to change some key UX settings. [PDFAppearanceMode](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfappearancemode): API reference for PDFAppearanceMode. [PDFAppearanceModeManager](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfappearancemodemanager): Coordinates appearance mode changes. [ThumbnailBarMode](https://www.nutrient.io/api/ios/documentation/pspdfkitui/thumbnailbarmode): The thumbnail bar mode controls how the PDFViewController displays thumbnails of pages when viewing a document. [ScrubberBarType](https://www.nutrient.io/api/ios/documentation/pspdfkitui/scrubberbartype): Defines where the scrubber but should be shown. [ThumbnailGrouping](https://www.nutrient.io/api/ios/documentation/pspdfkitui/thumbnailgrouping): Thumbnail grouping setting for ThumbnailBarMode.scrollable and the ThumbnailViewController. [ThumbnailViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/thumbnailviewcontroller): The thumbnail view controller. [ThumbnailBar](https://www.nutrient.io/api/ios/documentation/pspdfkitui/thumbnailbar): Bottom bar that shows a scrollable list of thumbnails. [ScrubberBar](https://www.nutrient.io/api/ios/documentation/pspdfkitui/scrubberbar): PDF thumbnail scrubber bar - similar to Apple Books. [AnnotationStateManager](https://www.nutrient.io/api/ios/documentation/pspdfkitui/annotationstatemanager): AnnotationStateManager holds state for creating annotations. It models the selected annotation tool (such as ink) and properties relevant to that tool (such as color and thickness). [AnnotationStyleViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/annotationstyleviewcontroller): An inspector that allows users to view and change the properties of annotations. [SignatureCreationViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/signaturecreationviewcontroller): A signature creation view controller can be used to add a signature to a document by drawing, selecting an image, or typing. [StampViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/stampviewcontroller): Allows adding signatures or drawings as ink annotations. [NoteAnnotationViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/noteannotationviewcontroller): A view controller to view and edit the comments attached to an annotation. [LinkAnnotationEditingViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/linkannotationeditingviewcontroller): Abstract class for view controllers that support link annotation creation and editing. [PDFDocumentViewLayout](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfdocumentviewlayout): A document view layout controls how a document is visualized on screen. It controls where a spread (a set of pages) is placed on the screen and how scrolling and zooming behaves. [PDFPageView](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfpageview): The view that displays a single PDF page. [PDFSpreadView](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfspreadview): The spread view is responsible for laying out one or multiple page views. [UserInterfaceView](https://www.nutrient.io/api/ios/documentation/pspdfkitui/userinterfaceview): The user interface view overlay for the PDFViewController. Contains the thumbnail and page/title label overlays. [PDFDocumentInfoViewController](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfdocumentinfoviewcontroller): A view controller for viewing and editing document-level properties. [Sitemap](https://www.nutrient.io/api/ios/sitemap.xml)