Install
Grab the package on NPM with:Prepare your DOM
Ensure that your HTML page where you want to use MuPDF WebViewer has a dedicated DOM node available with theid you require, e.g.
Initialization
Once ready you should initialize with initMuPDFWebViewer(). ExampleFile paths to PDFs should be absolute paths.
Optionally set the library path
The main JavaScript viewer libraries will be served from CDN by default, however you can choose to self-host these files by setting thelibraryPath option during initialization.
One of the benefits of self-hosting is that you can reference the files with relative paths from your own domain.
Copy the library assets
The library folder for MuPDF WebViewer is required to be copied to a library path of your choosing.public folder as follows:
Set the library path during initialization
Then set thelibraryPath option during initialization to point to your chosen path.
Example
File paths to PDFs can be relative or absolute paths if you are self-hosting the library files.
Running
You should be able to run on your local machine’s browser. The following local domains work out of the box:localhost127.0.0.1*.test
Trial License
For local development a license key is not required, however for deployment to production, a license key is required to use MuPDF WebViewer. Visit MuPDF WebViewer to obtain your trial license. Use thelicenseKey option during initialization to set your license key.
Example
When deploying to the web don’t forget that a license key is required & specific to the domain you registered the key against.
Opening Files
You can open local and remote files with MuPDF Webviewer. You can also open files as blob URLs if required.Local files
Depending on your integration you can open local files with absolute or relative paths, as follows:Absolute paths
Supply the absolute path to your file as follows: ExampleRelative paths
Supply the relative path to your file as follows: ExampleRemote files
Supply the URL to your file as follows: ExampleLoading Files as Blob URLS
If you want to use blob URLs, then MuPDF WebViewer can use that for the file data. The example below converts a PDF into a blob URL then opens it: ExampleDeploying with React
Deployment for a typical React or NextJS project should follow the following steps:npm run build- A folder called
distwill be created with the following structure:assetsfolderindex.htmllibfolder
- Edit the
index.htmlfile to use the relative path for assets to load the JS and CSS files , i.e.assetsnot/assets, this ensures that the deployed code will not search the root of your web server for the “assets” folder.assets/index-not/assets/index-! - Rename and upload the “dist” folder to the location on your server where you want to serve the project,
for example if your project is served on
https://website.com/webviewer/then rename the “dist” folder to “webviewer” before you upload it.
The main JavaScript libraries will be served from CDN by default, this only applies if you wish to self-host the library files - i.e. you have defined the libraryPath parameter during initialization.MuPDF WebViewer code seeks from the root of your server. So if you deploy to e.g.
https://website.com/webviewer/ then your
libraryPath should be defined as “webviewer/lib”.If you want to change the name of the lib folder then you should rename it in your “dist” folder after npm run build.e.g. If you define your libraryPath as “webviewer/mupdf-lib” then rename “dist/lib” to “webviewer/mupdf-lib” after build time.