UNPKG

pdfdataextract

Version:

Extract data from a pdf with pure javascript

57 lines 2.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PdfData = void 0; const pdfdataextractor_1 = require("./pdfdataextractor"); /** * the data of the pdf */ class PdfData { constructor(pages, text, fingerprint, outline, info, metadata, permissions) { if (pages != null) this.pages = pages; if (text != null) this.text = text; if (fingerprint != null) this.fingerprint = fingerprint; if (outline != null) this.outline = outline; if (info != null) this.info = info; if (metadata != null) this.metadata = metadata; if (permissions != null) this.permissions = permissions; } /** * get the data * * @param {Uint8Array} data - the binary data file * @param {PdfDataOptions} [options={}] - the options on how the data should be extracted * @returns {Promise<PdfData>} a promise that is resolved with a {PdfData} object with the extracted data */ static async extract(data, options = {}) { const extractor = await pdfdataextractor_1.PdfDataExtractor.get(data, { password: options.password, verbosity: options.verbosity, }); if (!options.get) options.get = {}; const pages = options.pages ? options.pages : options.max; let metadata = null; let info = null; if (options.get.metadata === undefined || options.get.metadata || options.get.info === undefined || options.get.info) { const rawMetadata = await extractor.getMetadata(); if (rawMetadata != null) { if (options.get.info === undefined || options.get.info) info = rawMetadata.info; if (options.get.metadata === undefined || options.get.metadata) metadata = rawMetadata.metadata; } } const pdfdata = new PdfData(options.get.pages === undefined || options.get.pages ? extractor.pages : null, options.get.text === undefined || options.get.text ? await extractor.getText(pages, options.sort) : null, options.get.fingerprint === undefined || options.get.fingerprint ? extractor.fingerprint : null, options.get.outline === undefined || options.get.outline ? await extractor.getOutline() : null, info, metadata, options.get.permissions === undefined || options.get.permissions ? await extractor.getPermissions() : null); extractor.close(); return pdfdata; } } exports.PdfData = PdfData; //# sourceMappingURL=pdfdata.js.map