# Document Viewer

> Display, annotate, fill in and sign documents in the browser: compare the Document Viewer with the editor and pick ASP.NET Core, Angular, React or JavaScript.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > Getting Started > Document Viewer
- **771 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/llms-full.txt

---

The Document Viewer is a lightweight, read-only viewer that displays DOCX, PDF and other supported documents in the browser, without plug-ins, Microsoft Word or Adobe Acrobat Reader. Users can read, search, print and download documents, add annotations, fill out form fields and sign documents, but they cannot change the content. The tutorials that follow add the viewer to an ASP.NET Core, Angular, React or plain JavaScript application.

### What the Document Viewer Does

![The Document Viewer in the browser with a business letter: the toolbar at the top, the page thumbnails on the left and the status bar at the bottom.](https://docs.textcontrol.com/assets/img/tx-text-control-dotnet-server/document-viewer-letter.106cac8a.webp)

Choose the viewer when users only need to read, annotate, fill out or sign a document, and the [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-editor/llms-full.txt) when they need to change its content; both can be used in the same application. [Document Viewer or Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/overview/components/document-viewer/#document-viewer-or-document-editor) in the Overview compares the two, and [What Users Do With It](https://docs.textcontrol.com/tx-text-control-dotnet-server/overview/components/document-viewer/#what-users-do-with-it) lists the formats and features.

### How It Works

The viewer's frontend runs in the browser and calls an ASP.NET Core backend over HTTP, which renders the pages. Angular, React and plain JavaScript frontends need a separate backend that allows cross-origin requests (CORS). [How It Works](https://docs.textcontrol.com/tx-text-control-dotnet-server/overview/components/document-viewer/#how-it-works) in the Overview describes the parts and the packages of each engine.

### Choose a Frontend

| Frontend | Use it when | What you install |
|---|---|---|
| ASP.NET Core | You build an ASP.NET Core MVC application with Razor views. The viewer and its backend run in one project. | NuGet packages only |
| Angular | You build an Angular application. | The npm package `@txtextcontrol/tx-ng-document-viewer` and a separate ASP.NET Core backend |
| React | You build a React application. | The npm package `@txtextcontrol/tx-react-document-viewer` and a separate ASP.NET Core backend |
| JavaScript | You use plain HTML and JavaScript without a framework. | Two scripts that the ASP.NET Core backend serves |

If you are not sure, start with ASP.NET Core. It needs only one project, and everything you learn about the viewer settings and the JavaScript API also applies to the other frontends.

### Pages in This Section

- [ASP.NET Core](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/aspnet-core/llms-full.txt): Create an ASP.NET Core MVC application, add the viewer to a Razor view, load a document and use the JavaScript API.
- [Angular](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/angular/llms-full.txt): Create an ASP.NET Core backend and an Angular application that uses the Document Viewer component.
- [React](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/react/llms-full.txt): Create an ASP.NET Core backend and a React application that uses the Document Viewer component.
- [JavaScript](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/javascript/llms-full.txt): Add the viewer to a plain HTML page and control it with the JavaScript API.

### Next Steps

- [System Requirements](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/requirements/llms-full.txt): the .NET versions, operating systems and browsers the viewer runs with.
- [Text Control Private NuGet Feed](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/nuget/private-feed/llms-full.txt): get access to the packages the tutorials install.
- [Document Viewer Architecture](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-viewer/architecture/llms-full.txt): how the frontend and the backend of the viewer work together.
- [Document Viewer JavaScript API](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-viewer/javascript-api/llms-full.txt): control the viewer from JavaScript.

---

## In This Section

- [Angular](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/angular/llms-full.txt): Create an ASP.NET Core backend and an Angular app that displays documents with the Document Viewer component from the tx-ng-document-viewer npm package.
- [ASP.NET Core](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/aspnet-core/llms-full.txt): Add the Document Viewer to an ASP.NET Core MVC app: install the NuGet packages, add the viewer to a Razor view, load a document and use the JavaScript API.
- [JavaScript](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/javascript/llms-full.txt): Add the Document Viewer to a plain HTML page with an ASP.NET Core backend and use the TXDocumentViewer API to load documents, annotate, fill forms and sign.
- [React](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/react/llms-full.txt): Create an ASP.NET Core backend and a React app that displays documents with the DocumentViewer component, and load documents with the JavaScript API.

---

## Nearby

- **Previous:** [Node.js](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-editor/nodejs/llms-full.txt)
- **Next:** [ASP.NET Core](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/aspnet-core/llms-full.txt)
