Some test text!


Get started with WebViewer & Angular

Welcome to PDFTron. You can start with WebViewer in an Angular project from scratch or integrate it into an existing application.

Integrating new Angular project with WebViewer JavaScript PDF library

AngularJS / Angular 1.x
If you're looking for an AngularJS / Angular 1.x guide please see this blog or the AngularJS sample project. Otherwise, continue with the rest of this guide for Angular 2+.

This guide will help you integrate a free trial of WebViewer into Angular applications from scratch. It will help you clone the Angular sample repository, walk through the project structure, and show you how to call other WebViewer API. Your free trial includes unlimited trial usage and support from solution engineers.


Node.js is not required for WebViewer
WebViewer does not require Node, npm, or node_modules. It is only recommended to run the samples.
No trial license key required.
The trial of PDFTron SDK works without a license key. A commercial license key is required for use in a production environment. Please fill out our licensing form if you do not have a valid license key.
Keep your commercial license key confidential.
License keys are uniquely generated. Please make sure that it is not publicly available (e.g. in your public GitHub).

Initial setup

  1. Clone the Angular sample

by executing


git clone
  1. Once cloned, navigate into the webviewer-angular-sample directory and install all the required dependencies by executing

    npm install

npm will also download the PDFTron WebViewer and extract it to /src/lib.

You are now ready to run the sample or use more WebViewer APIs.

Sample overview

After initial setup, the webviewer-angular-sample directory should be laid out like this:

├── angular.json
├── e2e
├── node_modules
│   └── ...
├── package.json
├── src
│    ├── app
│    │   ├── ...
│    │   └── app.component.ts
│    ├── files
│    ├── index.html
│    ├── lib
│    │   ├── ui
│    │   │   ├── ...
│    │   ├── core
│    │   │   ├── ...
│    │   └── webviewer.min.js
│    └── ...
└── ...

Notable files and directories include:

File/Folder NameDescription
LICENSELists the PDFTron copyright and license information.
filesContains the sample PDF for the application
libContains the extracted WebViewer SDK
index.htmlContains the main layout for the application
app.component.tsContains the code for the main application, includes WebViewer instantiation as well as the 'documentLoaded' callback

In short, app.component.ts instantiates WebViewer and sets up some example event handlers. WebViewer is presented on the page using the <app-root> router.

Assets and scripts

Since this is an Angular project, it is important to pay attention to the bundled files and assets. If you take a peek inside the angular.json file, you'll notice the following lines inside the build options:

    "assets": [
        // existing assets can remain as they are
    "scripts": [
        // other scripts you may have

Please make sure that webviewer.min.js is included in the scripts and also that the lib folder containing the webviewer.min.js file is included in the assets array so that WebViewer can function properly.

Run the sample

To run the sample, navigate to your webviewer-angular-sample/ directory and execute

npm start

Then navigate to http://localhost:4200. You should see the application load on your browser. Note it will change in real time if you edit any of the source files.


Use more WebViewer APIs

To call more WebViewer API's, navigate to /src/app/app.component.ts and add the API calls in the callback of the WebViewer constructor(you may need to make one if it is not provided).

    path: '../lib',
    initialDoc: '../files/webviewer-demo-annotated.pdf'
}, this.viewer.nativeElement)
    .then(instance => {
        // In this callback WebViewer will be initialized, so you can call WebViewer API here.

If your Angular application is already running, you should see the theme change right away. Otherwise execute npm start again, then navigate to http://localhost:4200 and you should see that the theme has changed.


Next step

Usage Guides Samples API docs

Get the answers you need: Support

Upcoming Webinar: PDFTron SDK Tech Review | Nov 29, 2022 at 2 pm ET


The Platform


© 2022 PDFTron Systems Inc. All rights reserved.


Terms of Use