first commit
This commit is contained in:
4
node_modules/pdf-lib/cjs/core/embedders/CMap.d.ts
generated
vendored
Normal file
4
node_modules/pdf-lib/cjs/core/embedders/CMap.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { Glyph } from "../../types/fontkit";
|
||||
/** `glyphs` should be an array of unique glyphs */
|
||||
export declare const createCmap: (glyphs: Glyph[], glyphId: (g?: Glyph | undefined) => number) => string;
|
||||
//# sourceMappingURL=CMap.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/CMap.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/CMap.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CMap.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/CMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,4BAA0B;AAa1C,mDAAmD;AACnD,eAAO,MAAM,UAAU,WAAY,KAAK,EAAE,sCAA0B,MAAM,WAUzE,CAAC"}
|
||||
43
node_modules/pdf-lib/cjs/core/embedders/CMap.js
generated
vendored
Normal file
43
node_modules/pdf-lib/cjs/core/embedders/CMap.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createCmap = void 0;
|
||||
var utils_1 = require("../../utils");
|
||||
var unicode_1 = require("../../utils/unicode");
|
||||
/** `glyphs` should be an array of unique glyphs */
|
||||
exports.createCmap = function (glyphs, glyphId) {
|
||||
var bfChars = new Array(glyphs.length);
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
var glyph = glyphs[idx];
|
||||
var id = cmapHexFormat(cmapHexString(glyphId(glyph)));
|
||||
var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat));
|
||||
bfChars[idx] = [id, unicode];
|
||||
}
|
||||
return fillCmapTemplate(bfChars);
|
||||
};
|
||||
/* =============================== Templates ================================ */
|
||||
var fillCmapTemplate = function (bfChars) { return "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange\n" + bfChars.length + " beginbfchar\n" + bfChars.map(function (_a) {
|
||||
var glyphId = _a[0], codePoint = _a[1];
|
||||
return glyphId + " " + codePoint;
|
||||
}).join('\n') + "\nendbfchar\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; };
|
||||
/* =============================== Utilities ================================ */
|
||||
var cmapHexFormat = function () {
|
||||
var values = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
values[_i] = arguments[_i];
|
||||
}
|
||||
return "<" + values.join('') + ">";
|
||||
};
|
||||
var cmapHexString = function (value) { return utils_1.toHexStringOfMinLength(value, 4); };
|
||||
var cmapCodePointFormat = function (codePoint) {
|
||||
if (unicode_1.isWithinBMP(codePoint))
|
||||
return cmapHexString(codePoint);
|
||||
if (unicode_1.hasSurrogates(codePoint)) {
|
||||
var hs = unicode_1.highSurrogate(codePoint);
|
||||
var ls = unicode_1.lowSurrogate(codePoint);
|
||||
return "" + cmapHexString(hs) + cmapHexString(ls);
|
||||
}
|
||||
var hex = utils_1.toHexString(codePoint);
|
||||
var msg = "0x" + hex + " is not a valid UTF-8 or UTF-16 codepoint.";
|
||||
throw new Error(msg);
|
||||
};
|
||||
//# sourceMappingURL=CMap.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/CMap.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/CMap.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CMap.js","sourceRoot":"","sources":["../../../src/core/embedders/CMap.ts"],"names":[],"mappings":";;;AAEA,qCAAgE;AAChE,+CAK2B;AAK3B,mDAAmD;AACtC,QAAA,UAAU,GAAG,UAAC,MAAe,EAAE,OAA8B;IACxE,IAAM,OAAO,GAAa,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;QACvD,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAM,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,IAAM,OAAO,GAAG,aAAa,eAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KAC9B;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,gFAAgF;AAEhF,IAAM,gBAAgB,GAAG,UAAC,OAAiB,IAAK,OAAA,qQAc9C,OAAO,CAAC,MAAM,sBACd,OAAO,CAAC,GAAG,CAAC,UAAC,EAAoB;QAAnB,OAAO,QAAA,EAAE,SAAS,QAAA;IAAM,OAAG,OAAO,SAAI,SAAW;AAAzB,CAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kFAM5E,EArB+C,CAqB/C,CAAC;AAEF,gFAAgF;AAEhF,IAAM,aAAa,GAAG;IAAC,gBAAmB;SAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;QAAnB,2BAAmB;;IAAK,OAAA,MAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAG;AAAtB,CAAsB,CAAC;AAEtE,IAAM,aAAa,GAAG,UAAC,KAAa,IAAK,OAAA,8BAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAhC,CAAgC,CAAC;AAE1E,IAAM,mBAAmB,GAAG,UAAC,SAAiB;IAC5C,IAAI,qBAAW,CAAC,SAAS,CAAC;QAAE,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5D,IAAI,uBAAa,CAAC,SAAS,CAAC,EAAE;QAC5B,IAAM,EAAE,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC;QACpC,IAAM,EAAE,GAAG,sBAAY,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,KAAG,aAAa,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAG,CAAC;KACnD;IAED,IAAM,GAAG,GAAG,mBAAW,CAAC,SAAS,CAAC,CAAC;IACnC,IAAM,GAAG,GAAG,OAAK,GAAG,+CAA4C,CAAC;IACjE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC"}
|
||||
45
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.d.ts
generated
vendored
Normal file
45
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
import { Font, Fontkit, Glyph, TypeFeatures } from "../../types/fontkit";
|
||||
import PDFHexString from "../objects/PDFHexString";
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
import PDFContext from "../PDFContext";
|
||||
import { Cache } from "../../utils";
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee
|
||||
*/
|
||||
declare class CustomFontEmbedder {
|
||||
static for(fontkit: Fontkit, fontData: Uint8Array, customName?: string, fontFeatures?: TypeFeatures): Promise<CustomFontEmbedder>;
|
||||
readonly font: Font;
|
||||
readonly scale: number;
|
||||
readonly fontData: Uint8Array;
|
||||
readonly fontName: string;
|
||||
readonly customName: string | undefined;
|
||||
readonly fontFeatures: TypeFeatures | undefined;
|
||||
protected baseFontName: string;
|
||||
protected glyphCache: Cache<Glyph[]>;
|
||||
protected constructor(font: Font, fontData: Uint8Array, customName?: string, fontFeatures?: TypeFeatures);
|
||||
/**
|
||||
* Encode the JavaScript string into this font. (JavaScript encodes strings in
|
||||
* Unicode, but embedded fonts use their own custom encodings)
|
||||
*/
|
||||
encodeText(text: string): PDFHexString;
|
||||
widthOfTextAtSize(text: string, size: number): number;
|
||||
heightOfFontAtSize(size: number, options?: {
|
||||
descender?: boolean;
|
||||
}): number;
|
||||
sizeOfFontAtHeight(height: number): number;
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
protected embedFontDict(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
protected isCFF(): boolean;
|
||||
protected embedCIDFontDict(context: PDFContext): Promise<PDFRef>;
|
||||
protected embedFontDescriptor(context: PDFContext): Promise<PDFRef>;
|
||||
protected serializeFont(): Promise<Uint8Array>;
|
||||
protected embedFontStream(context: PDFContext): Promise<PDFRef>;
|
||||
protected embedUnicodeCmap(context: PDFContext): PDFRef;
|
||||
protected glyphId(glyph?: Glyph): number;
|
||||
protected computeWidths(): (number | number[])[];
|
||||
private allGlyphsInFontSortedById;
|
||||
}
|
||||
export default CustomFontEmbedder;
|
||||
//# sourceMappingURL=CustomFontEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CustomFontEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/CustomFontEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,4BAA0B;AAIvE,OAAO,YAAY,gCAAsC;AACzD,OAAO,MAAM,0BAAgC;AAE7C,OAAO,UAAU,sBAA4B;AAC7C,OAAO,EAEL,KAAK,EAGN,oBAAkB;AAEnB;;;;GAIG;AACH,cAAM,kBAAkB;WACT,GAAG,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,YAAY;IAM7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IAEhD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAErC,SAAS,aACP,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,YAAY;IAa7B;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAWtC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAUrD,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,MAAM;IAaT,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAO1C,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAMpD,aAAa,CAC3B,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAqBlB,SAAS,CAAC,KAAK,IAAI,OAAO;cAIV,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;cAoBtD,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;cA4BzD,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;cAIpC,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAMvD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAIxC,SAAS,CAAC,aAAa,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE;IA6BhD,OAAO,CAAC,yBAAyB,CAO/B;CACH;AAED,eAAe,kBAAkB,CAAC"}
|
||||
240
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.js
generated
vendored
Normal file
240
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,240 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var CMap_1 = require("./CMap");
|
||||
var FontFlags_1 = require("./FontFlags");
|
||||
var PDFHexString_1 = tslib_1.__importDefault(require("../objects/PDFHexString"));
|
||||
var PDFString_1 = tslib_1.__importDefault(require("../objects/PDFString"));
|
||||
var utils_1 = require("../../utils");
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee
|
||||
*/
|
||||
var CustomFontEmbedder = /** @class */ (function () {
|
||||
function CustomFontEmbedder(font, fontData, customName, fontFeatures) {
|
||||
var _this = this;
|
||||
this.allGlyphsInFontSortedById = function () {
|
||||
var glyphs = new Array(_this.font.characterSet.length);
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
var codePoint = _this.font.characterSet[idx];
|
||||
glyphs[idx] = _this.font.glyphForCodePoint(codePoint);
|
||||
}
|
||||
return utils_1.sortedUniq(glyphs.sort(utils_1.byAscendingId), function (g) { return g.id; });
|
||||
};
|
||||
this.font = font;
|
||||
this.scale = 1000 / this.font.unitsPerEm;
|
||||
this.fontData = fontData;
|
||||
this.fontName = this.font.postscriptName || 'Font';
|
||||
this.customName = customName;
|
||||
this.fontFeatures = fontFeatures;
|
||||
this.baseFontName = '';
|
||||
this.glyphCache = utils_1.Cache.populatedBy(this.allGlyphsInFontSortedById);
|
||||
}
|
||||
CustomFontEmbedder.for = function (fontkit, fontData, customName, fontFeatures) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var font;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, fontkit.create(fontData)];
|
||||
case 1:
|
||||
font = _a.sent();
|
||||
return [2 /*return*/, new CustomFontEmbedder(font, fontData, customName, fontFeatures)];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
/**
|
||||
* Encode the JavaScript string into this font. (JavaScript encodes strings in
|
||||
* Unicode, but embedded fonts use their own custom encodings)
|
||||
*/
|
||||
CustomFontEmbedder.prototype.encodeText = function (text) {
|
||||
var glyphs = this.font.layout(text, this.fontFeatures).glyphs;
|
||||
var hexCodes = new Array(glyphs.length);
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
hexCodes[idx] = utils_1.toHexStringOfMinLength(glyphs[idx].id, 4);
|
||||
}
|
||||
return PDFHexString_1.default.of(hexCodes.join(''));
|
||||
};
|
||||
// The advanceWidth takes into account kerning automatically, so we don't
|
||||
// have to do that manually like we do for the standard fonts.
|
||||
CustomFontEmbedder.prototype.widthOfTextAtSize = function (text, size) {
|
||||
var glyphs = this.font.layout(text, this.fontFeatures).glyphs;
|
||||
var totalWidth = 0;
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
totalWidth += glyphs[idx].advanceWidth * this.scale;
|
||||
}
|
||||
var scale = size / 1000;
|
||||
return totalWidth * scale;
|
||||
};
|
||||
CustomFontEmbedder.prototype.heightOfFontAtSize = function (size, options) {
|
||||
if (options === void 0) { options = {}; }
|
||||
var _a = options.descender, descender = _a === void 0 ? true : _a;
|
||||
var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox;
|
||||
var yTop = (ascent || bbox.maxY) * this.scale;
|
||||
var yBottom = (descent || bbox.minY) * this.scale;
|
||||
var height = yTop - yBottom;
|
||||
if (!descender)
|
||||
height -= Math.abs(descent) || 0;
|
||||
return (height / 1000) * size;
|
||||
};
|
||||
CustomFontEmbedder.prototype.sizeOfFontAtHeight = function (height) {
|
||||
var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox;
|
||||
var yTop = (ascent || bbox.maxY) * this.scale;
|
||||
var yBottom = (descent || bbox.minY) * this.scale;
|
||||
return (1000 * height) / (yTop - yBottom);
|
||||
};
|
||||
CustomFontEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
this.baseFontName =
|
||||
this.customName || context.addRandomSuffix(this.fontName);
|
||||
return this.embedFontDict(context, ref);
|
||||
};
|
||||
CustomFontEmbedder.prototype.embedFontDict = function (context, ref) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var cidFontDictRef, unicodeCMapRef, fontDict;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.embedCIDFontDict(context)];
|
||||
case 1:
|
||||
cidFontDictRef = _a.sent();
|
||||
unicodeCMapRef = this.embedUnicodeCmap(context);
|
||||
fontDict = context.obj({
|
||||
Type: 'Font',
|
||||
Subtype: 'Type0',
|
||||
BaseFont: this.baseFontName,
|
||||
Encoding: 'Identity-H',
|
||||
DescendantFonts: [cidFontDictRef],
|
||||
ToUnicode: unicodeCMapRef,
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, fontDict);
|
||||
return [2 /*return*/, ref];
|
||||
}
|
||||
else {
|
||||
return [2 /*return*/, context.register(fontDict)];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
CustomFontEmbedder.prototype.isCFF = function () {
|
||||
return this.font.cff;
|
||||
};
|
||||
CustomFontEmbedder.prototype.embedCIDFontDict = function (context) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var fontDescriptorRef, cidFontDict;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.embedFontDescriptor(context)];
|
||||
case 1:
|
||||
fontDescriptorRef = _a.sent();
|
||||
cidFontDict = context.obj({
|
||||
Type: 'Font',
|
||||
Subtype: this.isCFF() ? 'CIDFontType0' : 'CIDFontType2',
|
||||
CIDToGIDMap: 'Identity',
|
||||
BaseFont: this.baseFontName,
|
||||
CIDSystemInfo: {
|
||||
Registry: PDFString_1.default.of('Adobe'),
|
||||
Ordering: PDFString_1.default.of('Identity'),
|
||||
Supplement: 0,
|
||||
},
|
||||
FontDescriptor: fontDescriptorRef,
|
||||
W: this.computeWidths(),
|
||||
});
|
||||
return [2 /*return*/, context.register(cidFontDict)];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
CustomFontEmbedder.prototype.embedFontDescriptor = function (context) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var fontStreamRef, scale, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor;
|
||||
var _c;
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0: return [4 /*yield*/, this.embedFontStream(context)];
|
||||
case 1:
|
||||
fontStreamRef = _d.sent();
|
||||
scale = this.scale;
|
||||
_a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight;
|
||||
_b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY;
|
||||
fontDescriptor = context.obj((_c = {
|
||||
Type: 'FontDescriptor',
|
||||
FontName: this.baseFontName,
|
||||
Flags: FontFlags_1.deriveFontFlags(this.font),
|
||||
FontBBox: [minX * scale, minY * scale, maxX * scale, maxY * scale],
|
||||
ItalicAngle: italicAngle,
|
||||
Ascent: ascent * scale,
|
||||
Descent: descent * scale,
|
||||
CapHeight: (capHeight || ascent) * scale,
|
||||
XHeight: (xHeight || 0) * scale,
|
||||
// Not sure how to compute/find this, nor is anybody else really:
|
||||
// https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font
|
||||
StemV: 0
|
||||
},
|
||||
_c[this.isCFF() ? 'FontFile3' : 'FontFile2'] = fontStreamRef,
|
||||
_c));
|
||||
return [2 /*return*/, context.register(fontDescriptor)];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
CustomFontEmbedder.prototype.serializeFont = function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, this.fontData];
|
||||
});
|
||||
});
|
||||
};
|
||||
CustomFontEmbedder.prototype.embedFontStream = function (context) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var fontStream, _a, _b;
|
||||
return tslib_1.__generator(this, function (_c) {
|
||||
switch (_c.label) {
|
||||
case 0:
|
||||
_b = (_a = context).flateStream;
|
||||
return [4 /*yield*/, this.serializeFont()];
|
||||
case 1:
|
||||
fontStream = _b.apply(_a, [_c.sent(), {
|
||||
Subtype: this.isCFF() ? 'CIDFontType0C' : undefined,
|
||||
}]);
|
||||
return [2 /*return*/, context.register(fontStream)];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
CustomFontEmbedder.prototype.embedUnicodeCmap = function (context) {
|
||||
var cmap = CMap_1.createCmap(this.glyphCache.access(), this.glyphId.bind(this));
|
||||
var cmapStream = context.flateStream(cmap);
|
||||
return context.register(cmapStream);
|
||||
};
|
||||
CustomFontEmbedder.prototype.glyphId = function (glyph) {
|
||||
return glyph ? glyph.id : -1;
|
||||
};
|
||||
CustomFontEmbedder.prototype.computeWidths = function () {
|
||||
var glyphs = this.glyphCache.access();
|
||||
var widths = [];
|
||||
var currSection = [];
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
var currGlyph = glyphs[idx];
|
||||
var prevGlyph = glyphs[idx - 1];
|
||||
var currGlyphId = this.glyphId(currGlyph);
|
||||
var prevGlyphId = this.glyphId(prevGlyph);
|
||||
if (idx === 0) {
|
||||
widths.push(currGlyphId);
|
||||
}
|
||||
else if (currGlyphId - prevGlyphId !== 1) {
|
||||
widths.push(currSection);
|
||||
widths.push(currGlyphId);
|
||||
currSection = [];
|
||||
}
|
||||
currSection.push(currGlyph.advanceWidth * this.scale);
|
||||
}
|
||||
widths.push(currSection);
|
||||
return widths;
|
||||
};
|
||||
return CustomFontEmbedder;
|
||||
}());
|
||||
exports.default = CustomFontEmbedder;
|
||||
//# sourceMappingURL=CustomFontEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontEmbedder.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
21
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts
generated
vendored
Normal file
21
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import { Fontkit, Glyph, TypeFeatures } from "../../types/fontkit";
|
||||
import CustomFontEmbedder from "./CustomFontEmbedder";
|
||||
import PDFHexString from "../objects/PDFHexString";
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee
|
||||
*/
|
||||
declare class CustomFontSubsetEmbedder extends CustomFontEmbedder {
|
||||
static for(fontkit: Fontkit, fontData: Uint8Array, customFontName?: string, fontFeatures?: TypeFeatures): Promise<CustomFontSubsetEmbedder>;
|
||||
private readonly subset;
|
||||
private readonly glyphs;
|
||||
private readonly glyphIdMap;
|
||||
private constructor();
|
||||
encodeText(text: string): PDFHexString;
|
||||
protected isCFF(): boolean;
|
||||
protected glyphId(glyph?: Glyph): number;
|
||||
protected serializeFont(): Promise<Uint8Array>;
|
||||
}
|
||||
export default CustomFontSubsetEmbedder;
|
||||
//# sourceMappingURL=CustomFontSubsetEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CustomFontSubsetEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/CustomFontSubsetEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,KAAK,EAAU,YAAY,EAAE,4BAA0B;AAE/E,OAAO,kBAAkB,6BAA8C;AACvE,OAAO,YAAY,gCAAsC;AAGzD;;;;GAIG;AACH,cAAM,wBAAyB,SAAQ,kBAAkB;WAC1C,GAAG,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,YAAY;IAW7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,OAAO;IAcP,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAkBtC,SAAS,CAAC,KAAK,IAAI,OAAO;IAI1B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;IAIxC,SAAS,CAAC,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;CAU/C;AAED,eAAe,wBAAwB,CAAC"}
|
||||
68
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.js
generated
vendored
Normal file
68
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var CustomFontEmbedder_1 = tslib_1.__importDefault(require("./CustomFontEmbedder"));
|
||||
var PDFHexString_1 = tslib_1.__importDefault(require("../objects/PDFHexString"));
|
||||
var utils_1 = require("../../utils");
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee
|
||||
*/
|
||||
var CustomFontSubsetEmbedder = /** @class */ (function (_super) {
|
||||
tslib_1.__extends(CustomFontSubsetEmbedder, _super);
|
||||
function CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures) {
|
||||
var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this;
|
||||
_this.subset = _this.font.createSubset();
|
||||
_this.glyphs = [];
|
||||
_this.glyphCache = utils_1.Cache.populatedBy(function () { return _this.glyphs; });
|
||||
_this.glyphIdMap = new Map();
|
||||
return _this;
|
||||
}
|
||||
CustomFontSubsetEmbedder.for = function (fontkit, fontData, customFontName, fontFeatures) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var font;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, fontkit.create(fontData)];
|
||||
case 1:
|
||||
font = _a.sent();
|
||||
return [2 /*return*/, new CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures)];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
CustomFontSubsetEmbedder.prototype.encodeText = function (text) {
|
||||
var glyphs = this.font.layout(text, this.fontFeatures).glyphs;
|
||||
var hexCodes = new Array(glyphs.length);
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
var glyph = glyphs[idx];
|
||||
var subsetGlyphId = this.subset.includeGlyph(glyph);
|
||||
this.glyphs[subsetGlyphId - 1] = glyph;
|
||||
this.glyphIdMap.set(glyph.id, subsetGlyphId);
|
||||
hexCodes[idx] = utils_1.toHexStringOfMinLength(subsetGlyphId, 4);
|
||||
}
|
||||
this.glyphCache.invalidate();
|
||||
return PDFHexString_1.default.of(hexCodes.join(''));
|
||||
};
|
||||
CustomFontSubsetEmbedder.prototype.isCFF = function () {
|
||||
return this.subset.cff;
|
||||
};
|
||||
CustomFontSubsetEmbedder.prototype.glyphId = function (glyph) {
|
||||
return glyph ? this.glyphIdMap.get(glyph.id) : -1;
|
||||
};
|
||||
CustomFontSubsetEmbedder.prototype.serializeFont = function () {
|
||||
var _this = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
var parts = [];
|
||||
_this.subset
|
||||
.encodeStream()
|
||||
.on('data', function (bytes) { return parts.push(bytes); })
|
||||
.on('end', function () { return resolve(utils_1.mergeUint8Arrays(parts)); })
|
||||
.on('error', function (err) { return reject(err); });
|
||||
});
|
||||
};
|
||||
return CustomFontSubsetEmbedder;
|
||||
}(CustomFontEmbedder_1.default));
|
||||
exports.default = CustomFontSubsetEmbedder;
|
||||
//# sourceMappingURL=CustomFontSubsetEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/CustomFontSubsetEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CustomFontSubsetEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/CustomFontSubsetEmbedder.ts"],"names":[],"mappings":"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"}
|
||||
34
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.d.ts
generated
vendored
Normal file
34
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
import PDFContext from "../PDFContext";
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
/**
|
||||
* From the PDF-A3 specification, section **3.1. Requirements - General**.
|
||||
* See:
|
||||
* * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf
|
||||
*/
|
||||
export declare enum AFRelationship {
|
||||
Source = "Source",
|
||||
Data = "Data",
|
||||
Alternative = "Alternative",
|
||||
Supplement = "Supplement",
|
||||
EncryptedPayload = "EncryptedPayload",
|
||||
FormData = "EncryptedPayload",
|
||||
Schema = "Schema",
|
||||
Unspecified = "Unspecified"
|
||||
}
|
||||
export interface EmbeddedFileOptions {
|
||||
mimeType?: string;
|
||||
description?: string;
|
||||
creationDate?: Date;
|
||||
modificationDate?: Date;
|
||||
afRelationship?: AFRelationship;
|
||||
}
|
||||
declare class FileEmbedder {
|
||||
static for(bytes: Uint8Array, fileName: string, options?: EmbeddedFileOptions): FileEmbedder;
|
||||
private readonly fileData;
|
||||
readonly fileName: string;
|
||||
readonly options: EmbeddedFileOptions;
|
||||
private constructor();
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
}
|
||||
export default FileEmbedder;
|
||||
//# sourceMappingURL=FileEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FileEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/FileEmbedder.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,sBAA4B;AAC7C,OAAO,MAAM,0BAAgC;AAE7C;;;;GAIG;AACH,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,QAAQ,qBAAqB;IAC7B,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,cAAM,YAAY;IAChB,MAAM,CAAC,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,mBAAwB;IAKnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEtC,OAAO;IAUD,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwC3E;AAED,eAAe,YAAY,CAAC"}
|
||||
75
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.js
generated
vendored
Normal file
75
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AFRelationship = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var PDFString_1 = tslib_1.__importDefault(require("../objects/PDFString"));
|
||||
var PDFHexString_1 = tslib_1.__importDefault(require("../objects/PDFHexString"));
|
||||
/**
|
||||
* From the PDF-A3 specification, section **3.1. Requirements - General**.
|
||||
* See:
|
||||
* * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf
|
||||
*/
|
||||
var AFRelationship;
|
||||
(function (AFRelationship) {
|
||||
AFRelationship["Source"] = "Source";
|
||||
AFRelationship["Data"] = "Data";
|
||||
AFRelationship["Alternative"] = "Alternative";
|
||||
AFRelationship["Supplement"] = "Supplement";
|
||||
AFRelationship["EncryptedPayload"] = "EncryptedPayload";
|
||||
AFRelationship["FormData"] = "EncryptedPayload";
|
||||
AFRelationship["Schema"] = "Schema";
|
||||
AFRelationship["Unspecified"] = "Unspecified";
|
||||
})(AFRelationship = exports.AFRelationship || (exports.AFRelationship = {}));
|
||||
var FileEmbedder = /** @class */ (function () {
|
||||
function FileEmbedder(fileData, fileName, options) {
|
||||
if (options === void 0) { options = {}; }
|
||||
this.fileData = fileData;
|
||||
this.fileName = fileName;
|
||||
this.options = options;
|
||||
}
|
||||
FileEmbedder.for = function (bytes, fileName, options) {
|
||||
if (options === void 0) { options = {}; }
|
||||
return new FileEmbedder(bytes, fileName, options);
|
||||
};
|
||||
FileEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict;
|
||||
return tslib_1.__generator(this, function (_b) {
|
||||
_a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship;
|
||||
embeddedFileStream = context.flateStream(this.fileData, {
|
||||
Type: 'EmbeddedFile',
|
||||
Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : undefined,
|
||||
Params: {
|
||||
Size: this.fileData.length,
|
||||
CreationDate: creationDate
|
||||
? PDFString_1.default.fromDate(creationDate)
|
||||
: undefined,
|
||||
ModDate: modificationDate
|
||||
? PDFString_1.default.fromDate(modificationDate)
|
||||
: undefined,
|
||||
},
|
||||
});
|
||||
embeddedFileStreamRef = context.register(embeddedFileStream);
|
||||
fileSpecDict = context.obj({
|
||||
Type: 'Filespec',
|
||||
F: PDFString_1.default.of(this.fileName),
|
||||
UF: PDFHexString_1.default.fromText(this.fileName),
|
||||
EF: { F: embeddedFileStreamRef },
|
||||
Desc: description ? PDFHexString_1.default.fromText(description) : undefined,
|
||||
AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : undefined,
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, fileSpecDict);
|
||||
return [2 /*return*/, ref];
|
||||
}
|
||||
else {
|
||||
return [2 /*return*/, context.register(fileSpecDict)];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
});
|
||||
});
|
||||
};
|
||||
return FileEmbedder;
|
||||
}());
|
||||
exports.default = FileEmbedder;
|
||||
//# sourceMappingURL=FileEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/FileEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FileEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/FileEmbedder.ts"],"names":[],"mappings":";;;;AAAA,2EAAmD;AACnD,iFAAyD;AAIzD;;;;GAIG;AACH,IAAY,cASX;AATD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;IACzB,uDAAqC,CAAA;IACrC,+CAA6B,CAAA;IAC7B,mCAAiB,CAAA;IACjB,6CAA2B,CAAA;AAC7B,CAAC,EATW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QASzB;AAUD;IAaE,sBACE,QAAoB,EACpB,QAAgB,EAChB,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QAEjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IApBM,gBAAG,GAAV,UACE,KAAiB,EACjB,QAAgB,EAChB,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QAEjC,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAgBK,uCAAgB,GAAtB,UAAuB,OAAmB,EAAE,GAAY;;;;gBAChD,KAMF,IAAI,CAAC,OAAO,EALd,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,gBAAgB,sBAAA,EAChB,cAAc,oBAAA,CACC;gBAEX,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC5D,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS;oBAC9B,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;wBAC1B,YAAY,EAAE,YAAY;4BACxB,CAAC,CAAC,mBAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;4BAClC,CAAC,CAAC,SAAS;wBACb,OAAO,EAAE,gBAAgB;4BACvB,CAAC,CAAC,mBAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC;4BACtC,CAAC,CAAC,SAAS;qBACd;iBACF,CAAC,CAAC;gBACG,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAE7D,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;oBAC/B,IAAI,EAAE,UAAU;oBAChB,CAAC,EAAE,mBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC9B,EAAE,EAAE,sBAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACxC,EAAE,EAAE,EAAE,CAAC,EAAE,qBAAqB,EAAE;oBAChC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,sBAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClE,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS;iBAC5C,CAAC,CAAC;gBAEH,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBAClC,sBAAO,GAAG,EAAC;iBACZ;qBAAM;oBACL,sBAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC;iBACvC;;;;KACF;IACH,mBAAC;AAAD,CAAC,AA/DD,IA+DC;AAED,kBAAe,YAAY,CAAC"}
|
||||
14
node_modules/pdf-lib/cjs/core/embedders/FontFlags.d.ts
generated
vendored
Normal file
14
node_modules/pdf-lib/cjs/core/embedders/FontFlags.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import { Font } from "../../types/fontkit";
|
||||
export interface FontFlagOptions {
|
||||
fixedPitch?: boolean;
|
||||
serif?: boolean;
|
||||
symbolic?: boolean;
|
||||
script?: boolean;
|
||||
nonsymbolic?: boolean;
|
||||
italic?: boolean;
|
||||
allCap?: boolean;
|
||||
smallCap?: boolean;
|
||||
forceBold?: boolean;
|
||||
}
|
||||
export declare const deriveFontFlags: (font: Font) => number;
|
||||
//# sourceMappingURL=FontFlags.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/FontFlags.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/FontFlags.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FontFlags.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/FontFlags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,4BAA0B;AAEzC,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsBD,eAAO,MAAM,eAAe,SAAU,IAAI,KAAG,MAU5C,CAAC"}
|
||||
40
node_modules/pdf-lib/cjs/core/embedders/FontFlags.js
generated
vendored
Normal file
40
node_modules/pdf-lib/cjs/core/embedders/FontFlags.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.deriveFontFlags = void 0;
|
||||
// prettier-ignore
|
||||
var makeFontFlags = function (options) {
|
||||
var flags = 0;
|
||||
var flipBit = function (bit) { flags |= (1 << (bit - 1)); };
|
||||
if (options.fixedPitch)
|
||||
flipBit(1);
|
||||
if (options.serif)
|
||||
flipBit(2);
|
||||
if (options.symbolic)
|
||||
flipBit(3);
|
||||
if (options.script)
|
||||
flipBit(4);
|
||||
if (options.nonsymbolic)
|
||||
flipBit(6);
|
||||
if (options.italic)
|
||||
flipBit(7);
|
||||
if (options.allCap)
|
||||
flipBit(17);
|
||||
if (options.smallCap)
|
||||
flipBit(18);
|
||||
if (options.forceBold)
|
||||
flipBit(19);
|
||||
return flags;
|
||||
};
|
||||
// From: https://github.com/foliojs/pdfkit/blob/83f5f7243172a017adcf6a7faa5547c55982c57b/lib/font/embedded.js#L123-L129
|
||||
exports.deriveFontFlags = function (font) {
|
||||
var familyClass = font['OS/2'] ? font['OS/2'].sFamilyClass : 0;
|
||||
var flags = makeFontFlags({
|
||||
fixedPitch: font.post.isFixedPitch,
|
||||
serif: 1 <= familyClass && familyClass <= 7,
|
||||
symbolic: true,
|
||||
script: familyClass === 10,
|
||||
italic: font.head.macStyle.italic,
|
||||
});
|
||||
return flags;
|
||||
};
|
||||
//# sourceMappingURL=FontFlags.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/FontFlags.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/FontFlags.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FontFlags.js","sourceRoot":"","sources":["../../../src/core/embedders/FontFlags.ts"],"names":[],"mappings":";;;AAcA,kBAAkB;AAClB,IAAM,aAAa,GAAG,UAAC,OAAwB;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAM,OAAO,GAAG,UAAC,GAAW,IAAO,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,OAAO,CAAC,UAAU;QAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK;QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,QAAQ;QAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM;QAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM;QAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM;QAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ;QAAK,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,SAAS;QAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,uHAAuH;AAC1G,QAAA,eAAe,GAAG,UAAC,IAAU;IACxC,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAM,KAAK,GAAG,aAAa,CAAC;QAC1B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;QAClC,KAAK,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,IAAI,CAAC;QAC3C,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,WAAW,KAAK,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;KAClC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
||||
11
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.d.ts
generated
vendored
Normal file
11
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import PDFContext from "../PDFContext";
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
declare class JavaScriptEmbedder {
|
||||
static for(script: string, scriptName: string): JavaScriptEmbedder;
|
||||
private readonly script;
|
||||
readonly scriptName: string;
|
||||
private constructor();
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
}
|
||||
export default JavaScriptEmbedder;
|
||||
//# sourceMappingURL=JavaScriptEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"JavaScriptEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/JavaScriptEmbedder.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,sBAA4B;AAC7C,OAAO,MAAM,0BAAgC;AAE7C,cAAM,kBAAkB;IACtB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO;IAKD,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAc3E;AAED,eAAe,kBAAkB,CAAC"}
|
||||
36
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.js
generated
vendored
Normal file
36
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var PDFHexString_1 = tslib_1.__importDefault(require("../objects/PDFHexString"));
|
||||
var JavaScriptEmbedder = /** @class */ (function () {
|
||||
function JavaScriptEmbedder(script, scriptName) {
|
||||
this.script = script;
|
||||
this.scriptName = scriptName;
|
||||
}
|
||||
JavaScriptEmbedder.for = function (script, scriptName) {
|
||||
return new JavaScriptEmbedder(script, scriptName);
|
||||
};
|
||||
JavaScriptEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var jsActionDict;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
jsActionDict = context.obj({
|
||||
Type: 'Action',
|
||||
S: 'JavaScript',
|
||||
JS: PDFHexString_1.default.fromText(this.script),
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, jsActionDict);
|
||||
return [2 /*return*/, ref];
|
||||
}
|
||||
else {
|
||||
return [2 /*return*/, context.register(jsActionDict)];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
});
|
||||
});
|
||||
};
|
||||
return JavaScriptEmbedder;
|
||||
}());
|
||||
exports.default = JavaScriptEmbedder;
|
||||
//# sourceMappingURL=JavaScriptEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/JavaScriptEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"JavaScriptEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/JavaScriptEmbedder.ts"],"names":[],"mappings":";;;AAAA,iFAAyD;AAIzD;IAQE,4BAAoB,MAAc,EAAE,UAAkB;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAVM,sBAAG,GAAV,UAAW,MAAc,EAAE,UAAkB;QAC3C,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAUK,6CAAgB,GAAtB,UAAuB,OAAmB,EAAE,GAAY;;;;gBAChD,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;oBAC/B,IAAI,EAAE,QAAQ;oBACd,CAAC,EAAE,YAAY;oBACf,EAAE,EAAE,sBAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;iBACvC,CAAC,CAAC;gBAEH,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBAClC,sBAAO,GAAG,EAAC;iBACZ;qBAAM;oBACL,sBAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC;iBACvC;;;;KACF;IACH,yBAAC;AAAD,CAAC,AA3BD,IA2BC;AAED,kBAAe,kBAAkB,CAAC"}
|
||||
24
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.d.ts
generated
vendored
Normal file
24
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
import PDFContext from "../PDFContext";
|
||||
declare enum ColorSpace {
|
||||
DeviceGray = "DeviceGray",
|
||||
DeviceRGB = "DeviceRGB",
|
||||
DeviceCMYK = "DeviceCMYK"
|
||||
}
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/foliojs/pdfkit/blob/a6af76467ce06bd6a2af4aa7271ccac9ff152a7d/lib/image/jpeg.js
|
||||
*/
|
||||
declare class JpegEmbedder {
|
||||
static for(imageData: Uint8Array): Promise<JpegEmbedder>;
|
||||
readonly bitsPerComponent: number;
|
||||
readonly height: number;
|
||||
readonly width: number;
|
||||
readonly colorSpace: ColorSpace;
|
||||
private readonly imageData;
|
||||
private constructor();
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
}
|
||||
export default JpegEmbedder;
|
||||
//# sourceMappingURL=JpegEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"JpegEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/JpegEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,0BAAgC;AAC7C,OAAO,UAAU,sBAA4B;AAW7C,aAAK,UAAU;IACb,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAQD;;;;GAIG;AACH,cAAM,YAAY;WACH,GAAG,CAAC,SAAS,EAAE,UAAU;IA0CtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IAEvC,OAAO;IAcD,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+B3E;AAED,eAAe,YAAY,CAAC"}
|
||||
107
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.js
generated
vendored
Normal file
107
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
// prettier-ignore
|
||||
var MARKERS = [
|
||||
0xffc0, 0xffc1, 0xffc2,
|
||||
0xffc3, 0xffc5, 0xffc6,
|
||||
0xffc7, 0xffc8, 0xffc9,
|
||||
0xffca, 0xffcb, 0xffcc,
|
||||
0xffcd, 0xffce, 0xffcf,
|
||||
];
|
||||
var ColorSpace;
|
||||
(function (ColorSpace) {
|
||||
ColorSpace["DeviceGray"] = "DeviceGray";
|
||||
ColorSpace["DeviceRGB"] = "DeviceRGB";
|
||||
ColorSpace["DeviceCMYK"] = "DeviceCMYK";
|
||||
})(ColorSpace || (ColorSpace = {}));
|
||||
var ChannelToColorSpace = {
|
||||
1: ColorSpace.DeviceGray,
|
||||
3: ColorSpace.DeviceRGB,
|
||||
4: ColorSpace.DeviceCMYK,
|
||||
};
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/foliojs/pdfkit/blob/a6af76467ce06bd6a2af4aa7271ccac9ff152a7d/lib/image/jpeg.js
|
||||
*/
|
||||
var JpegEmbedder = /** @class */ (function () {
|
||||
function JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace) {
|
||||
this.imageData = imageData;
|
||||
this.bitsPerComponent = bitsPerComponent;
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.colorSpace = colorSpace;
|
||||
}
|
||||
JpegEmbedder.for = function (imageData) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
dataView = new DataView(imageData.buffer);
|
||||
soi = dataView.getUint16(0);
|
||||
if (soi !== 0xffd8)
|
||||
throw new Error('SOI not found in JPEG');
|
||||
pos = 2;
|
||||
while (pos < dataView.byteLength) {
|
||||
marker = dataView.getUint16(pos);
|
||||
pos += 2;
|
||||
if (MARKERS.includes(marker))
|
||||
break;
|
||||
pos += dataView.getUint16(pos);
|
||||
}
|
||||
if (!MARKERS.includes(marker))
|
||||
throw new Error('Invalid JPEG');
|
||||
pos += 2;
|
||||
bitsPerComponent = dataView.getUint8(pos++);
|
||||
height = dataView.getUint16(pos);
|
||||
pos += 2;
|
||||
width = dataView.getUint16(pos);
|
||||
pos += 2;
|
||||
channelByte = dataView.getUint8(pos++);
|
||||
channelName = ChannelToColorSpace[channelByte];
|
||||
if (!channelName)
|
||||
throw new Error('Unknown JPEG channel.');
|
||||
colorSpace = channelName;
|
||||
return [2 /*return*/, new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace)];
|
||||
});
|
||||
});
|
||||
};
|
||||
JpegEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var xObject;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
xObject = context.stream(this.imageData, {
|
||||
Type: 'XObject',
|
||||
Subtype: 'Image',
|
||||
BitsPerComponent: this.bitsPerComponent,
|
||||
Width: this.width,
|
||||
Height: this.height,
|
||||
ColorSpace: this.colorSpace,
|
||||
Filter: 'DCTDecode',
|
||||
// CMYK JPEG streams in PDF are typically stored complemented,
|
||||
// with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4).
|
||||
//
|
||||
// Standalone CMYK JPEG (usually exported by Photoshop) are
|
||||
// stored inverse, with 0 as 'off' and 1 as 'on', like RGB.
|
||||
//
|
||||
// Applying a swap here as a hedge that most bytes passing
|
||||
// through this method will benefit from it.
|
||||
Decode: this.colorSpace === ColorSpace.DeviceCMYK
|
||||
? [1, 0, 1, 0, 1, 0, 1, 0]
|
||||
: undefined,
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, xObject);
|
||||
return [2 /*return*/, ref];
|
||||
}
|
||||
else {
|
||||
return [2 /*return*/, context.register(xObject)];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
});
|
||||
});
|
||||
};
|
||||
return JpegEmbedder;
|
||||
}());
|
||||
exports.default = JpegEmbedder;
|
||||
//# sourceMappingURL=JpegEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/JpegEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"JpegEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/JpegEmbedder.ts"],"names":[],"mappings":"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"}
|
||||
38
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.d.ts
generated
vendored
Normal file
38
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
import PDFContext from "../PDFContext";
|
||||
import PDFPageLeaf from "../structures/PDFPageLeaf";
|
||||
import { TransformationMatrix } from "../../types/matrix";
|
||||
/**
|
||||
* Represents a page bounding box.
|
||||
* Usually `left` and `bottom` are 0 and right, top are equal
|
||||
* to width, height if you want to clip to the whole page.
|
||||
*
|
||||
* y
|
||||
* ^
|
||||
* | +--------+ (width,height)
|
||||
* | | |
|
||||
* | | Page |
|
||||
* | | |
|
||||
* | | |
|
||||
* (0,0) | +--------+
|
||||
* +----------> x
|
||||
*/
|
||||
export interface PageBoundingBox {
|
||||
left: number /** The left of the bounding box */;
|
||||
bottom: number /** The bottom of the bounding box */;
|
||||
right: number /** The right of the bounding box */;
|
||||
top: number /** The top of the bounding box */;
|
||||
}
|
||||
declare class PDFPageEmbedder {
|
||||
static for(page: PDFPageLeaf, boundingBox?: PageBoundingBox, transformationMatrix?: TransformationMatrix): Promise<PDFPageEmbedder>;
|
||||
readonly width: number;
|
||||
readonly height: number;
|
||||
readonly boundingBox: PageBoundingBox;
|
||||
readonly transformationMatrix: TransformationMatrix;
|
||||
private readonly page;
|
||||
private constructor();
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
private decodeContents;
|
||||
}
|
||||
export default PDFPageEmbedder;
|
||||
//# sourceMappingURL=PDFPageEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"PDFPageEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/PDFPageEmbedder.ts"],"names":[],"mappings":"AAOA,OAAO,MAAM,0BAAgC;AAE7C,OAAO,UAAU,sBAA4B;AAG7C,OAAO,WAAW,kCAAwC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,2BAAyB;AAGxD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC,mCAAmC,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC,qCAAqC,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC,oCAAoC,CAAC;IACnD,GAAG,EAAE,MAAM,CAAC,kCAAkC,CAAC;CAChD;AAsBD,cAAM,eAAe;WACN,GAAG,CACd,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,eAAe,EAC7B,oBAAoB,CAAC,EAAE,oBAAoB;IAK7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAEpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC,OAAO;IAgBD,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B1E,OAAO,CAAC,cAAc;CAqBvB;AAED,eAAe,eAAe,CAAC"}
|
||||
91
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.js
generated
vendored
Normal file
91
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var errors_1 = require("../errors");
|
||||
var PDFNumber_1 = tslib_1.__importDefault(require("../objects/PDFNumber"));
|
||||
var PDFRawStream_1 = tslib_1.__importDefault(require("../objects/PDFRawStream"));
|
||||
var PDFStream_1 = tslib_1.__importDefault(require("../objects/PDFStream"));
|
||||
var decode_1 = require("../streams/decode");
|
||||
var PDFContentStream_1 = tslib_1.__importDefault(require("../structures/PDFContentStream"));
|
||||
var CharCodes_1 = tslib_1.__importDefault(require("../syntax/CharCodes"));
|
||||
var utils_1 = require("../../utils");
|
||||
var fullPageBoundingBox = function (page) {
|
||||
var mediaBox = page.MediaBox();
|
||||
var width = mediaBox.lookup(2, PDFNumber_1.default).asNumber() -
|
||||
mediaBox.lookup(0, PDFNumber_1.default).asNumber();
|
||||
var height = mediaBox.lookup(3, PDFNumber_1.default).asNumber() -
|
||||
mediaBox.lookup(1, PDFNumber_1.default).asNumber();
|
||||
return { left: 0, bottom: 0, right: width, top: height };
|
||||
};
|
||||
// Returns the identity matrix, modified to position the content of the given
|
||||
// bounding box at (0, 0).
|
||||
var boundingBoxAdjustedMatrix = function (bb) { return [1, 0, 0, 1, -bb.left, -bb.bottom]; };
|
||||
var PDFPageEmbedder = /** @class */ (function () {
|
||||
function PDFPageEmbedder(page, boundingBox, transformationMatrix) {
|
||||
this.page = page;
|
||||
var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page);
|
||||
this.width = bb.right - bb.left;
|
||||
this.height = bb.top - bb.bottom;
|
||||
this.boundingBox = bb;
|
||||
this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb);
|
||||
}
|
||||
PDFPageEmbedder.for = function (page, boundingBox, transformationMatrix) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, new PDFPageEmbedder(page, boundingBox, transformationMatrix)];
|
||||
});
|
||||
});
|
||||
};
|
||||
PDFPageEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject;
|
||||
return tslib_1.__generator(this, function (_c) {
|
||||
_a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources;
|
||||
if (!Contents)
|
||||
throw new errors_1.MissingPageContentsEmbeddingError();
|
||||
decodedContents = this.decodeContents(Contents);
|
||||
_b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top;
|
||||
xObject = context.flateStream(decodedContents, {
|
||||
Type: 'XObject',
|
||||
Subtype: 'Form',
|
||||
FormType: 1,
|
||||
BBox: [left, bottom, right, top],
|
||||
Matrix: this.transformationMatrix,
|
||||
Resources: Resources,
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, xObject);
|
||||
return [2 /*return*/, ref];
|
||||
}
|
||||
else {
|
||||
return [2 /*return*/, context.register(xObject)];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
});
|
||||
});
|
||||
};
|
||||
// `contents` is an array of streams which are merged to include them in the XObject.
|
||||
// This methods extracts each stream and joins them with a newline character.
|
||||
PDFPageEmbedder.prototype.decodeContents = function (contents) {
|
||||
var newline = Uint8Array.of(CharCodes_1.default.Newline);
|
||||
var decodedContents = [];
|
||||
for (var idx = 0, len = contents.size(); idx < len; idx++) {
|
||||
var stream = contents.lookup(idx, PDFStream_1.default);
|
||||
var content = void 0;
|
||||
if (stream instanceof PDFRawStream_1.default) {
|
||||
content = decode_1.decodePDFRawStream(stream).decode();
|
||||
}
|
||||
else if (stream instanceof PDFContentStream_1.default) {
|
||||
content = stream.getUnencodedContents();
|
||||
}
|
||||
else {
|
||||
throw new errors_1.UnrecognizedStreamTypeError(stream);
|
||||
}
|
||||
decodedContents.push(content, newline);
|
||||
}
|
||||
return utils_1.mergeIntoTypedArray.apply(void 0, decodedContents);
|
||||
};
|
||||
return PDFPageEmbedder;
|
||||
}());
|
||||
exports.default = PDFPageEmbedder;
|
||||
//# sourceMappingURL=PDFPageEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/PDFPageEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"PDFPageEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/PDFPageEmbedder.ts"],"names":[],"mappings":"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"}
|
||||
20
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.d.ts
generated
vendored
Normal file
20
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
import PDFContext from "../PDFContext";
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/png.coffee
|
||||
*/
|
||||
declare class PngEmbedder {
|
||||
static for(imageData: Uint8Array): Promise<PngEmbedder>;
|
||||
readonly bitsPerComponent: number;
|
||||
readonly height: number;
|
||||
readonly width: number;
|
||||
readonly colorSpace: 'DeviceRGB';
|
||||
private readonly image;
|
||||
private constructor();
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): Promise<PDFRef>;
|
||||
private embedAlphaChannel;
|
||||
}
|
||||
export default PngEmbedder;
|
||||
//# sourceMappingURL=PngEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"PngEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/PngEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,0BAAgC;AAC7C,OAAO,UAAU,sBAA4B;AAG7C;;;;GAIG;AACH,cAAM,WAAW;WACF,GAAG,CAAC,SAAS,EAAE,UAAU;IAKtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAM;IAE5B,OAAO;IAQD,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1E,OAAO,CAAC,iBAAiB;CAe1B;AAED,eAAe,WAAW,CAAC"}
|
||||
69
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.js
generated
vendored
Normal file
69
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var png_1 = require("../../utils/png");
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/png.coffee
|
||||
*/
|
||||
var PngEmbedder = /** @class */ (function () {
|
||||
function PngEmbedder(png) {
|
||||
this.image = png;
|
||||
this.bitsPerComponent = png.bitsPerComponent;
|
||||
this.width = png.width;
|
||||
this.height = png.height;
|
||||
this.colorSpace = 'DeviceRGB';
|
||||
}
|
||||
PngEmbedder.for = function (imageData) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var png;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
png = png_1.PNG.load(imageData);
|
||||
return [2 /*return*/, new PngEmbedder(png)];
|
||||
});
|
||||
});
|
||||
};
|
||||
PngEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var SMask, xObject;
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
SMask = this.embedAlphaChannel(context);
|
||||
xObject = context.flateStream(this.image.rgbChannel, {
|
||||
Type: 'XObject',
|
||||
Subtype: 'Image',
|
||||
BitsPerComponent: this.image.bitsPerComponent,
|
||||
Width: this.image.width,
|
||||
Height: this.image.height,
|
||||
ColorSpace: this.colorSpace,
|
||||
SMask: SMask,
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, xObject);
|
||||
return [2 /*return*/, ref];
|
||||
}
|
||||
else {
|
||||
return [2 /*return*/, context.register(xObject)];
|
||||
}
|
||||
return [2 /*return*/];
|
||||
});
|
||||
});
|
||||
};
|
||||
PngEmbedder.prototype.embedAlphaChannel = function (context) {
|
||||
if (!this.image.alphaChannel)
|
||||
return undefined;
|
||||
var xObject = context.flateStream(this.image.alphaChannel, {
|
||||
Type: 'XObject',
|
||||
Subtype: 'Image',
|
||||
Height: this.image.height,
|
||||
Width: this.image.width,
|
||||
BitsPerComponent: this.image.bitsPerComponent,
|
||||
ColorSpace: 'DeviceGray',
|
||||
Decode: [0, 1],
|
||||
});
|
||||
return context.register(xObject);
|
||||
};
|
||||
return PngEmbedder;
|
||||
}());
|
||||
exports.default = PngEmbedder;
|
||||
//# sourceMappingURL=PngEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/PngEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"PngEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/PngEmbedder.ts"],"names":[],"mappings":";;;AAEA,uCAAoC;AAEpC;;;;GAIG;AACH;IAaE,qBAAoB,GAAQ;QAC1B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IAlBY,eAAG,GAAhB,UAAiB,SAAqB;;;;gBAC9B,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,sBAAO,IAAI,WAAW,CAAC,GAAG,CAAC,EAAC;;;KAC7B;IAiBK,sCAAgB,GAAtB,UAAuB,OAAmB,EAAE,GAAY;;;;gBAChD,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAExC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;oBACzD,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;oBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;oBACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,OAAA;iBACN,CAAC,CAAC;gBAEH,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC7B,sBAAO,GAAG,EAAC;iBACZ;qBAAM;oBACL,sBAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC;iBAClC;;;;KACF;IAEO,uCAAiB,GAAzB,UAA0B,OAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QAE/C,IAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC3D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,UAAU,EAAE,YAAY;YACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACH,kBAAC;AAAD,CAAC,AAzDD,IAyDC;AAED,kBAAe,WAAW,CAAC"}
|
||||
37
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.d.ts
generated
vendored
Normal file
37
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.d.ts
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
import { Font, FontNames, EncodingType } from '@pdf-lib/standard-fonts';
|
||||
import PDFHexString from "../objects/PDFHexString";
|
||||
import PDFRef from "../objects/PDFRef";
|
||||
import PDFContext from "../PDFContext";
|
||||
export interface Glyph {
|
||||
code: number;
|
||||
name: string;
|
||||
}
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee
|
||||
*/
|
||||
declare class StandardFontEmbedder {
|
||||
static for: (fontName: FontNames, customName?: string | undefined) => StandardFontEmbedder;
|
||||
readonly font: Font;
|
||||
readonly encoding: EncodingType;
|
||||
readonly fontName: string;
|
||||
readonly customName: string | undefined;
|
||||
private constructor();
|
||||
/**
|
||||
* Encode the JavaScript string into this font. (JavaScript encodes strings in
|
||||
* Unicode, but standard fonts use either WinAnsi, ZapfDingbats, or Symbol
|
||||
* encodings)
|
||||
*/
|
||||
encodeText(text: string): PDFHexString;
|
||||
widthOfTextAtSize(text: string, size: number): number;
|
||||
heightOfFontAtSize(size: number, options?: {
|
||||
descender?: boolean;
|
||||
}): number;
|
||||
sizeOfFontAtHeight(height: number): number;
|
||||
embedIntoContext(context: PDFContext, ref?: PDFRef): PDFRef;
|
||||
private widthOfGlyph;
|
||||
private encodeTextAsGlyphs;
|
||||
}
|
||||
export default StandardFontEmbedder;
|
||||
//# sourceMappingURL=StandardFontEmbedder.d.ts.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.d.ts.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"StandardFontEmbedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedders/StandardFontEmbedder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EACJ,SAAS,EACT,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,YAAY,gCAAsC;AACzD,OAAO,MAAM,0BAAgC;AAC7C,OAAO,UAAU,sBAA4B;AAG7C,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,cAAM,oBAAoB;IACxB,MAAM,CAAC,GAAG,aAAc,SAAS,2DACgB;IAEjD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,OAAO;IAYP;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAStC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAerD,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,MAAM;IAaT,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAO1C,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAkB3D,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,kBAAkB;CAS3B;AAED,eAAe,oBAAoB,CAAC"}
|
||||
98
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.js
generated
vendored
Normal file
98
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.js
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var standard_fonts_1 = require("@pdf-lib/standard-fonts");
|
||||
var PDFHexString_1 = tslib_1.__importDefault(require("../objects/PDFHexString"));
|
||||
var utils_1 = require("../../utils");
|
||||
/**
|
||||
* A note of thanks to the developers of https://github.com/foliojs/pdfkit, as
|
||||
* this class borrows from:
|
||||
* https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee
|
||||
*/
|
||||
var StandardFontEmbedder = /** @class */ (function () {
|
||||
function StandardFontEmbedder(fontName, customName) {
|
||||
// prettier-ignore
|
||||
this.encoding = (fontName === standard_fonts_1.FontNames.ZapfDingbats ? standard_fonts_1.Encodings.ZapfDingbats
|
||||
: fontName === standard_fonts_1.FontNames.Symbol ? standard_fonts_1.Encodings.Symbol
|
||||
: standard_fonts_1.Encodings.WinAnsi);
|
||||
this.font = standard_fonts_1.Font.load(fontName);
|
||||
this.fontName = this.font.FontName;
|
||||
this.customName = customName;
|
||||
}
|
||||
/**
|
||||
* Encode the JavaScript string into this font. (JavaScript encodes strings in
|
||||
* Unicode, but standard fonts use either WinAnsi, ZapfDingbats, or Symbol
|
||||
* encodings)
|
||||
*/
|
||||
StandardFontEmbedder.prototype.encodeText = function (text) {
|
||||
var glyphs = this.encodeTextAsGlyphs(text);
|
||||
var hexCodes = new Array(glyphs.length);
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
hexCodes[idx] = utils_1.toHexString(glyphs[idx].code);
|
||||
}
|
||||
return PDFHexString_1.default.of(hexCodes.join(''));
|
||||
};
|
||||
StandardFontEmbedder.prototype.widthOfTextAtSize = function (text, size) {
|
||||
var glyphs = this.encodeTextAsGlyphs(text);
|
||||
var totalWidth = 0;
|
||||
for (var idx = 0, len = glyphs.length; idx < len; idx++) {
|
||||
var left = glyphs[idx].name;
|
||||
var right = (glyphs[idx + 1] || {}).name;
|
||||
var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0;
|
||||
totalWidth += this.widthOfGlyph(left) + kernAmount;
|
||||
}
|
||||
var scale = size / 1000;
|
||||
return totalWidth * scale;
|
||||
};
|
||||
StandardFontEmbedder.prototype.heightOfFontAtSize = function (size, options) {
|
||||
if (options === void 0) { options = {}; }
|
||||
var _a = options.descender, descender = _a === void 0 ? true : _a;
|
||||
var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox;
|
||||
var yTop = Ascender || FontBBox[3];
|
||||
var yBottom = Descender || FontBBox[1];
|
||||
var height = yTop - yBottom;
|
||||
if (!descender)
|
||||
height += Descender || 0;
|
||||
return (height / 1000) * size;
|
||||
};
|
||||
StandardFontEmbedder.prototype.sizeOfFontAtHeight = function (height) {
|
||||
var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox;
|
||||
var yTop = Ascender || FontBBox[3];
|
||||
var yBottom = Descender || FontBBox[1];
|
||||
return (1000 * height) / (yTop - yBottom);
|
||||
};
|
||||
StandardFontEmbedder.prototype.embedIntoContext = function (context, ref) {
|
||||
var fontDict = context.obj({
|
||||
Type: 'Font',
|
||||
Subtype: 'Type1',
|
||||
BaseFont: this.customName || this.fontName,
|
||||
Encoding: this.encoding === standard_fonts_1.Encodings.WinAnsi ? 'WinAnsiEncoding' : undefined,
|
||||
});
|
||||
if (ref) {
|
||||
context.assign(ref, fontDict);
|
||||
return ref;
|
||||
}
|
||||
else {
|
||||
return context.register(fontDict);
|
||||
}
|
||||
};
|
||||
StandardFontEmbedder.prototype.widthOfGlyph = function (glyphName) {
|
||||
// Default to 250 if font doesn't specify a width
|
||||
return this.font.getWidthOfGlyph(glyphName) || 250;
|
||||
};
|
||||
StandardFontEmbedder.prototype.encodeTextAsGlyphs = function (text) {
|
||||
var codePoints = Array.from(text);
|
||||
var glyphs = new Array(codePoints.length);
|
||||
for (var idx = 0, len = codePoints.length; idx < len; idx++) {
|
||||
var codePoint = utils_1.toCodePoint(codePoints[idx]);
|
||||
glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint);
|
||||
}
|
||||
return glyphs;
|
||||
};
|
||||
StandardFontEmbedder.for = function (fontName, customName) {
|
||||
return new StandardFontEmbedder(fontName, customName);
|
||||
};
|
||||
return StandardFontEmbedder;
|
||||
}());
|
||||
exports.default = StandardFontEmbedder;
|
||||
//# sourceMappingURL=StandardFontEmbedder.js.map
|
||||
1
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.js.map
generated
vendored
Normal file
1
node_modules/pdf-lib/cjs/core/embedders/StandardFontEmbedder.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"StandardFontEmbedder.js","sourceRoot":"","sources":["../../../src/core/embedders/StandardFontEmbedder.ts"],"names":[],"mappings":";;;AAAA,0DAKiC;AAEjC,iFAAyD;AAGzD,qCAAqD;AAOrD;;;;GAIG;AACH;IASE,8BAAoB,QAAmB,EAAE,UAAmB;QAC1D,kBAAkB;QAClB,IAAI,CAAC,QAAQ,GAAG,CACZ,QAAQ,KAAK,0BAAS,CAAC,YAAY,CAAC,CAAC,CAAC,0BAAS,CAAC,YAAY;YAC9D,CAAC,CAAC,QAAQ,KAAK,0BAAS,CAAC,MAAM,CAAO,CAAC,CAAC,0BAAS,CAAC,MAAM;gBACxD,CAAC,CAAC,0BAAS,CAAC,OAAO,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,yCAAU,GAAV,UAAW,IAAY;QACrB,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;YACvD,QAAQ,CAAC,GAAG,CAAC,GAAG,mBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;SAC/C;QACD,OAAO,sBAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,gDAAiB,GAAjB,UAAkB,IAAY,EAAE,IAAY;QAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;YACvD,IAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC9B,IAAM,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAC3C,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtE,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SACpD;QAED,IAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QAC1B,OAAO,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,iDAAkB,GAAlB,UACE,IAAY,EACZ,OAAqC;QAArC,wBAAA,EAAA,YAAqC;QAE7B,IAAA,KAAqB,OAAO,UAAZ,EAAhB,SAAS,mBAAG,IAAI,KAAA,CAAa;QAE/B,IAAA,KAAoC,IAAI,CAAC,IAAI,EAA3C,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAc,CAAC;QACpD,IAAM,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAM,OAAO,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEzC,IAAI,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC;QAEzC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,iDAAkB,GAAlB,UAAmB,MAAc;QACzB,IAAA,KAAoC,IAAI,CAAC,IAAI,EAA3C,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAc,CAAC;QACpD,IAAM,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAM,OAAO,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,+CAAgB,GAAhB,UAAiB,OAAmB,EAAE,GAAY;QAChD,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;YAC3B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;YAE1C,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,0BAAS,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC,CAAC;QAEH,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9B,OAAO,GAAG,CAAC;SACZ;aAAM;YACL,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACnC;IACH,CAAC;IAEO,2CAAY,GAApB,UAAqB,SAAiB;QACpC,iDAAiD;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IACrD,CAAC;IAEO,iDAAkB,GAA1B,UAA2B,IAAY;QACrC,IAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAM,MAAM,GAAY,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;YAC3D,IAAM,SAAS,GAAG,mBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAvGM,wBAAG,GAAG,UAAC,QAAmB,EAAE,UAAmB;QACpD,OAAA,IAAI,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC;IAA9C,CAA8C,CAAC;IAuGnD,2BAAC;CAAA,AAzGD,IAyGC;AAED,kBAAe,oBAAoB,CAAC"}
|
||||
Reference in New Issue
Block a user