Some test text!

Discord Logo

Chat with us

PDFTron is now Apryse, learn more here.

Web / Guides / Svelte


PDFTron is now Apryse, learn more here.

Integrating Svelte with WebViewer JavaScript PDF library

Welcome to Apryse. This guide will help you integrate a free trial of WebViewer into Svelte applications on the browser. It will help you clone the Svelte 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 Apryse 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 Svelte sample by executing

    git clone
  2. Once cloned, navigate into the webviewer-svelte-sample folder and install all the required dependencies by executing

    npm install

npm will also download the Apryse WebViewer and extract it to /public/lib.

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

Sample overview

After initial setup, your webviewer-svelte -sample directory should be laid out like this:

├── node_modules
│   └── ...
├── package.json
├── package-lock.json
├── public
│   ├── bundle.css
│   ├──
│   ├── bundle.js
│   ├──
│   ├── favicon.png
│   ├── global.css
│   ├── index.html
│   └── lib
├── rollup.config.js
└── src
    ├── App.svelte
    ├── main.js
    └── WebViewer.svelte

Notable files and directories include:

File/Folder NameDescription
LICENSELists the Apryse copyright and license information.
App.svelteContains the main application code which instantiates a WebViewer and loads a document
main.jsAdds the application defined in App.svelte to the body element of /public/index.html
WebViewer.svelteContains the definition for the WebViewer component
bundle.jsJavaScript bundle that is compiled by Svelte
libContains the extracted WebViewer SDK

Run the sample

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

npm run dev

Then navigate to http://localhost:5000. You should see WebViewer start up and load the sample PDF. 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/WebViewer.svelte and add the API calls in the callback of the WebViewer constructor(you may need to make one if it is not provided).

const ele = document.getElementById('viewer');
  path: '/lib'
}, ele)
  .then(instance => {
    // In this callback WebViewer will be initialized, so you can call WebViewer API here.

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


Next step

Usage Guides Samples API docs

Get the answers you need: Support