This example shows how to build a PSPDFKit for Electron application with Electron.
This example uses context isolation, with node integration disabled. If you're looking for an example with node integration enabled, you can switch to the nodeintegration
branch.
The example will work out of the box in demo mode, when no license key is passed. However, if used with a license key, we need to make sure that the corresponding bundle ID is passed in the electronAppName
property of the configuration object passed to PSPDFKit.load()
in src/index.html
:
PSPDFKit.load({
// other options
licenseKey: "LICENSE KEY GOES HERE",
electronAppName: "BUNDLE ID GOES HERE",
});
Are you evaluating our SDK? That's great, we're happy to help out! To make sure this is fast, please use a work email and have someone from your company fill out our sales form: https://pspdfkit.com/sales/
Clone the repo:
git clone https://github.com/PSPDFKit/pspdfkit-electron-example.git
cd pspdfkit-electron-example
Install the project dependencies with npm
:
npm install
Important: If you are using Windows, do not use PowerShell. Instead, use Microsoft’s Developer Command Prompt for Visual Studio.
We are ready to launch the app! 🎉
npm run start
The Electron application will automatically start.
To open the developer tools inside Electron, uncomment the following line in index.js
:
// Open the DevTools.
mainWindow.webContents.openDevTools();
This repository contains an example integration of PSPDFKit for Electron. The project structure is influenced by the default Electron example app and comes with the following files, among other:
Filename | Description |
---|---|
src/index.js |
The main entry point used to create the Electron windows. This file does not contain major changes, with the exception of a validation to make sure that PSPDFKit is properly installed. It is responsible for loading src/index.html . |
src/index.html |
The main HTML entry point. It will set up a simple HTML structure and load the PSPDFKit library and provided example document. |
src/preload.js |
This file is where the Node API helpers are imported and exposed to the browser window. |
We recommend using electron-packager
or a similar solution to build the production bundles.
npm install -g electron-packager
The following code will only work on macOS. For other platforms, please consult the documentation of electron-packager
:
npm run package-mac-intel
npm run package-mac-apple (Apple Silicon)
npm run package-win (requires Wine: `brew cask install xquartz`, `brew install wine`)
npm run package-linux (requires `apt-get install libgconf-2-4` on target Linux)
This software is licensed under a modified BSD license.
Please ensure you have signed our CLA so that we can accept your contributions.