# Javascript: DocumentViewerController.saveDocument Method

> Starts saving the current document and returns a DocumentSaveResult for reading the saved data as Base64 or binary data.

- **Product:** TX Text Control .NET Server
- **Section:** Reference
- **Kind:** Method
- **Path:** TX Text Control .NET Server > Reference > JavaScript API - Document Viewer > Javascript: DocumentViewerController.saveDocument Method
- **411 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript-document-viewer/documentviewercontroller/savedocument-method/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript-document-viewer/documentviewercontroller/savedocument-method/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript-document-viewer/documentviewercontroller/savedocument-method/llms-full.txt

---

### Description

Starts saving the current document and returns a [DocumentSaveResult](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript-document-viewer/documentsaveresult/llms-full.txt) for reading the saved data as Base64 or binary data.

### Syntax

```javascript
<DocumentSaveResult> DocumentViewerController.saveDocument([<StreamType> streamType], [<DocumentSaveSettings> settings])
```

### Parameters

| Parameter | Description |
|---|---|
| streamType | Optional. Requested output format. |
| settings | Optional. Form-field and annotation embedding options. |

### Return Value

Result used to read the saved document data.

### Examples

The following example demonstrates `TXDocumentViewer.saveDocument` in a practical Document Viewer workflow. Saves the loaded document in a specific format and with certain settings.

```javascript
async function exportCompletedFormAsPdf() {
    const saveSettings = {
        mergeFormFields: true,
        embedAnnotations: true
    };
    const saveResult = await TXDocumentViewer.saveDocument(
        TXDocumentViewer.StreamType.AdobePDF,
        saveSettings
    );
    const documentBase64 = await saveResult.base64();
    console.log("Exported PDF characters:", documentBase64.length);
    return documentBase64;
}
```

---

## Nearby

- **Previous:** [Javascript: DocumentViewerController.resume Method](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript-document-viewer/documentviewercontroller/resume-method/llms-full.txt)
- **Next:** [Javascript: DocumentViewerController.scrollToPage Method](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript-document-viewer/documentviewercontroller/scrolltopage-method/llms-full.txt)
