### Install Package Source: https://www.npmjs.com/package/pdf-extractor?activeTab=dependencies Command to install the library via npm. ```bash npm i pdf-extractor ``` -------------------------------- ### Implement Custom Renderer Source: https://www.npmjs.com/package/pdf-extractor?activeTab=dependencies Extend the library by creating custom writers and renderers, such as this example for generating JPG files using the Canvas renderer. ```javascript const PdfExtractor = require('pdf-extractor').PdfExtractor; const CanvasRenderer = require('pdf-extractor').CanvasRenderer; const SvgRenderer = require('pdf-extractor').SvgRenderer; const FileWriter = require('pdf-extractor').FileWriter; class JPGWriter extends FileWriter { getFilePathForPage(page) { return super.getPagePath(page.pageNumber, 'png'); } writeCanvasPage(page, viewport, canvas) { return this.writeStreamToFile(canvas.jpgStream(), this.getFilePathForPage(page)) } } class JPGCanvasRenderer extends CanvasRenderer { getWriters(writerOptions) { let writers = super.getWriters(writerOptions); writers.push(new JPGWriter(this.outputDir, writerOptions)); return writers; } } let outputDir = '/path/to/output', pdfExtractor = new PdfExtractor(outputDir, { renderers: [ new JPGCanvasRenderer(outputDir, rendererOptions), new SvgRenderer(outputDir, rendererOptions) ] }); pdfExtractor.parse('/path/to/dummy.pdf').then(function () { console.log('# End of Document'); }).catch(function (err) { console.error('Error: ' + err); }); ``` -------------------------------- ### Initialize Default Extractor Source: https://www.npmjs.com/package/pdf-extractor?activeTab=dependencies Use the default PdfExtractor to generate PNG, HTML, and text files from a specified page range of a PDF. ```javascript const PdfExtractor = require('pdf-extractor').PdfExtractor; let outputDir = '/path/to/output', pdfExtractor = new PdfExtractor(outputDir, { viewportScale: (width, height) => { //dynamic zoom based on rendering a page to a fixed page size if (width > height) { //landscape: 1100px wide return 1100 / width; } //portrait: 800px wide return 800 / width; }, pageRange: [1,5], }); pdfExtractor.parse('/path/to/dummy.pdf').then(function () { console.log('# End of Document'); }).catch(function (err) { console.error('Error: ' + err); }); ``` -------------------------------- ### Generated File List Source: https://www.npmjs.com/package/pdf-extractor?activeTab=dependencies The expected output files generated by the default extractor configuration. ```text info.json page-1.png page-2.png page-3.png page-4.png page-5.png stylesheet.css text-1.html text-1.txt text-2.html text-2.txt text-3.html text-3.txt text-4.html text-4.txt text-5.html text-5.txt ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.