# 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. ## Document Authoring The WYSIWYG Document Authoring library seamlessly integrates authoring into your web application, eliminating the need for external word processing software. It offers a type-safe, in-browser visual editor for fast, page-based editing. The high-fidelity renderer ensures exported documents look exactly the same as when editing, delivering a true WYSIWYG experience. Key capabilities include: - Perfect fidelity for PDF exports, print, and cross-browser editing - Use our DocJSON format to generate or modify documents directly within your workflows - Directly edit and export DOCX files, enhanced by the flexibility of DocJSON - The same familiar experience, now entirely in-browser. No more fighting with page breaks - Full support for offline and client-side environments, no servers required - First-class TypeScript support ensures type safety and easier integration into any codebase - Full control over data storage ensures simpler enforcement of compliance policies - Edit, format, layout, insert tables, and more ## Documentation Guides are available at https://www.nutrient.io/guides/document-authoring/. ## API directory [Document Authoring API Docs](https://www.nutrient.io/api/document-authoring/index.html): Document Authoring provides a way to seamlessly embed document authoring capabilities into your web app. [document-authoring-sdk](https://www.nutrient.io/api/document-authoring/modules/index.html): API reference for document-authoring-sdk. [Programmatic>= v1.10.0](https://www.nutrient.io/api/document-authoring/modules/programmatic/index.html): API reference for Programmatic >= v1.10.0. [Action>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/action/index.html): Action definition that users can register [BlobInput](https://www.nutrient.io/api/document-authoring/types/blobinput/index.html): Input type for binary data like DOCX files or font files. Used by DocAuthSystem.importDOCX and font loading functions. [BuiltInAction>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/builtinaction/index.html): Built-in actions have pre-defined IDs from BuiltInActionId and automatically use default handlers if not provided. [BuiltInActionId>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/builtinactionid/index.html): Built-in action IDs that have default implementations [CreateDocAuthSystemOptions](https://www.nutrient.io/api/document-authoring/types/createdocauthsystemoptions/index.html): Configuration options for creating a Document Authoring system. [CreateDocumentFromPlaintextOptions](https://www.nutrient.io/api/document-authoring/types/createdocumentfromplaintextoptions/index.html): Options for creating documents from plain text. [CreateEditorOptions](https://www.nutrient.io/api/document-authoring/types/createeditoroptions/index.html): Options for creating an editor instance. [CustomAction>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/customaction/index.html): Custom actions allow you to add your own functionality to the editor. Unlike BuiltInAction , custom actions must provide a handler function. [DefaultFontIndex>= v1.0.26](https://www.nutrient.io/api/document-authoring/types/defaultfontindex/index.html): The default font index that is part of the Document Authoring SDK bundle. [DocAuthDocument](https://www.nutrient.io/api/document-authoring/types/docauthdocument/index.html): A document instance. Holds the content and provides methods for saving, exporting to PDF/DOCX, and more. [DocAuthDocumentInput](https://www.nutrient.io/api/document-authoring/types/docauthdocumentinput/index.html): A string will be treated as a document authoring document in JSON format and loaded. An object will be treated as a JavaScript representation of a Document Authoring document (e.g. the result of JSON. [DocAuthEditor](https://www.nutrient.io/api/document-authoring/types/docautheditor/index.html): The visual editor UI. Binds to a DOM element and lets users edit documents. [DocAuthEditorMode](https://www.nutrient.io/api/document-authoring/types/docautheditormode/index.html): The editor interaction mode. [DocAuthError>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/docautherror/index.html): Union of errors the API throws (for now just fragment related errors). Detected with isDocAuthError or one of the per-type guards. [DocAuthSystem](https://www.nutrient.io/api/document-authoring/types/docauthsystem/index.html): A DocAuthSystem instance holds the internal WASM engine and loaded fonts. It is used to load or import documents and create DocAuthEditor instances. [ExportConfig>= v1.12.0](https://www.nutrient.io/api/document-authoring/types/exportconfig/index.html): Export configuration specifying the target format and any format-specific options. [ExportDOCXOptions](https://www.nutrient.io/api/document-authoring/types/exportdocxoptions/index.html): Deprecated [ExportPDFOptions](https://www.nutrient.io/api/document-authoring/types/exportpdfoptions/index.html): Deprecated [FontConfig>= v1.0.26](https://www.nutrient.io/api/document-authoring/types/fontconfig/index.html): Font configuration for the Document Authoring system. [FontFile>= v1.0.26](https://www.nutrient.io/api/document-authoring/types/fontfile/index.html): FontFile provides a quick way to add a single additional font to the system. The system will load and scan all provided FontFile s to extract all the required metadata during initialization. [FontIndex>= v1.0.26](https://www.nutrient.io/api/document-authoring/types/fontindex/index.html): A FontIndex is the preferred way to add additional fonts to the system. [ImportConfig>= v1.12.0](https://www.nutrient.io/api/document-authoring/types/importconfig/index.html): Configuration for the DocAuthSystem.import method. [ImportDOCXOptions](https://www.nutrient.io/api/document-authoring/types/importdocxoptions/index.html): Deprecated [ImportFileFormat>= v1.12.0](https://www.nutrient.io/api/document-authoring/types/importfileformat/index.html): A file type supported for import. [InsertContentAtCursorOptions>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/insertcontentatcursoroptions/index.html): Options for DocAuthEditor.insertContentAtCursor , a discriminated union keyed by format . When format is omitted, defaults to 'text' . [InvalidFragmentTypeError>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/invalidfragmenttypeerror/index.html): Thrown when a fragment’s type tag is not one of the accepted URI values. actual is whatever the caller passed. [Locale>= v1.5.0](https://www.nutrient.io/api/document-authoring/types/locale/index.html): English, French and German are currently supported (two-letter ISO 639-1 codes). [MissingFragmentContentError>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/missingfragmentcontenterror/index.html): Thrown when a fragment has no fragment.content . [AddCommentThreadInput](https://www.nutrient.io/api/document-authoring/types/programmatic/addcommentthreadinput/index.html): Input for creating a new comment thread. [ApplyParagraphListFromOptions](https://www.nutrient.io/api/document-authoring/types/programmatic/applyparagraphlistfromoptions/index.html): Options for applying existing list state from a source paragraph. [BlockLevel](https://www.nutrient.io/api/document-authoring/types/programmatic/blocklevel/index.html): Union type representing the block-level elements that can appear in a document. [BlockLevelContainer](https://www.nutrient.io/api/document-authoring/types/programmatic/blocklevelcontainer/index.html): Container for block-level elements (paragraphs and tables). [Body](https://www.nutrient.io/api/document-authoring/types/programmatic/body/index.html): Represents the document body — its block-level content and the section-property handles that apply to ranges within it. [CommentThread](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthread/index.html): A top-level comment, its flat replies, and the inferred document anchor. [CommentThreadAnchor](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadanchor/index.html): The content a comment thread is attached to. [CommentThreadAnchorInput](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadanchorinput/index.html): The content a new comment thread should attach to. [CommentThreadCollection](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadcollection/index.html): Document-root collection for querying comment threads. [CommentThreadComment](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadcomment/index.html): A single plain-text comment exposed through the programmatic comment thread API. [CommentThreadQueryOptions](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadqueryoptions/index.html): Options for querying comment threads. [CommentThreadReply](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadreply/index.html): A flat reply on a programmatic comment thread. [CommentThreadStatusFilter](https://www.nutrient.io/api/document-authoring/types/programmatic/commentthreadstatusfilter/index.html): Query filter for programmatic comment thread results. [Document](https://www.nutrient.io/api/document-authoring/types/programmatic/document/index.html): Represents the root of a document structure in the programmatic API. [Endnote](https://www.nutrient.io/api/document-authoring/types/programmatic/endnote/index.html): Represents an endnote element within document content. [EndnoteRef](https://www.nutrient.io/api/document-authoring/types/programmatic/endnoteref/index.html): Represents a reference to an endnote within endnote content. [Extent](https://www.nutrient.io/api/document-authoring/types/programmatic/extent/index.html): Represents the dimensions (width and height) of a document element. [Field](https://www.nutrient.io/api/document-authoring/types/programmatic/field/index.html): Field : [Footnote](https://www.nutrient.io/api/document-authoring/types/programmatic/footnote/index.html): Represents a footnote element within document content. [FootnoteRef](https://www.nutrient.io/api/document-authoring/types/programmatic/footnoteref/index.html): Represents a reference to a footnote within footnote content. [Formatting](https://www.nutrient.io/api/document-authoring/types/programmatic/formatting/index.html): Defines text formatting properties that can be applied to document content. [HeaderFooter](https://www.nutrient.io/api/document-authoring/types/programmatic/headerfooter/index.html): HeaderFooter = BlockLevelContainer [HeadersAndFooters](https://www.nutrient.io/api/document-authoring/types/programmatic/headersandfooters/index.html): Provides access to both headers and footers for a section. [HeadersFooters](https://www.nutrient.io/api/document-authoring/types/programmatic/headersfooters/index.html): Collection providing access to different header or footer variants. [Image](https://www.nutrient.io/api/document-authoring/types/programmatic/image/index.html): Represents an image element within a document. [Inline](https://www.nutrient.io/api/document-authoring/types/programmatic/inline/index.html): Inline : [InlineText](https://www.nutrient.io/api/document-authoring/types/programmatic/inlinetext/index.html): Represents a text segment with consistent formatting within a paragraph. [LineBreak](https://www.nutrient.io/api/document-authoring/types/programmatic/linebreak/index.html): Represents a line break (soft return) within a paragraph. [PageBreak](https://www.nutrient.io/api/document-authoring/types/programmatic/pagebreak/index.html): Type discriminator for inline elements. [PageMargins](https://www.nutrient.io/api/document-authoring/types/programmatic/pagemargins/index.html): Defines the margin dimensions for all four edges of a page. [PageSetup](https://www.nutrient.io/api/document-authoring/types/programmatic/pagesetup/index.html): Controls physical page properties for a section. [PageSize](https://www.nutrient.io/api/document-authoring/types/programmatic/pagesize/index.html): PageSize : [Paragraph](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraph/index.html): Represents a paragraph block-level element within a document. [ParagraphBorder>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphborder/index.html): Direct paragraph border. [ParagraphBorderColors>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphbordercolors/index.html): Paragraph border side colors. [ParagraphBorderRadius>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphborderradius/index.html): Paragraph border radius values, in points. [ParagraphBorderSpaces>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphborderspaces/index.html): Paragraph border side spacing, in points. [ParagraphBorderWidths>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphborderwidths/index.html): Paragraph border side widths, in points. [ParagraphIndentation>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphindentation/index.html): Direct paragraph indentation, in points. [ParagraphListKind](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphlistkind/index.html): Coarse paragraph list kinds reported and created by the programmatic API. [ParagraphListOptions](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphlistoptions/index.html): Options for applying or clearing list formatting on paragraph ranges. [ParagraphListState](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphliststate/index.html): Current paragraph list state. [ParagraphProperties>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphproperties/index.html): Supported paragraph-level properties. [ParagraphPropertiesOptions>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphpropertiesoptions/index.html): Options controlling how paragraph properties are applied. [ParagraphRange](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphrange/index.html): Contiguous block-level paragraph range. [ParagraphShading>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphshading/index.html): Direct paragraph shading. [ParagraphStyleId>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphstyleid/index.html): Built-in paragraph style IDs supported by the public programmatic API. [ParagraphTabStop>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/programmatic/paragraphtabstop/index.html): Direct paragraph tab stop. [Range](https://www.nutrient.io/api/document-authoring/types/programmatic/range/index.html): Opaque type representing a contiguous region within the content. [RangeInline](https://www.nutrient.io/api/document-authoring/types/programmatic/rangeinline/index.html): Pairs an inline element with its location in the text view. [ReplaceFn](https://www.nutrient.io/api/document-authoring/types/programmatic/replacefn/index.html): Callback function that dynamically generates replacement content based on matched text. [Replacement](https://www.nutrient.io/api/document-authoring/types/programmatic/replacement/index.html): Specifies replacement content for text operations, including both text and formatting. [ReplacementOrReplaceFn](https://www.nutrient.io/api/document-authoring/types/programmatic/replacementorreplacefn/index.html): ReplacementOrReplaceFn : [ReplaceTextSignature](https://www.nutrient.io/api/document-authoring/types/programmatic/replacetextsignature/index.html): Function signature for replacing text content within a document element. [SearchFor](https://www.nutrient.io/api/document-authoring/types/programmatic/searchfor/index.html): Pattern type for searching content in documents. [SearchResult](https://www.nutrient.io/api/document-authoring/types/programmatic/searchresult/index.html): Represents a single match found by a search operation. [Section](https://www.nutrient.io/api/document-authoring/types/programmatic/section/index.html): Properties handle for a section within a document body. [Separator](https://www.nutrient.io/api/document-authoring/types/programmatic/separator/index.html): Separator : [Shape](https://www.nutrient.io/api/document-authoring/types/programmatic/shape/index.html): Represents a shape element within a document. [ShapeFill](https://www.nutrient.io/api/document-authoring/types/programmatic/shapefill/index.html): Fill of a Shape . [ShapeGeometry](https://www.nutrient.io/api/document-authoring/types/programmatic/shapegeometry/index.html): The geometry of a Shape . [ShapeOutline](https://www.nutrient.io/api/document-authoring/types/programmatic/shapeoutline/index.html): Outline (stroke) of a Shape . [ShapePreset](https://www.nutrient.io/api/document-authoring/types/programmatic/shapepreset/index.html): A built-in preset shape geometry. [Tab](https://www.nutrient.io/api/document-authoring/types/programmatic/tab/index.html): Tab : [Table](https://www.nutrient.io/api/document-authoring/types/programmatic/table/index.html): TableRow [] [TableCell](https://www.nutrient.io/api/document-authoring/types/programmatic/tablecell/index.html): TableCell = BlockLevelContainer [TableRow](https://www.nutrient.io/api/document-authoring/types/programmatic/tablerow/index.html): BlockLevelContainer [] [TextAnchorInputRange](https://www.nutrient.io/api/document-authoring/types/programmatic/textanchorinputrange/index.html): A paragraph-local text range used to create a text comment thread anchor. [TextAnchorRange](https://www.nutrient.io/api/document-authoring/types/programmatic/textanchorrange/index.html): A paragraph-local text range for an inferred text comment thread anchor. [TextView](https://www.nutrient.io/api/document-authoring/types/programmatic/textview/index.html): Provides methods for reading and manipulating text content within a paragraph. [SelectionContentByFormat>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/selectioncontentbyformat/index.html): The return-type lookup for DocAuthEditor.getSelectionContent , keyed by SelectionContentFormat . [SelectionContentFormat>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/selectioncontentformat/index.html): The format to read the current selection in via DocAuthEditor.getSelectionContent . [SpellcheckLanguage>= v1.13.0](https://www.nutrient.io/api/document-authoring/types/spellchecklanguage/index.html): Supported spellcheck languages. [ToolbarActionItem>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/toolbaractionitem/index.html): Action toolbar item - references an action by ID [ToolbarBuiltInItem>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/toolbarbuiltinitem/index.html): Built-in toolbar item - uses original toolbar components directly [ToolbarConfig>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/toolbarconfig/index.html): Toolbar configuration [ToolbarItem>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/toolbaritem/index.html): Union type for all toolbar items [ToolbarSeparatorItem>= v1.9.0](https://www.nutrient.io/api/document-authoring/types/toolbarseparatoritem/index.html): Visual separator - adds a vertical line between toolbar items [TransactionCallback>= v1.10.0](https://www.nutrient.io/api/document-authoring/types/transactioncallback/index.html): Callback function for document transactions that provides access to a draft document for modification. [TransactionContext>= v1.10.0](https://www.nutrient.io/api/document-authoring/types/transactioncontext/index.html): Context object passed to transaction callbacks. [TransactionOptions>= v1.14.0](https://www.nutrient.io/api/document-authoring/types/transactionoptions/index.html): Options for document transactions. [TransactionResult>= v1.10.0](https://www.nutrient.io/api/document-authoring/types/transactionresult/index.html): Return type for transaction callbacks that control whether changes are committed and optionally return a result. [UIOptions>= v1.5.0](https://www.nutrient.io/api/document-authoring/types/uioptions/index.html): Configuration options for the user interface. [Unit>= v1.5.0](https://www.nutrient.io/api/document-authoring/types/unit/index.html): The list of supported units in Document Authoring. [UnsupportedFragmentVersionError>= v1.15.0](https://www.nutrient.io/api/document-authoring/types/unsupportedfragmentversionerror/index.html): Thrown when a fragment’s persistence version doesn’t match the version this SDK build understands. [defaultActions>= v1.9.0](https://www.nutrient.io/api/document-authoring/variables/defaultactions/index.html): Get the default set of actions available in the editor. Can be combined with custom actions. [defaultFontIndex>= v1.0.26](https://www.nutrient.io/api/document-authoring/variables/defaultfontindex/index.html): The default font index that is part of the Document Authoring SDK bundle. [defaultToolbarConfig>= v1.9.0](https://www.nutrient.io/api/document-authoring/variables/defaulttoolbarconfig/index.html): Get the default toolbar configuration. Can be used as-is or customized. [isDocAuthError>= v1.15.0](https://www.nutrient.io/api/document-authoring/variables/isdocautherror/index.html): Type guard for any DocAuthError . Useful as a catch-all branch. [isInvalidFragmentTypeError>= v1.15.0](https://www.nutrient.io/api/document-authoring/variables/isinvalidfragmenttypeerror/index.html): Type guard for InvalidFragmentTypeError . [isMissingFragmentContentError>= v1.15.0](https://www.nutrient.io/api/document-authoring/variables/ismissingfragmentcontenterror/index.html): Type guard for MissingFragmentContentError . [isUnsupportedFragmentVersionError>= v1.15.0](https://www.nutrient.io/api/document-authoring/variables/isunsupportedfragmentversionerror/index.html): Type guard for UnsupportedFragmentVersionError . [Sitemap](https://www.nutrient.io/api/document-authoring/sitemap-0.xml)