# DocumentViewerElement Class

> Hosts a document viewer and exposes its supported viewer API through a custom element. The initial `dock`, `view`, `toolbar-docked`, and `show-thumbnail-pane` values may be supplied as readable attributes. The element initializes itself when connected, preserves its controller and document state across temporary disconnects, and cannot be reused after dispose(). A document provider is the component that loads document data and supplies the viewer with pages, text, and document-saving functionality. The viewer can use the server-side provider backed by TX Text Control endpoints or the optional PDF.js provider configured through the `pdfjs` property of DocumentLoadSettings. Use the native `addEventListener()` method for the lifecycle events `documentViewerLoading` and `documentViewerLoaded` and for the bubbling viewer events `documentLoaded`, `zoomChanged`, and `annotationsChanged`. The viewer event payload is available as `event.detail`; link events can be canceled with the native `event.preventDefault()` method.

- **Product:** DS Server
- **Section:** Reference
- **Kind:** Class
- **Path:** DS Server > Reference > JavaScript API - Document Viewer > DocumentViewerElement Class
- **Web URL:** https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/
- **LLMs URL:** https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/llms-full.txt

---

## On This Page

- [Description](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/#description)
- [Syntax](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/#syntax)
- [Examples](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/#examples)
- [Members](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/#members)

---

## In This Section

- [Javascript: DocumentViewerElement.annotations Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/annotations-property/llms.txt): Controls annotation import/export, stamp definitions, and annotation UI.
- [Javascript: DocumentViewerElement.cancelSearch Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/cancelsearch-method/llms.txt): Clears the active search and its result overlays.
- [Javascript: DocumentViewerElement.dispose Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/dispose-method/llms.txt): Permanently releases the controller and all resources owned by the element. Calling this method more than once has no effect. A disposed element cannot be initialized again; create a new element instead.
- [Javascript: DocumentViewerElement.downloadDocument Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/downloaddocument-method/llms.txt): Saves the current document and starts a browser download.
- [Javascript: DocumentViewerElement.find Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/find-method/llms.txt): Searches the current document, ignoring case unless requested otherwise. Search results are produced asynchronously and displayed by the viewer.
- [Javascript: DocumentViewerElement.forms Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/forms-property/llms.txt): Reads and validates form fields and controls form-field interaction.
- [Javascript: DocumentViewerElement.isSidebarEnabled Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/issidebarenabled-method/llms.txt): Reports whether the left sidebar is currently visible.
- [Javascript: DocumentViewerElement.loadDocument Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/loaddocument-method/llms.txt): Loads a Base64-encoded document and replaces the currently displayed document. Provider and rendering failures resolve to `false`. Invalid document data or lifecycle violations may reject the returned promise.
- [Javascript: DocumentViewerElement.nextSearchResult Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/nextsearchresult-method/llms.txt): Selects the next or previous search result.
- [Javascript: DocumentViewerElement.printDocument Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/printdocument-method/llms.txt): Starts the browser print workflow for the current document.
- [Javascript: DocumentViewerElement.saveDocument Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/savedocument-method/llms.txt): Starts saving the current document and returns a DocumentSaveResult. Its base64() or arrayBuffer() method returns the saved data asynchronously.
- [Javascript: DocumentViewerElement.scrollToPage Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/scrolltopage-method/llms.txt): Scrolls the document viewport to a page.
- [Javascript: DocumentViewerElement.setSubmitCallback Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/setsubmitcallback-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.setSubmitCallback()`. Sets the callback used by subsequent signature submissions.
- [Javascript: DocumentViewerElement.setZoomFactor Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/setzoomfactor-method/llms.txt): Applies an absolute zoom factor to the document.
- [Javascript: DocumentViewerElement.signatureCancel Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/signaturecancel-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.cancelSigningProcess()`. Cancels the active signature workflow.
- [Javascript: DocumentViewerElement.signaturePadClear Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/signaturepadclear-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.clearSignaturePad()`. Clears the current signature data.
- [Javascript: DocumentViewerElement.signatureRetrieve Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/signatureretrieve-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.retrieveSignature()`. Restores signature data from browser storage.
- [Javascript: DocumentViewerElement.signatures Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/signatures-property/llms.txt): Controls the document-signing workflow.
- [Javascript: DocumentViewerElement.signatureStore Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/signaturestore-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.storeSignature()`. Stores current signature data in browser storage.
- [Javascript: DocumentViewerElement.startSignatureProcess Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/startsignatureprocess-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.startSigningProcess()`. Starts the signature workflow.
- [Javascript: DocumentViewerElement.StreamType Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/streamtype-property/llms.txt): Stream type constants accepted by save and download operations.
- [Javascript: DocumentViewerElement.submit Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/submit-method/llms.txt): Obsolete. This method will be removed in one of the next versions. Use `element.signatures.submit()`. Submits the current document through the signature workflow.
- [Javascript: DocumentViewerElement.toggleFullScreen Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/togglefullscreen-method/llms.txt): Toggles browser fullscreen, or toggles window docking when fullscreen is unavailable.
- [Javascript: DocumentViewerElement.toggleMultiplePageView Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/togglemultiplepageview-method/llms.txt): Toggles whether pages flow into rows when space allows.
- [Javascript: DocumentViewerElement.toggleSelection Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/toggleselection-method/llms.txt): Activates, deactivates, or toggles text selection.
- [Javascript: DocumentViewerElement.toggleSidebar Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/togglesidebar-method/llms.txt): Toggles the left sidebar.
- [Javascript: DocumentViewerElement.toggleToolbar Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/toggletoolbar-method/llms.txt): Toggles the main toolbar.
- [Javascript: DocumentViewerElement.toolbar Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/toolbar-property/llms.txt): Controls the main toolbar and its contextual toolbars.
- [Javascript: DocumentViewerElement.trackedChanges Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/trackedchanges-property/llms.txt): Tracked-change state and toolbar operations.
- [Javascript: DocumentViewerElement.userNames Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/usernames-property/llms.txt): User names available to annotation and comment workflows. The first entry is treated as the current user.

---

## Nearby

- **Previous:** [Javascript: DocumentViewerController.trackedChanges Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewercontroller/trackedchanges-property/llms.txt)
- **Next:** [Javascript: DocumentViewerElement.annotations Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewerelement/annotations-property/llms.txt)
