@pdfme/pdf-lib
Version:
Create and modify PDF files with JavaScript
132 lines • 4.5 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const PDFName_1 = __importDefault(require("../objects/PDFName"));
const PDFNumber_1 = __importDefault(require("../objects/PDFNumber"));
const PDFArray_1 = __importDefault(require("../objects/PDFArray"));
const PDFHexString_1 = __importDefault(require("../objects/PDFHexString"));
const PDFString_1 = __importDefault(require("../objects/PDFString"));
class AppearanceCharacteristics {
constructor(dict) {
Object.defineProperty(this, "dict", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.dict = dict;
}
R() {
const R = this.dict.lookup(PDFName_1.default.of('R'));
if (R instanceof PDFNumber_1.default)
return R;
return undefined;
}
BC() {
const BC = this.dict.lookup(PDFName_1.default.of('BC'));
if (BC instanceof PDFArray_1.default)
return BC;
return undefined;
}
BG() {
const BG = this.dict.lookup(PDFName_1.default.of('BG'));
if (BG instanceof PDFArray_1.default)
return BG;
return undefined;
}
CA() {
const CA = this.dict.lookup(PDFName_1.default.of('CA'));
if (CA instanceof PDFHexString_1.default || CA instanceof PDFString_1.default)
return CA;
return undefined;
}
RC() {
const RC = this.dict.lookup(PDFName_1.default.of('RC'));
if (RC instanceof PDFHexString_1.default || RC instanceof PDFString_1.default)
return RC;
return undefined;
}
AC() {
const AC = this.dict.lookup(PDFName_1.default.of('AC'));
if (AC instanceof PDFHexString_1.default || AC instanceof PDFString_1.default)
return AC;
return undefined;
}
getRotation() {
return this.R()?.asNumber();
}
getBorderColor() {
const BC = this.BC();
if (!BC)
return undefined;
const components = [];
for (let idx = 0, len = BC?.size(); idx < len; idx++) {
const component = BC.get(idx);
if (component instanceof PDFNumber_1.default)
components.push(component.asNumber());
}
return components;
}
getBackgroundColor() {
const BG = this.BG();
if (!BG)
return undefined;
const components = [];
for (let idx = 0, len = BG?.size(); idx < len; idx++) {
const component = BG.get(idx);
if (component instanceof PDFNumber_1.default)
components.push(component.asNumber());
}
return components;
}
getCaptions() {
const CA = this.CA();
const RC = this.RC();
const AC = this.AC();
return {
normal: CA?.decodeText(),
rollover: RC?.decodeText(),
down: AC?.decodeText(),
};
}
setRotation(rotation) {
const R = this.dict.context.obj(rotation);
this.dict.set(PDFName_1.default.of('R'), R);
}
setBorderColor(color) {
const BC = this.dict.context.obj(color);
this.dict.set(PDFName_1.default.of('BC'), BC);
}
setBackgroundColor(color) {
const BG = this.dict.context.obj(color);
this.dict.set(PDFName_1.default.of('BG'), BG);
}
setCaptions(captions) {
const CA = PDFHexString_1.default.fromText(captions.normal);
this.dict.set(PDFName_1.default.of('CA'), CA);
if (captions.rollover) {
const RC = PDFHexString_1.default.fromText(captions.rollover);
this.dict.set(PDFName_1.default.of('RC'), RC);
}
else {
this.dict.delete(PDFName_1.default.of('RC'));
}
if (captions.down) {
const AC = PDFHexString_1.default.fromText(captions.down);
this.dict.set(PDFName_1.default.of('AC'), AC);
}
else {
this.dict.delete(PDFName_1.default.of('AC'));
}
}
}
Object.defineProperty(AppearanceCharacteristics, "fromDict", {
enumerable: true,
configurable: true,
writable: true,
value: (dict) => new AppearanceCharacteristics(dict)
});
exports.default = AppearanceCharacteristics;
//# sourceMappingURL=AppearanceCharacteristics.js.map