> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/what-is-webviewer/deployment-options.md).

# Deployment options for WebViewer

Explore the top deployment options for WebViewer: Client only mode for direct document manipulation in the browser, Full API for advanced functions, and WebViewer Server for seamless backend integrati

There are three main options for deploying WebViewer.

## Client only

Using the client only mode allows you to view, edit, and manipulate PDF and Office documents directly in the client without a conversion step on a server. WebViewer takes advantage of the latest browser technologies (like [WebAssembly](https://webassembly.org/)) to render and manipulate documents completely on the client side.

Since no work is being done on a server, this allows you to easily scale up the number of concurrent users without paying for more servers. The trade off is that performance is dependent on a user's local machine and a limited set of [filetypes](/web/what-is-webviewer/file-format-support.md) can be viewed.

| Recommended for                                                                                                               | Not recommended for                                                                                               |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| <ul><li>Scaling WebViewer to multiple users without additional servers</li><li>Viewing most common document formats</li></ul> | <ul><li>Rendering more large and/or complex documents</li><li>Supporting lower-powered browsers/devices</li></ul> |

{% hint style="info" %}
This option is recommended if you are looking to process documents directly in a modern browser and/or rendering PDF, PNG, JPG, or Office documents.
{% endhint %}

![](https://3532544125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX9YnTSKIHvV7m0A36LbO%2Fuploads%2Fgit-blob-53fa6179bd8e66a6618972d26e5fb1eaadb838f3%2F9f8694edcd90b64485a6a28a26bce6d3d0b906a4-836x857.png?alt=media)

{% hint style="info" %}
Please check out our [usage](/web/what-is-webviewer/usage.md) guide to get started!
{% endhint %}

### Full API

The [full API](https://sdk.apryse.com/api/web/Core.PDFNet.html) is also available on the client side and includes all of the native API functions. This API can be used to process documents outside of the viewer as seen in [these samples](/web/get-started/guides/samples/full-apis.md#console-samples).

To enable this API when using the viewer pass in the `fullAPI` option to the WebViewer constructor. For example:

<pre class="language-js" data-line-numbers><code class="lang-js">WebViewer({
  licenseKey: '<code class="expression">visitor.claims.wvKey || "YOUR_LICENSE_KEY"</code>',
  initialDoc: 'YOUR_FILE.pdf',
  fullAPI: true
}, viewerElement);
</code></pre>

The reason this option needs to be specified is because the scripts required to be downloaded for the full API are \~2-3 times larger than what is required for the viewer only. If you only want to view PDF documents and won't take advantage of the other Apryse functions then you shouldn't pass the `fullAPI` option.

See more information about the [full API for WebViewer](/web/what-is-webviewer/full-api.md).

## WebViewer Server (Docker container)

WebViewer Server is an optional, easy drop-in backend for WebViewer that offers responsive viewing and compatibility across all client platforms (including mobile), along with scaling performance that approaches purely client-side solutions. It works hand-in-hand with WebViewer on the client, initially serving images then transitioning to client-side rendering. You can quickly get it set up and running in seconds with our Docker Compose script.

See the [WebViewer Server guide](/web/webviewer-server/wv-server-deployment.md) for more information.

| Recommended for                                                                                                                                                        | Not recommended for                                                                                      |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| <ul><li>Adding quick, easy support for various browsers/devices</li><li>Rendering large and/or complex files</li><li>Viewing a wider variety of file formats</li></ul> | <ul><li>Deploying with limited hardware resources</li><li>Managing additional servers/networks</li></ul> |

{% hint style="info" %}
This option is recommended if you are targeting Internet Explorer or mobile devices, or if you need to support more [file formats](/web/what-is-webviewer/file-format-support.md) than client only supports.
{% endhint %}

![](https://3532544125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX9YnTSKIHvV7m0A36LbO%2Fuploads%2Fgit-blob-755edbfd9168f3c37edb3ec06ed4583abfd10823%2F98653da11858ef5b410ace4cf90d1f6ddad51823-926x734.png?alt=media)

## Custom server

You can also choose to configure your own server and not use our packaged backend. This offers flexibility and control, allowing you to preprocess documents prior to loading them in WebViewer. You create a server that converts your documents into a web optimized [XPS](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) file, called XOD, and provide them to WebViewer. By converting a wide range of document formats to XOD, WebViewer is able to deliver consistent results in viewing different document types.

See [custom server guide](/web/custom-server/custom-server-deployment.md) for more information.

| Recommended for                                                                                                           | Not recommended for                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| <ul><li>Customizing document processing flows</li><li>Introducing additional formats with third party libraries</li></ul> | <ul><li>Managing additional custom code</li><li>Working with limited file format knowledge</li></ul> |

{% hint style="info" %}
This approach offers similar benefits to WebViewer Server in terms of performance and file format support, with more flexibility in terms of document processing on the server side.
{% endhint %}

## Comparison

### Browsers

Note that although client only mode runs in Internet Explorer and mobile devices it is generally only recommended for modern browsers and more powerful devices.

WebViewer supports the **last 3 major versions** of each browser, in line with industry standard. This keeps compatibility predictable without requiring ongoing maintenance of this page.

| Browser        | Client only | WebViewer Server | Custom server |
| -------------- | ----------- | ---------------- | ------------- |
| Chrome         | ✓           | ✓                | ✓             |
| Firefox        | ✓           | ✓                | ✓             |
| Safari         | ✓           | ✓                | ✓             |
| Edge           | ✓           | ✓                | ✓             |
| Android Chrome | ✓           | ✓                | ✓             |

{% hint style="info" %}
**What "last 3 major versions" means:** As browsers release new versions, support automatically shifts forward. This matches the policy used by most major platforms and frameworks — no manual updates to this page are required.
{% endhint %}

{% hint style="warning" %}
Changed in WebViewer version 12.0: We previously listed specific minimum version numbers per browser. That table has been replaced with the last-3-versions policy above. If you were relying on an older browser version, please review your compatibility requirements.
{% endhint %}

### File formats

### PDF

| Format           | Client only | WebViewer Server | Custom Server |
| ---------------- | ----------- | ---------------- | ------------- |
| PDF (1.x to 2.0) | ✓           | ✓                | ✓             |
| PDF/A 1,2,3      | ✓           | ✓                | ✓             |
| XFDF             | ✓           | ✓                | ✓             |
| FDF              | ✓           | ✓                | ✓             |

### Office

Requires `Office Conversion` Add-on

| Format          | Client only | WebViewer Server | Custom Server      |
| --------------- | ----------- | ---------------- | ------------------ |
| DOC, DOCX, DOCM | ✓           | ✓                | ✓                  |
| DOT, DOTX, DOTM | ✓           | ✓                | ✓                  |
| XLS, XLSX, XLSM | ✓           | ✓                | ✓                  |
| XLSB            |             | ✓                | ✓                  |
| XLT             | ✓           | ✓                | ✓                  |
| XLTX            |             | ✓                | ✓                  |
| XLTM            |             | ✓                | ✓                  |
| PPT, PPTX, PPTM | ✓           | ✓                | ✓                  |
| POT             | ✓           | ✓                | ✓                  |
| POTX, POTM      |             | ✓                | ✓                  |
| PPS             | ✓           | ✓                | ✓                  |
| PPSX, PPSM      |             | ✓                | ✓                  |
| VSD             |             | ✓                |                    |
| VSDX            |             | ✓                |                    |
| PUB             |             | ✓                | Windows + Office\* |

\* [Custom Server PUB are only supported via Office Interop (MS Office instance needs to be installed)](/web/get-started/faq/external-converter.md)

### CAD

Requires `CAD Conversion` Add-on

| Format | Client only | WebViewer Server | Custom Server |
| ------ | ----------- | ---------------- | ------------- |
| DWG    |             | ✓                | ✓             |
| DWF    |             | ✓                | ✓             |
| DXF    |             | ✓                | ✓             |
| DGN    |             | ✓                | ✓             |
| RVT    |             | ✓\*              | ✓\*           |

\* RVT is only supported on Windows

### Images

| Format | Client only                              | WebViewer Server | Custom Server |
| ------ | ---------------------------------------- | ---------------- | ------------- |
| JPG    | ✓                                        | ✓                | ✓             |
| PNG    | ✓                                        | ✓                | ✓             |
| JFIF   | ✓                                        | ✓                | ✓             |
| TIF    | [✓\*](/web/get-started/faq/load-tiff.md) | ✓                | ✓             |

\* [See here for how to view tiff files on the client side](/web/get-started/faq/load-tiff.md)

| Format   | Client only | WebViewer Server | Custom Server |
| -------- | ----------- | ---------------- | ------------- |
| SVG      |             | ✓                | ✓             |
| BMP      |             | ✓                | ✓             |
| WMF      |             | ✓                |               |
| EMF      |             | ✓                | ✓             |
| GIF      |             | ✓                | ✓             |
| JP2, JPC |             | ✓                | ✓             |

Requires `Basic Conversion` Add-on.

| Format      | Client only | WebViewer Server | Custom Server |
| ----------- | ----------- | ---------------- | ------------- |
| AAI         |             | ✓\*              | ✓\*           |
| ARW         |             | ✓\*              | ✓\*           |
| CR2         |             | ✓\*              | ✓\*           |
| CRW         |             | ✓\*              | ✓\*           |
| CUR, ICO    |             | ✓\*              | ✓\*           |
| DCM (DICOM) |             | ✓\*              | ✓\*           |
| DCR         |             | ✓\*              | ✓\*           |
| DDS         |             | ✓\*              | ✓\*           |
| HEIC, HEIF  |             | ✓\*              | ✓\*           |
| MRW         |             | ✓\*              | ✓\*           |
| NEF         |             | ✓\*              | ✓\*           |
| ORF         |             | ✓\*              | ✓\*           |
| PICT        |             | ✓\*              | ✓\*           |
| PFM         |             | ✓\*              | ✓\*           |
| PSB, PSD    |             | ✓\*              | ✓\*           |
| RAF         |             | ✓\*              | ✓\*           |

\* Using the Apryse Advanced imaging module

### Other

All formats listed in the table require `Basic Conversion` add-on with the exception of MSG and EML; MSG and EML require `Office Conversion`.

| Format | Client only | WebViewer Server | Custom Server |
| ------ | ----------- | ---------------- | ------------- |
| RTF    |             | ✓^^              | ✓             |
| ODT    |             |                  | Windows Only  |
| ODS    |             |                  | Windows Only  |
| ODP    |             |                  | Windows Only  |
| HTML   |             | ✓                | ✓             |
| MSG    |             | ✓^^              | ✓^            |
| EML    |             | ✓^^              | ✓^            |
| TXT    |             | ✓                | ✓             |
| CSV    |             | ✓                | ✓             |
| XPS    |             |                  | ✓             |
| XOD\*  |             |                  | ✓             |
| XAML   |             |                  | Using .NET    |

\* XOD is available on all platforms but viewing encrypted XOD is only supported for Web

^ Most MSG and EML conversions require the [HTML2PDF ](/core/learn-more/modules.md#html2pdf-module)module to be installed. No HTML2PDF license is required for the conversions.

^^ For clients with Office Conversion licensed, we recommend setting TRN\_USE\_OFFICE\_CONVERSION to true for improved results using Apryse proprietary developed technology

### Features

|                            | Client only | WebViewer Server | Custom server |
| -------------------------- | ----------- | ---------------- | ------------- |
| Viewing                    | ✓           | ✓                | ✓             |
| Search                     | ✓           | ✓                | ✓             |
| UI Customization           | ✓           | ✓                | ✓             |
| Annotate                   | ✓           | ✓                | ✓             |
| Forms                      | ✓           | ✓                | ✓             |
| e-Signature                | ✓           | ✓                | ✓             |
| Rasterization and Printing | ✓           | ✓                | ✓             |
| Content Extraction         | ✓           |                  | ✓             |
| Document Creation          | ✓           |                  | ✓             |
| Page Manipulation          | ✓           |                  | ✓             |
| Document Compare           | ✓           | ✓                | ✓             |
| PDF Layers (OCGs)          | ✓           |                  | ✓             |
| Color Separation           | ✓           |                  | ✓             |
| Digital Signatures         | ✓           |                  | ✓             |
| Low-level Document Editing | ✓           |                  | ✓             |
| Bookmarks                  | ✓           | ✓                | ✓             |
| Content Replacer           | ✓           |                  | ✓             |
| Security                   | ✓           | ✓                | ✓             |
| Office to PDF Conversion   | ✓           | ✓                | ✓             |
| CAD Conversion             |             | ✓                | ✓             |
| Redaction                  | ✓           | ✓                | ✓             |
| PDF/A Generation           | ✓           |                  | ✓             |
| Optimizer                  | ✓           |                  | ✓             |
| Flattener                  | ✓           |                  | ✓             |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/web/what-is-webviewer/deployment-options.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
