Build an Electron PDF viewer with Apryse WebViewer SDK
This guide shows how to build an Electron PDF viewer using the Apryse WebViewer SDK. You'll learn how to integrate the SDK into an Electron application to render, view, and interact with PDF documents using the WebViewer UI.
You can also download a ready-to-use GitHub sample to get started quickly, or explore the interactive Showcase demo to see WebViewer's full capabilities in action.
Prerequisites
This guide assumes basic familiarity with Electron development. Before you start:
Install Node.js and npm. See the Electron documentation for version details.
Install Visual Studio Code or another code editor to develop and debug your code.
Get your Apryse trial key.
1. Create an Electron project
In this section, you’ll create a new Electron application using npm. This project provides the foundation for integrating Apryse WebViewer. If you already have an Electron app, skip this and continue to Install WebViewer.
In your terminal, go to the directory where you want to create the project.
Create a new project directory, initialize your project, and generate a
package.jsonfile:
mkdir webviewer-electron
cd webviewer-electron
npm init -yUpdate the main entry point in the
package.jsonfile tomain.js:
Update the
scriptssection and the start command in thepackage.json:
The final package.json should look like this:
In your project directory, install Electron:
2. Install WebViewer
Next, install the Apryse WebViewer SDK using npm. This command adds the WebViewer package to your project, allowing you to integrate the PDF viewer and editor into your Electron application.
After navigating to your webviewer-electron project directory, run the following command to install WebViewer:
3. Copy WebViewer assets
WebViewer needs access to its static assets at runtime, including WebAssembly modules, HTML, and CSS files. In an Electron project, you must copy these assets into the public directory so they can be served correctly. For more, see Copying WebViewer static assets.
From your project root, create the
public/lib/webviewerdirectory if it doesn't already exist:
Copy all WebViewer static assets from
node_modules/@pdftron/webviewer/publicinto the newpublic/lib/webviewerdirectory:
Copy the
webviewer.min.jslibrary file fromnode_modulesto thepublicdirectory:
Your project should now include a similar structure:
4. Create the PDF viewer
In this section, you’ll add WebViewer to your Electron app by creating an HTML interface and initializing the viewer. This mounts the WebViewer UI and loads a document in your application.
Open Visual Studio Code.
Create an
index.htmlfile in your project root and add the following to define your app UI:
Create a
main.jsfile in your project root, then add the following code to open an Electron window and load yourindex.htmlfile:
Create a
render.jsfile in your project root, then add the following code to initialize WebViewer inside the HTML UI:
Save all files modified in this section.
5. Verify your output
You can now load and display a PDF document in the WebViewer UI. Run your Electron application to launch WebViewer and view the PDF inside the app window.
From your project directory, run the following command to start the application:
A successful output looks similar to:
The Electron app opens and displays the WebViewer UI with the PDF loaded.
Get started video
In this 5-minute video, learn how to install and integrate the Apryse WebViewer SDK into an Electron project.
Next steps
Check out the resources below.
Last updated
Was this helpful?