# 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](https://553579532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MF1D11gPs_az3xaKusw%2Fuploads%2Fgit-blob-618d4dfeda8a8249245f4261b17386e3030021b1%2Fimage.png?alt=media)

### 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](https://553579532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MF1D11gPs_az3xaKusw%2Fuploads%2Fgit-blob-a625eb7c259cabf25fc7583ac3affa296d9a31af%2Fimage.png?alt=media)

## 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](https://docs.wisej.com/docs/concepts/javascript-object-model). |
| Source code      | [https://github.com/iceteagroup/wisej-js](https://github.com/iceteagroup/wisej-js/blob/master/wisej.web.TextBox.js)         |
