UNPKG

@pdfme/pdf-lib

Version:

Create and modify PDF files with JavaScript

61 lines 2.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const PDFFlateStream_1 = __importDefault(require("./PDFFlateStream")); const CharCodes_1 = __importDefault(require("../syntax/CharCodes")); class PDFContentStream extends PDFFlateStream_1.default { constructor(dict, operators, encode = true) { super(dict, encode); Object.defineProperty(this, "operators", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.operators = operators; } push(...operators) { this.operators.push(...operators); } clone(context) { const operators = new Array(this.operators.length); for (let idx = 0, len = this.operators.length; idx < len; idx++) { operators[idx] = this.operators[idx].clone(context); } const { dict, encode } = this; return PDFContentStream.of(dict.clone(context), operators, encode); } getContentsString() { let value = ''; for (let idx = 0, len = this.operators.length; idx < len; idx++) { value += `${this.operators[idx]}\n`; } return value; } getUnencodedContents() { const buffer = new Uint8Array(this.getUnencodedContentsSize()); let offset = 0; for (let idx = 0, len = this.operators.length; idx < len; idx++) { offset += this.operators[idx].copyBytesInto(buffer, offset); buffer[offset++] = CharCodes_1.default.Newline; } return buffer; } getUnencodedContentsSize() { let size = 0; for (let idx = 0, len = this.operators.length; idx < len; idx++) { size += this.operators[idx].sizeInBytes() + 1; } return size; } } Object.defineProperty(PDFContentStream, "of", { enumerable: true, configurable: true, writable: true, value: (dict, operators, encode = true) => new PDFContentStream(dict, operators, encode) }); exports.default = PDFContentStream; //# sourceMappingURL=PDFContentStream.js.map