## @pdftron/cad

This package is meant to be used in conjunction with @pdftron/pdfnet-node to support CAD conversion from Apryse. Follow this guide for more info on usage.
https://docs.apryse.com/documentation/core/guides/features/conversion/convert-cad-to-pdf/

For further reading checkout our blog post on the project.
https://apryse.com/blog/conversion/converting-cad-to-pdf

#### 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 (excluding Alpine), Windows(x64)
  * **Node.js version**: 10 - 24
  * **Electron version**: 6 - 30
 
Installation will fail if your OS, Node.js or Electron version is not supported.

#### Usage

Add the `@pdftron/cad` package as a dependency in your `package.json`

Inside of your @pdftron/pdfnet-node code after initialization you should include the following line:

```javascript
await PDFNet.addResourceSearchPath("./node_modules/@pdftron/cad/lib")
```

Here is an example of data extraction being used with this line.

```javascript
const { PDFNet } = require('@pdftron/pdfnet-node');
const licenseKey = "Insert license key here"
const inputFile = "Insert input file location here"

async function main() {
        // This is where we import data-extraction
        await PDFNet.addResourceSearchPath("./node_modules/@pdftron/cad/lib")
        
        const doc = await PDFNet.PDFDoc.create();

        await PDFNet.Convert.fromCAD(doc, inputFile);
        
        const outputFile = 'out/converted_cad.pdf';
        await doc.save(outputFile, PDFNet.SDFDoc.SaveOptions.e_linearized);
}

PDFNet.runWithCleanup(main, licenseKey).catch(function (error) {
    console.log('Error: ' + JSON.stringify(error));
}).then(function () { return PDFNet.shutdown(); });;

```

A larger code sample can be found [here](https://docs.apryse.com/documentation/samples/node/js/CAD2PDFTest/)

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

#### Licensing
Please go to https://docs.apryse.com/documentation/core/info/license/ to obtain a demo or production license.
