UNPKG

@pdfme/pdf-lib

Version:

Create and modify PDF files with JavaScript

51 lines 1.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const pako_1 = __importDefault(require("pako")); const errors_1 = require("../errors"); const PDFName_1 = __importDefault(require("../objects/PDFName")); const PDFStream_1 = __importDefault(require("../objects/PDFStream")); const utils_1 = require("../../utils"); class PDFFlateStream extends PDFStream_1.default { constructor(dict, encode) { super(dict); Object.defineProperty(this, "contentsCache", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "encode", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "computeContents", { enumerable: true, configurable: true, writable: true, value: () => { const unencodedContents = this.getUnencodedContents(); return this.encode ? pako_1.default.deflate(unencodedContents) : unencodedContents; } }); this.encode = encode; if (encode) dict.set(PDFName_1.default.of('Filter'), PDFName_1.default.of('FlateDecode')); this.contentsCache = utils_1.Cache.populatedBy(this.computeContents); } getContents() { return this.contentsCache.access(); } getContentsSize() { return this.contentsCache.access().length; } getUnencodedContents() { throw new errors_1.MethodNotImplementedError(this.constructor.name, 'getUnencodedContents'); } } exports.default = PDFFlateStream; //# sourceMappingURL=PDFFlateStream.js.map