@pdftron/pdfnet-node

This is the PDFTron SDK packaged as a Node.js module.

Usage no npm install needed!

<script type="module">
  import pdftronPdfnetNode from 'https://cdn.skypack.dev/@pdftron/pdfnet-node';
</script>

README

@pdftron/pdfnet-node

This package leverages the full power of PDFTron's native SDK for maximal performance and accuracy. In order to maintain consistency across platforms the Javascript API is used in the same manner as the PDFNet API available in PDFTron's Web platform. Since access to the filesystem is included in Node.js/Electron some additional APIs requiring filesystem access have also been included.

Supported platform, Node.js, and Electron versions

This package depends on unmanaged add-on binaries, and the add-on binaries are not cross-platform. At the moment we have support for

  • OS: Linux(x64) excluding Alpine, Windows(x64), Mac
  • Node.js version: 8 - 17
  • Electron version: 6 - 16

Installation will fail if your OS, Node.js or Electron version is not supported.

To install for Electron, runtime and target options are needed. For example, For Electron 6, we need to run npm i @pdftron/pdfnet-node --runtime=electron --target=6.0.0. Note that we need to use 6.0.0 for all Electron 6 versions.

Usage

Here is a code snippet to demonstrate how to use this package.

const { PDFNet } = require('@pdftron/pdfnet-node');  // you may need to set up NODE_PATH environment variable to make this work.

const main = async() => {
  const doc = await PDFNet.PDFDoc.create();
  const page = await doc.pageCreate();
  doc.pagePushBack(page);
  doc.save('blank.pdf', PDFNet.SDFDoc.SaveOptions.e_linearized);
};

// add your own license key as the second parameter, e.g. in place of 'YOUR_LICENSE_KEY'.
PDFNet.runWithCleanup(main, 'YOUR_LICENSE_KEY').catch(function(error) {
  console.log('Error: ' + JSON.stringify(error));
}).then(function(){ return PDFNet.shutdown(); });

There are some code samples in the @pdftron/pdfnet-node-samples package.

To get started please see the documentation at https://www.pdftron.com/documentation/nodejs/get-started/integration.

Licensing

Please go to https://www.pdftron.com/pws/get-key to obtain a demo license or https://www.pdftron.com/form/contact-sales to obtain a production key. For further information, please visit https://www.pdftron.com/licensing.