pdfdataextract
Version:
Extract data from a pdf with pure javascript
57 lines • 2.62 kB
JavaScript
;
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