Some test text!
Web / Guides / Integrate via NPM
This guide will show you how to get started with the WebViewer SDK through npm. By the end of this guide, you should be able load WebViewer into any app.
Prior to starting, you should have already installed Node and npm.
Get your Apryse trial key.
Apryse collects some data regarding your usage of the SDK for product improvement.
If you wish to continue without data collection, contact us and we will email you a no-tracking trial key for you to get started.
Run the following command in your project:
npm i @pdftron/webviewer
This will install the main JS entrypoint, as well as download some static assets required for WebViewer to run.
Next, we must copy the static assets required for WebViewer to run into a public location that will be served via HTTP/HTTPS (usually a dist
or build
folder). The static files are located in node_modules/@pdftron/webviewer/public
.
Below are a few ways you could automate this process:
NPM script
WebPack
Parcel
Other
{
"scripts": {
"move-static": "cp -a ./node_modules/@pdftron/webviewer/public/. ./dist/public/webviewer",
"build": "mybuildscript && npm run move-static"
}
}
When using WebViewer in your code, you will have to tell it where you copied these static files using the path
parameter. Add your own license key in place of 'YOUR_LICENSE_KEY'.
Starting in version 10.2 you can choose to instantiate WebViewer using a web component instead of an iframe. See this guide for more information.
For example, if you copied the static files into dist/public/webviewer
, your code would look something like this:
Iframe
Web Component
import WebViewer from '@pdftron/webviewer'
WebViewer({
path: '/public/webviewer',
licenseKey: 'YOUR_LICENSE_KEY',
}, document.getElementById('viewer'))
.then(instance => {
const { UI, Core } = instance;
const { documentViewer, annotationManager, Tools, Annotations } = Core;
// call methods from UI, Core, documentViewer and annotationManager as needed
documentViewer.addEventListener('documentLoaded', () => {
// call methods relating to the loaded document
});
instance.UI.loadDocument('https://pdftron.s3.amazonaws.com/downloads/pl/demo-annotated.pdf');
})
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales