# PdfViewer

The `PdfViewer` control displays PDF documents in the browser. Multiple viewer types are available based on the browser type.

To get started, set the `PdfSource` property to the URL of a PDF document and it will be loaded at runtime.

{% hint style="info" %}
For a full list of properties, methods and events see the [API documentation.](http://docs.wisej.com/api)
{% endhint %}

## Features

### Multiple Viewer Types

The `PdfViewer` has several preset `PdfViewerTypes`:

* `Auto`: The PDF viewer is selected by the client browser.
* `Google`: Use Google's document viewer.
* `Mozilla`: Use Mozilla PDF.js viewer.

![PdfViewer control showing Mozilla, Google, and Auto viewer types](/files/-Mf-3VOI2S4Xguo0DWX4)

### Custom Viewer

The `PdfViewer` control can implement a custom PDF viewer by setting the `ViewerType` property to `Custom` and applying a `ViewerURL`.

The image below demonstrates an integration of Mozilla's [PDF.js](https://mozilla.github.io/pdf.js/).

![PdfViewer control demonstrating custom PDF.js viewer integration](/files/-Mf-5bo3qNa5tbgQBAI7)

## Advanced

### JavaScript Widget

| Item             | Description                                                                                                         |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- |
| Class name       | "wisej.web.PdfViewer"                                                                                               |
| Theme appearance | "panel", see [Themes](https://docs.wisej.com/theme-builder/theme-elements/elements).                                |
| Child components | "pane" is the container for the PDF viewer. See [JavaScript](/docs/concepts/javascript-object-model.md).            |
| Source code      | [https://github.com/iceteagroup/wisej-js](https://github.com/iceteagroup/wisej-js/blob/master/wisej.web.TextBox.js) |


---

# Agent Instructions: 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:

```
GET https://docs.wisej.com/docs/controls/content/pdfviewer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
