---
title: "Getting started with Document Engine | Nutrient — The #1 PDF SDK library"
canonical_url: "https://www.nutrient.io/sdk/document-engine/getting-started/"
md_url: "https://www.nutrient.io/sdk/document-engine/getting-started.md"
last_updated: "2026-05-20T19:49:34.959Z"
description: "Getting started with Document Engine. Choose an option to get started, or explore the use cases."
---

# Getting started with Document Engine

Document Engine is a PDF server for processing documents and powering PDF automation workflows.

It works alongside our web and mobile frontend SDKs and offers developers a platform for managing the complete document lifecycle.

## Deployment options

Document Engine operates as a headless service, supporting both hosting through Nutrient (Document Engine as a service, *in the cloud*) and self hosting.

Document Engine as a service can be integrated through DWS (Document Web Services) APIs or as a fully managed solution:

- **DWS Viewer API** — The simplest and recommended way to get started with Document Engine using DWS Viewer API.

- **DWS Processor API** — Server-side processing capabilities using DWS Processor API.

- **Managed Document Engine** — A fully managed Document Engine instance hosted by Nutrient.

Refer to the [overview](https://www.nutrient.io/guides/document-engine/as-a-service.md) of the various methods for using Document Engine as a service.

We recommend getting started with DWS (Document Web Services) Viewer API to experience Document Engine as a service. This is the quickest way to get started with Document Engine and play around with its capabilities.

**DWS Viewer API**

Our recommended way to get started with Document Engine using Nutrient DWS Viewer API.

[Read more](https://www.nutrient.io/guides/document-engine/as-a-service/dws-viewer-api.md)

**Docker**

A fast, containerized deployment option for quick setup and experimentation.

[Read more](https://www.nutrient.io/sdk/document-engine/getting-started/docker-deployment-react-frontend.md)

**Kubernetes**

Our recommendation for production-ready, flexible, and vendor-agnostic containerized deployments.

[Read more](https://www.nutrient.io/guides/document-engine/self-hosted/reference-architecture.md#reference-architecture/)

## Supported frameworks

**Getting Started Guides for document-engine:**

- [curl](https://www.nutrient.io/sdk/document-engine/getting-started/curl.md)

- [Golang](https://www.nutrient.io/sdk/document-engine/getting-started/golang.md)

- [PHP](https://www.nutrient.io/sdk/document-engine/getting-started/php.md)

- [Python](https://www.nutrient.io/sdk/document-engine/getting-started/python.md)

- [Rust](https://www.nutrient.io/sdk/document-engine/getting-started/rust.md)

- [Docker with EJS templates](https://www.nutrient.io/sdk/document-engine/getting-started/docker-deployment-ejs-templates.md)

## Use cases

Document Engine can work standalone or with our SDKs. When running alone, it operates without external storage and handles document processing, conversion, and manipulation tasks. When integrated with Web SDK and our mobile SDKs, it requires a database to manage document state and collaboration features.

Document Engine can be used for a variety of use cases. Below are a few examples.

**Annotations**

Learn how to work with PDF annotations.

[Read more](https://www.nutrient.io/guides/document-engine/annotations.md)

**Forms**

Learn how to fill forms, extract data, and more.

[Read more](https://www.nutrient.io/guides/document-engine/forms.md)

**Signatures**

Learn how to add digital signatures to PDFs.

[Read more](https://www.nutrient.io/guides/document-engine/signatures.md)
---

## Related pages

- [Process documents with Document Engine and curl](/sdk/document-engine/getting-started/curl.md)
- [Document Engine with Docker](/sdk/document-engine/getting-started/docker-deployment-react-frontend.md)
- [Document Engine with Docker and EJS templates](/sdk/document-engine/getting-started/docker-deployment-ejs-templates.md)
- [Process documents with Document Engine and Golang](/sdk/document-engine/getting-started/golang.md)
- [Process documents with Document Engine and Python](/sdk/document-engine/getting-started/python.md)
- [Process documents with Document Engine and Rust](/sdk/document-engine/getting-started/rust.md)
- [Process documents with Document Engine and PHP](/sdk/document-engine/getting-started/php.md)

