av6-pdf-engine 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/renderer-engine/blocks/barcode.d.ts +3 -0
- package/dist/renderer-engine/blocks/barcode.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/barcode.js +47 -0
- package/dist/renderer-engine/blocks/barcode.js.map +1 -0
- package/dist/renderer-engine/blocks/columns.d.ts +3 -0
- package/dist/renderer-engine/blocks/columns.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/columns.js +105 -0
- package/dist/renderer-engine/blocks/columns.js.map +1 -0
- package/dist/renderer-engine/blocks/image.d.ts +4 -0
- package/dist/renderer-engine/blocks/image.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/image.js +57 -0
- package/dist/renderer-engine/blocks/image.js.map +1 -0
- package/dist/renderer-engine/blocks/index.d.ts +8 -0
- package/dist/renderer-engine/blocks/index.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/index.js +24 -0
- package/dist/renderer-engine/blocks/index.js.map +1 -0
- package/dist/renderer-engine/blocks/key-value-grid.d.ts +3 -0
- package/dist/renderer-engine/blocks/key-value-grid.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/key-value-grid.js +245 -0
- package/dist/renderer-engine/blocks/key-value-grid.js.map +1 -0
- package/dist/renderer-engine/blocks/line.d.ts +3 -0
- package/dist/renderer-engine/blocks/line.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/line.js +35 -0
- package/dist/renderer-engine/blocks/line.js.map +1 -0
- package/dist/renderer-engine/blocks/table.d.ts +4 -0
- package/dist/renderer-engine/blocks/table.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/table.js +201 -0
- package/dist/renderer-engine/blocks/table.js.map +1 -0
- package/dist/renderer-engine/blocks/text.d.ts +3 -0
- package/dist/renderer-engine/blocks/text.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/text.js +52 -0
- package/dist/renderer-engine/blocks/text.js.map +1 -0
- package/dist/renderer-engine/index.d.ts +4 -0
- package/dist/renderer-engine/index.d.ts.map +1 -0
- package/dist/renderer-engine/index.js +215 -0
- package/dist/renderer-engine/index.js.map +1 -0
- package/dist/renderer-engine/utils/block-renderer.d.ts +17 -0
- package/dist/renderer-engine/utils/block-renderer.d.ts.map +1 -0
- package/dist/renderer-engine/utils/block-renderer.js +86 -0
- package/dist/renderer-engine/utils/block-renderer.js.map +1 -0
- package/dist/renderer-engine/utils/context.d.ts +3 -0
- package/dist/renderer-engine/utils/context.d.ts.map +1 -0
- package/dist/renderer-engine/utils/context.js +16 -0
- package/dist/renderer-engine/utils/context.js.map +1 -0
- package/dist/renderer-engine/utils/ensure-space.d.ts +9 -0
- package/dist/renderer-engine/utils/ensure-space.d.ts.map +1 -0
- package/dist/renderer-engine/utils/ensure-space.js +18 -0
- package/dist/renderer-engine/utils/ensure-space.js.map +1 -0
- package/dist/renderer-engine/utils/env.d.ts +3 -0
- package/dist/renderer-engine/utils/env.d.ts.map +1 -0
- package/dist/renderer-engine/utils/env.js +10 -0
- package/dist/renderer-engine/utils/env.js.map +1 -0
- package/dist/renderer-engine/utils/finish-page.d.ts +13 -0
- package/dist/renderer-engine/utils/finish-page.d.ts.map +1 -0
- package/dist/renderer-engine/utils/finish-page.js +27 -0
- package/dist/renderer-engine/utils/finish-page.js.map +1 -0
- package/dist/renderer-engine/utils/footer.d.ts +3 -0
- package/dist/renderer-engine/utils/footer.d.ts.map +1 -0
- package/dist/renderer-engine/utils/footer.js +89 -0
- package/dist/renderer-engine/utils/footer.js.map +1 -0
- package/dist/renderer-engine/utils/header.d.ts +3 -0
- package/dist/renderer-engine/utils/header.d.ts.map +1 -0
- package/dist/renderer-engine/utils/header.js +47 -0
- package/dist/renderer-engine/utils/header.js.map +1 -0
- package/dist/renderer-engine/utils/image-loader.d.ts +4 -0
- package/dist/renderer-engine/utils/image-loader.d.ts.map +1 -0
- package/dist/renderer-engine/utils/image-loader.js +52 -0
- package/dist/renderer-engine/utils/image-loader.js.map +1 -0
- package/dist/renderer-engine/utils/index.d.ts +19 -0
- package/dist/renderer-engine/utils/index.d.ts.map +1 -0
- package/dist/renderer-engine/utils/index.js +35 -0
- package/dist/renderer-engine/utils/index.js.map +1 -0
- package/dist/renderer-engine/utils/layout.d.ts +8 -0
- package/dist/renderer-engine/utils/layout.d.ts.map +1 -0
- package/dist/renderer-engine/utils/layout.js +22 -0
- package/dist/renderer-engine/utils/layout.js.map +1 -0
- package/dist/renderer-engine/utils/measure-block-height.d.ts +8 -0
- package/dist/renderer-engine/utils/measure-block-height.d.ts.map +1 -0
- package/dist/renderer-engine/utils/measure-block-height.js +220 -0
- package/dist/renderer-engine/utils/measure-block-height.js.map +1 -0
- package/dist/renderer-engine/utils/page-background.d.ts +6 -0
- package/dist/renderer-engine/utils/page-background.d.ts.map +1 -0
- package/dist/renderer-engine/utils/page-background.js +30 -0
- package/dist/renderer-engine/utils/page-background.js.map +1 -0
- package/dist/renderer-engine/utils/page-flow.d.ts +3 -0
- package/dist/renderer-engine/utils/page-flow.d.ts.map +1 -0
- package/dist/renderer-engine/utils/page-flow.js +9 -0
- package/dist/renderer-engine/utils/page-flow.js.map +1 -0
- package/dist/renderer-engine/utils/page-limit.d.ts +8 -0
- package/dist/renderer-engine/utils/page-limit.d.ts.map +1 -0
- package/dist/renderer-engine/utils/page-limit.js +15 -0
- package/dist/renderer-engine/utils/page-limit.js.map +1 -0
- package/dist/renderer-engine/utils/qr-bar-code.d.ts +17 -0
- package/dist/renderer-engine/utils/qr-bar-code.d.ts.map +1 -0
- package/dist/renderer-engine/utils/qr-bar-code.js +141 -0
- package/dist/renderer-engine/utils/qr-bar-code.js.map +1 -0
- package/dist/renderer-engine/utils/signature.d.ts +20 -0
- package/dist/renderer-engine/utils/signature.d.ts.map +1 -0
- package/dist/renderer-engine/utils/signature.js +214 -0
- package/dist/renderer-engine/utils/signature.js.map +1 -0
- package/dist/renderer-engine/utils/start-page-layout.d.ts +20 -0
- package/dist/renderer-engine/utils/start-page-layout.d.ts.map +1 -0
- package/dist/renderer-engine/utils/start-page-layout.js +34 -0
- package/dist/renderer-engine/utils/start-page-layout.js.map +1 -0
- package/dist/renderer-engine/utils/styles.d.ts +7 -0
- package/dist/renderer-engine/utils/styles.d.ts.map +1 -0
- package/dist/renderer-engine/utils/styles.js +124 -0
- package/dist/renderer-engine/utils/styles.js.map +1 -0
- package/dist/renderer-engine/utils/watermark.d.ts +11 -0
- package/dist/renderer-engine/utils/watermark.d.ts.map +1 -0
- package/dist/renderer-engine/utils/watermark.js +57 -0
- package/dist/renderer-engine/utils/watermark.js.map +1 -0
- package/dist/types/barcode.d.ts +23 -0
- package/dist/types/barcode.d.ts.map +1 -0
- package/dist/types/barcode.js +11 -0
- package/dist/types/barcode.js.map +1 -0
- package/dist/types/columns.d.ts +14 -0
- package/dist/types/columns.d.ts.map +1 -0
- package/dist/types/columns.js +3 -0
- package/dist/types/columns.js.map +1 -0
- package/dist/types/common.d.ts +102 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +3 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/context.d.ts +17 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +3 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/image.d.ts +13 -0
- package/dist/types/image.d.ts.map +1 -0
- package/dist/types/image.js +3 -0
- package/dist/types/image.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +29 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/key-value-grid.d.ts +34 -0
- package/dist/types/key-value-grid.d.ts.map +1 -0
- package/dist/types/key-value-grid.js +3 -0
- package/dist/types/key-value-grid.js.map +1 -0
- package/dist/types/line.d.ts +11 -0
- package/dist/types/line.d.ts.map +1 -0
- package/dist/types/line.js +3 -0
- package/dist/types/line.js.map +1 -0
- package/dist/types/page-break.d.ts +5 -0
- package/dist/types/page-break.d.ts.map +1 -0
- package/dist/types/page-break.js +3 -0
- package/dist/types/page-break.js.map +1 -0
- package/dist/types/qr.d.ts +22 -0
- package/dist/types/qr.d.ts.map +1 -0
- package/dist/types/qr.js +10 -0
- package/dist/types/qr.js.map +1 -0
- package/dist/types/signature.d.ts +12 -0
- package/dist/types/signature.d.ts.map +1 -0
- package/dist/types/signature.js +3 -0
- package/dist/types/signature.js.map +1 -0
- package/dist/types/table.d.ts +32 -0
- package/dist/types/table.d.ts.map +1 -0
- package/dist/types/table.js +3 -0
- package/dist/types/table.js.map +1 -0
- package/dist/types/text.d.ts +19 -0
- package/dist/types/text.d.ts.map +1 -0
- package/dist/types/text.js +3 -0
- package/dist/types/text.js.map +1 -0
- package/dist/types/utility.d.ts +1 -0
- package/dist/types/utility.d.ts.map +1 -0
- package/dist/types/utility.js +2 -0
- package/dist/types/utility.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createBlockRenderer = createBlockRenderer;
|
|
4
|
+
const blocks_1 = require("../blocks");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
/**
|
|
7
|
+
* Factory that returns renderBlock + renderBlockArray wired with all dependencies.
|
|
8
|
+
*/
|
|
9
|
+
function createBlockRenderer(deps) {
|
|
10
|
+
const { doc, ctx, styles, computeColumnPixelWidths, finishPage, processSignatureBlock, } = deps;
|
|
11
|
+
const bottomLimitForContent = (0, utils_1.createBottomLimitForContent)(doc, ctx);
|
|
12
|
+
const ensureSpaceFor = (0, utils_1.createEnsureSpaceFor)(ctx, bottomLimitForContent, finishPage);
|
|
13
|
+
const measureBlockHeight = (0, utils_1.createMeasureBlockHeight)({
|
|
14
|
+
doc,
|
|
15
|
+
styles,
|
|
16
|
+
computeColumnPixelWidths,
|
|
17
|
+
});
|
|
18
|
+
const renderBlock = (block, y, env) => {
|
|
19
|
+
if (block.visible === false) {
|
|
20
|
+
return y !== null && y !== void 0 ? y : ctx.currentY;
|
|
21
|
+
}
|
|
22
|
+
switch (block.type) {
|
|
23
|
+
case "text":
|
|
24
|
+
return (0, blocks_1.processTextBlock)(doc, ctx, styles, block, y, env, ensureSpaceFor);
|
|
25
|
+
case "image":
|
|
26
|
+
return (0, blocks_1.processImageBlock)(doc, ctx, block, y, env, ensureSpaceFor);
|
|
27
|
+
case "qr": {
|
|
28
|
+
const qb = block;
|
|
29
|
+
const imageLike = {
|
|
30
|
+
type: "image",
|
|
31
|
+
src: qb.src,
|
|
32
|
+
width: qb.size,
|
|
33
|
+
height: qb.size,
|
|
34
|
+
align: qb.align,
|
|
35
|
+
marginTop: qb.marginTop,
|
|
36
|
+
marginBottom: qb.marginBottom,
|
|
37
|
+
marginLeft: qb.marginLeft,
|
|
38
|
+
marginRight: qb.marginRight,
|
|
39
|
+
};
|
|
40
|
+
return (0, blocks_1.processImageBlock)(doc, ctx, imageLike, y, env, ensureSpaceFor);
|
|
41
|
+
}
|
|
42
|
+
case "barcode":
|
|
43
|
+
return (0, blocks_1.processBarcodeBlock)(doc, ctx, block, y, env, ensureSpaceFor);
|
|
44
|
+
case "line":
|
|
45
|
+
return (0, blocks_1.processLineBlock)(doc, ctx, block, y, env, ensureSpaceFor);
|
|
46
|
+
case "table":
|
|
47
|
+
return (0, blocks_1.processTableBlock)(doc, ctx, styles, block, y, env, computeColumnPixelWidths, bottomLimitForContent, finishPage);
|
|
48
|
+
case "columns":
|
|
49
|
+
return (0, blocks_1.processColumnsBlock)(ctx, block, y, env, computeColumnPixelWidths, renderBlock, ensureSpaceFor, measureBlockHeight);
|
|
50
|
+
case "keyValueGrid":
|
|
51
|
+
return (0, blocks_1.processKeyValueGridBlock)(doc, ctx, styles, block, y, env, computeColumnPixelWidths, ensureSpaceFor);
|
|
52
|
+
case "signature":
|
|
53
|
+
if (!env.allowPageBreak) {
|
|
54
|
+
throw new Error("Signature block is only allowed in main content flow.");
|
|
55
|
+
}
|
|
56
|
+
if (y !== null) {
|
|
57
|
+
throw new Error("Signature block must be part of main flow, not drawn at explicit Y.");
|
|
58
|
+
}
|
|
59
|
+
processSignatureBlock(block);
|
|
60
|
+
return ctx.currentY;
|
|
61
|
+
case "pageBreak":
|
|
62
|
+
if (!env.allowPageBreak || ctx.inFooter) {
|
|
63
|
+
return y !== null && y !== void 0 ? y : ctx.currentY;
|
|
64
|
+
}
|
|
65
|
+
finishPage(true);
|
|
66
|
+
return ctx.currentY;
|
|
67
|
+
default:
|
|
68
|
+
return ctx.currentY;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const renderBlockArray = (blocks, startY, env) => {
|
|
72
|
+
let localY = startY;
|
|
73
|
+
for (const block of blocks) {
|
|
74
|
+
if (block.visible === false) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
localY = renderBlock(block, localY, env);
|
|
78
|
+
}
|
|
79
|
+
return localY;
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
renderBlock,
|
|
83
|
+
renderBlockArray,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=block-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-renderer.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/block-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAWzE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInitialContext = createInitialContext;
|
|
4
|
+
function createInitialContext(doc) {
|
|
5
|
+
return {
|
|
6
|
+
pageNumber: 1,
|
|
7
|
+
currentY: doc.page.margins.top,
|
|
8
|
+
signatureBlock: null,
|
|
9
|
+
signatureTopY: null,
|
|
10
|
+
signatureHeight: 0,
|
|
11
|
+
signaturePlaced: false,
|
|
12
|
+
afterSignature: false,
|
|
13
|
+
inFooter: false,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/context.ts"],"names":[],"mappings":";;AAEA,oDAWC;AAXD,SAAgB,oBAAoB,CAAC,GAAuB;IAC1D,OAAO;QACL,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;QAC9B,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PageContext, RenderEnv } from "../../types";
|
|
2
|
+
import { BottomLimitForContentFn } from "../utils";
|
|
3
|
+
export type EnsureSpaceForFn = (heightNeeded: number, env: RenderEnv) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Creates the `ensureSpaceFor` helper:
|
|
6
|
+
* - if current block doesn't fit in remaining space, calls `finishPage(true)`
|
|
7
|
+
*/
|
|
8
|
+
export declare function createEnsureSpaceFor(ctx: PageContext, bottomLimitForContent: BottomLimitForContentFn, finishPage: (addNewPage: boolean) => void): EnsureSpaceForFn;
|
|
9
|
+
//# sourceMappingURL=ensure-space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-space.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/ensure-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,qBAAqB,EAAE,uBAAuB,EAC9C,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GACxC,gBAAgB,CASlB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEnsureSpaceFor = createEnsureSpaceFor;
|
|
4
|
+
/**
|
|
5
|
+
* Creates the `ensureSpaceFor` helper:
|
|
6
|
+
* - if current block doesn't fit in remaining space, calls `finishPage(true)`
|
|
7
|
+
*/
|
|
8
|
+
function createEnsureSpaceFor(ctx, bottomLimitForContent, finishPage) {
|
|
9
|
+
return (heightNeeded, env) => {
|
|
10
|
+
if (!env.allowPageBreak || ctx.inFooter)
|
|
11
|
+
return;
|
|
12
|
+
const bottomLimit = bottomLimitForContent();
|
|
13
|
+
if (ctx.currentY + heightNeeded > bottomLimit) {
|
|
14
|
+
finishPage(true);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ensure-space.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-space.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/ensure-space.ts"],"names":[],"mappings":";;AASA,oDAaC;AAjBD;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,GAAgB,EAChB,qBAA8C,EAC9C,UAAyC;IAEzC,OAAO,CAAC,YAAoB,EAAE,GAAc,EAAE,EAAE;QAC9C,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO;QAEhD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,CAAC,WAAW,KAAG,SAInD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.contentEnv = void 0;
|
|
4
|
+
const contentEnv = (doc) => ({
|
|
5
|
+
marginLeft: doc.page.margins.left,
|
|
6
|
+
innerWidth: doc.page.width - doc.page.margins.left - doc.page.margins.right,
|
|
7
|
+
allowPageBreak: true,
|
|
8
|
+
});
|
|
9
|
+
exports.contentEnv = contentEnv;
|
|
10
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/env.ts"],"names":[],"mappings":";;;AAEO,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAa,EAAE,CAAC,CAAC;IACjE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;IACjC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;IAC3E,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AAJU,QAAA,UAAU,cAIpB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Block, CustomDocDefinition, PageContext, RenderEnv } from "../../types";
|
|
2
|
+
export type RenderBlockArrayFn = (blocks: Block[], startY: number, env: RenderEnv) => number;
|
|
3
|
+
export interface FinishPageParams {
|
|
4
|
+
addNewPage: boolean;
|
|
5
|
+
doc: PDFKit.PDFDocument;
|
|
6
|
+
def: CustomDocDefinition;
|
|
7
|
+
ctx: PageContext;
|
|
8
|
+
footerBandHeight: number;
|
|
9
|
+
renderBlockArray: RenderBlockArrayFn;
|
|
10
|
+
startNewPageLayout: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function finishPage({ addNewPage, doc, def, ctx, footerBandHeight, renderBlockArray, startNewPageLayout, }: FinishPageParams): void;
|
|
13
|
+
//# sourceMappingURL=finish-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finish-page.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/finish-page.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,WAAW,EACX,SAAS,EACV,MAAM,aAAa,CAAC;AASrB,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,KACX,MAAM,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,GAAG,EACH,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,gBAAgB,QA8BlB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.finishPage = finishPage;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
function finishPage({ addNewPage, doc, def, ctx, footerBandHeight, renderBlockArray, startNewPageLayout, }) {
|
|
6
|
+
var _a;
|
|
7
|
+
const mode = (_a = def.watermark) === null || _a === void 0 ? void 0 : _a.mode;
|
|
8
|
+
// Watermark modes that depend on knowing "is this the last page?"
|
|
9
|
+
if (def.watermark && (0, utils_1.watermarkUsesLast)(mode)) {
|
|
10
|
+
const isLast = !addNewPage;
|
|
11
|
+
(0, utils_1.drawWatermarkForPage)(doc, def.watermark, ctx.pageNumber, isLast);
|
|
12
|
+
}
|
|
13
|
+
// Draw reserved signature band
|
|
14
|
+
if (ctx.signatureBlock && ctx.signatureTopY !== null) {
|
|
15
|
+
const env = (0, utils_1.contentEnv)(doc);
|
|
16
|
+
(0, utils_1.drawSignatureBlock)(doc, ctx.signatureBlock, ctx.signatureTopY, env, renderBlockArray);
|
|
17
|
+
}
|
|
18
|
+
// Footer
|
|
19
|
+
(0, utils_1.drawFooter)(doc, def, ctx, footerBandHeight, renderBlockArray);
|
|
20
|
+
// Next page
|
|
21
|
+
if (addNewPage) {
|
|
22
|
+
doc.addPage();
|
|
23
|
+
ctx.pageNumber += 1;
|
|
24
|
+
startNewPageLayout();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=finish-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finish-page.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/finish-page.ts"],"names":[],"mappings":";;AA8BA,gCAsCC;AA9DD,oCAMkB;AAkBlB,SAAgB,UAAU,CAAC,EACzB,UAAU,EACV,GAAG,EACH,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACD;;IACjB,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,SAAS,0CAAE,IAAI,CAAC;IAEjC,kEAAkE;IAClE,IAAI,GAAG,CAAC,SAAS,IAAI,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC;QAC3B,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAA,0BAAkB,EAChB,GAAG,EACH,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,aAAa,EACjB,GAAG,EACH,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,SAAS;IACT,IAAA,kBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAE9D,YAAY;IACZ,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACpB,kBAAkB,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Block, CustomDocDefinition, PageContext, RenderEnv } from "../../types";
|
|
2
|
+
export declare function drawFooter(doc: PDFKit.PDFDocument, def: CustomDocDefinition, ctx: PageContext, footerBandHeight: number, renderBlockArray: (blocks: Block[], startY: number, env: RenderEnv) => number): void;
|
|
3
|
+
//# sourceMappingURL=footer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/footer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,mBAAmB,EAGnB,WAAW,EACX,SAAS,EACV,MAAM,aAAa,CAAC;AA8CrB,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,GAAG,EAAE,mBAAmB,EACxB,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,QAyD9E"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawFooter = drawFooter;
|
|
4
|
+
function normalizeFooter(input, ctx, doc) {
|
|
5
|
+
if (!input)
|
|
6
|
+
return null;
|
|
7
|
+
if (typeof input === "function") {
|
|
8
|
+
const result = input(ctx.pageNumber, {
|
|
9
|
+
width: doc.page.width,
|
|
10
|
+
height: doc.page.height,
|
|
11
|
+
});
|
|
12
|
+
if (!result)
|
|
13
|
+
return null;
|
|
14
|
+
return normalizeFooter(result, ctx, doc);
|
|
15
|
+
}
|
|
16
|
+
if (input.blocks &&
|
|
17
|
+
Array.isArray(input.blocks)) {
|
|
18
|
+
const f = input;
|
|
19
|
+
return {
|
|
20
|
+
visible: f.visible,
|
|
21
|
+
blocks: f.blocks,
|
|
22
|
+
marginTop: f.marginTop,
|
|
23
|
+
marginBottom: f.marginBottom,
|
|
24
|
+
marginLeft: f.marginLeft,
|
|
25
|
+
marginRight: f.marginRight,
|
|
26
|
+
backgroundColor: f.backgroundColor,
|
|
27
|
+
backgroundImage: f.backgroundImage,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (input.type) {
|
|
31
|
+
return { blocks: [input] };
|
|
32
|
+
}
|
|
33
|
+
if (Array.isArray(input)) {
|
|
34
|
+
return { blocks: input };
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
function drawFooter(doc, def, ctx, footerBandHeight, renderBlockArray) {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
const footerConfig = def.footer;
|
|
41
|
+
if (!footerConfig)
|
|
42
|
+
return;
|
|
43
|
+
const layout = normalizeFooter(footerConfig, ctx, doc);
|
|
44
|
+
if (!layout || !layout.blocks.length)
|
|
45
|
+
return;
|
|
46
|
+
if (layout.visible === false)
|
|
47
|
+
return;
|
|
48
|
+
const bandHeight = footerBandHeight;
|
|
49
|
+
if (!bandHeight)
|
|
50
|
+
return;
|
|
51
|
+
const { marginTop = 4, backgroundColor, backgroundImage, blocks } = layout;
|
|
52
|
+
const footerMarginLeft = (_a = layout.marginLeft) !== null && _a !== void 0 ? _a : 0;
|
|
53
|
+
const footerMarginRight = (_b = layout.marginRight) !== null && _b !== void 0 ? _b : 0;
|
|
54
|
+
const contentWidth = doc.page.width - footerMarginLeft - footerMarginRight;
|
|
55
|
+
const footerEnv = {
|
|
56
|
+
marginLeft: footerMarginLeft,
|
|
57
|
+
innerWidth: contentWidth,
|
|
58
|
+
allowPageBreak: false,
|
|
59
|
+
};
|
|
60
|
+
const pageHeight = doc.page.height;
|
|
61
|
+
const bandTop = pageHeight - bandHeight;
|
|
62
|
+
if (backgroundColor) {
|
|
63
|
+
doc.save();
|
|
64
|
+
doc.rect(0, bandTop, doc.page.width, bandHeight).fill(backgroundColor);
|
|
65
|
+
doc.restore();
|
|
66
|
+
}
|
|
67
|
+
if (backgroundImage) {
|
|
68
|
+
try {
|
|
69
|
+
doc.image(backgroundImage, 0, bandTop, {
|
|
70
|
+
width: doc.page.width,
|
|
71
|
+
height: bandHeight,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
// eslint-disable-next-line no-console
|
|
76
|
+
console.warn("Failed to load footer background image:", e);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
doc.save();
|
|
80
|
+
doc.rect(footerMarginLeft, bandTop, contentWidth, bandHeight).clip();
|
|
81
|
+
// translate into footer band
|
|
82
|
+
doc.translate(0, bandTop);
|
|
83
|
+
ctx.inFooter = true;
|
|
84
|
+
const localStartY = marginTop;
|
|
85
|
+
renderBlockArray(blocks, localStartY, footerEnv);
|
|
86
|
+
ctx.inFooter = false;
|
|
87
|
+
doc.restore();
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=footer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/footer.ts"],"names":[],"mappings":";;AAqDA,gCA8DC;AA1GD,SAAS,eAAe,CACtB,KAAkB,EAClB,GAAgB,EAChB,GAAuB;IAEvB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;YACnC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;YACrB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IACG,KAAmB,CAAC,MAAM;QAC3B,KAAK,CAAC,OAAO,CAAE,KAAmB,CAAC,MAAM,CAAC,EAC1C,CAAC;QACD,MAAM,CAAC,GAAG,KAAkB,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,eAAe,EAAE,CAAC,CAAC,eAAe;SACnC,CAAC;IACJ,CAAC;IAED,IAAK,KAAe,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,CAAC,KAAc,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,KAAgB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU,CACxB,GAAuB,EACvB,GAAwB,EACxB,GAAgB,EAChB,gBAAwB,EACxB,gBAA6E;;IAE7E,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO;IAC7C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO;IAErC,MAAM,UAAU,GAAG,gBAAgB,CAAC;IACpC,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE3E,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IAE3E,MAAM,SAAS,GAAc;QAC3B,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,KAAK;KACtB,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAExC,IAAI,eAAe,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE;gBACrC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;gBACrB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAErE,6BAA6B;IAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE1B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,SAAS,CAAC;IAC9B,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IAErB,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Block, CustomDocDefinition, HeaderDef, RenderEnv } from "../../types";
|
|
2
|
+
export declare function drawHeader(doc: PDFKit.PDFDocument, def: CustomDocDefinition, headerBandHeight: number, header: HeaderDef | undefined, renderBlockArray: (blocks: Block[], startY: number, env: RenderEnv) => number): void;
|
|
3
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,GAAG,EAAE,mBAAmB,EACxB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,QA8C9E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawHeader = drawHeader;
|
|
4
|
+
function drawHeader(doc, def, headerBandHeight, header, renderBlockArray) {
|
|
5
|
+
var _a, _b, _c;
|
|
6
|
+
if (!header || !header.blocks.length)
|
|
7
|
+
return;
|
|
8
|
+
if (header.visible === false)
|
|
9
|
+
return;
|
|
10
|
+
if (!headerBandHeight)
|
|
11
|
+
return;
|
|
12
|
+
const bandTop = 0;
|
|
13
|
+
const bandHeight = def.margins.top;
|
|
14
|
+
const headerMarginLeft = (_a = header.marginLeft) !== null && _a !== void 0 ? _a : 0;
|
|
15
|
+
const headerMarginRight = (_b = header.marginRight) !== null && _b !== void 0 ? _b : 0;
|
|
16
|
+
const contentWidth = doc.page.width - headerMarginLeft - headerMarginRight;
|
|
17
|
+
const headerEnv = {
|
|
18
|
+
marginLeft: headerMarginLeft,
|
|
19
|
+
innerWidth: contentWidth,
|
|
20
|
+
allowPageBreak: false,
|
|
21
|
+
};
|
|
22
|
+
if (header.backgroundColor) {
|
|
23
|
+
doc.save();
|
|
24
|
+
doc
|
|
25
|
+
.rect(0, bandTop, doc.page.width, bandHeight)
|
|
26
|
+
.fill(header.backgroundColor);
|
|
27
|
+
doc.restore();
|
|
28
|
+
}
|
|
29
|
+
if (header.backgroundImage) {
|
|
30
|
+
try {
|
|
31
|
+
doc.image(header.backgroundImage, 0, bandTop, {
|
|
32
|
+
width: doc.page.width,
|
|
33
|
+
height: bandHeight,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
// eslint-disable-next-line no-console
|
|
38
|
+
console.warn("Failed to load header background image:", e);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
doc.save();
|
|
42
|
+
doc.rect(headerMarginLeft, bandTop, contentWidth, bandHeight).clip();
|
|
43
|
+
const startY = bandTop + ((_c = header.marginTop) !== null && _c !== void 0 ? _c : 0);
|
|
44
|
+
renderBlockArray(header.blocks, startY, headerEnv);
|
|
45
|
+
doc.restore();
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/header.ts"],"names":[],"mappings":";;AAEA,gCAmDC;AAnDD,SAAgB,UAAU,CACxB,GAAuB,EACvB,GAAwB,EACxB,gBAAwB,EACxB,MAA6B,EAC7B,gBAA6E;;IAE7E,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO;IAC7C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO;IACrC,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,OAAO,GAAG,CAAC,CAAC;IAClB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IAEnC,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IAE3E,MAAM,SAAS,GAAc;QAC3B,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,KAAK;KACtB,CAAC;IAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG;aACA,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;aAC5C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAChC,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE;gBAC5C,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;gBACrB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,CAAC,CAAC,CAAC;IACjD,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEnD,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function normalizeImageSrc(src: string | Buffer | undefined): Promise<string | Buffer | undefined>;
|
|
2
|
+
import { Block } from "../../types";
|
|
3
|
+
export declare function materializeImagesInBlocks(blocks: Block[]): Promise<Block[]>;
|
|
4
|
+
//# sourceMappingURL=image-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-loader.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/image-loader.ts"],"names":[],"mappings":"AAEA,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAgBtC;AAED,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAEhD,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,KAAK,EAAE,GACd,OAAO,CAAC,KAAK,EAAE,CAAC,CA2BlB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.normalizeImageSrc = normalizeImageSrc;
|
|
7
|
+
exports.materializeImagesInBlocks = materializeImagesInBlocks;
|
|
8
|
+
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
async function normalizeImageSrc(src) {
|
|
10
|
+
if (!src)
|
|
11
|
+
return src;
|
|
12
|
+
// Already a Buffer -> fine
|
|
13
|
+
if (Buffer.isBuffer(src))
|
|
14
|
+
return src;
|
|
15
|
+
// Remote URL -> download to Buffer
|
|
16
|
+
if (src.startsWith("http://") || src.startsWith("https://")) {
|
|
17
|
+
const res = await axios_1.default.get(src, {
|
|
18
|
+
responseType: "arraybuffer",
|
|
19
|
+
});
|
|
20
|
+
return Buffer.from(res.data);
|
|
21
|
+
}
|
|
22
|
+
// Otherwise treat as local file path
|
|
23
|
+
return src;
|
|
24
|
+
}
|
|
25
|
+
async function materializeImagesInBlocks(blocks) {
|
|
26
|
+
const out = [];
|
|
27
|
+
for (const block of blocks) {
|
|
28
|
+
if (block.type === "image") {
|
|
29
|
+
const img = { ...block };
|
|
30
|
+
img.src = await normalizeImageSrc(img.src);
|
|
31
|
+
out.push(img);
|
|
32
|
+
}
|
|
33
|
+
else if (block.type === "columns") {
|
|
34
|
+
// recurse into columns
|
|
35
|
+
out.push({
|
|
36
|
+
...block,
|
|
37
|
+
columns: await Promise.all(block.columns.map((col) => materializeImagesInBlocks(col))),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else if (block.type === "signature" && block.blocks) {
|
|
41
|
+
out.push({
|
|
42
|
+
...block,
|
|
43
|
+
blocks: await materializeImagesInBlocks(block.blocks),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
out.push(block);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=image-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-loader.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/image-loader.ts"],"names":[],"mappings":";;;;;AAEA,8CAkBC;AAID,8DA6BC;AArDD,kDAA0B;AAEnB,KAAK,UAAU,iBAAiB,CACrC,GAAgC;IAEhC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IAErB,2BAA2B;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAErC,mCAAmC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAc,GAAG,EAAE;YAC5C,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,OAAO,GAAG,CAAC;AACb,CAAC;AAIM,KAAK,UAAU,yBAAyB,CAC7C,MAAe;IAEf,MAAM,GAAG,GAAY,EAAE,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,EAAE,GAAI,KAAoB,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,uBAAuB;YACvB,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAC3D;aACF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,MAAM,EAAE,MAAM,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC;aACtD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from "./block-renderer";
|
|
2
|
+
export * from "./context";
|
|
3
|
+
export * from "./ensure-space";
|
|
4
|
+
export * from "./env";
|
|
5
|
+
export * from "./finish-page";
|
|
6
|
+
export * from "./footer";
|
|
7
|
+
export * from "./header";
|
|
8
|
+
export * from "./image-loader";
|
|
9
|
+
export * from "./layout";
|
|
10
|
+
export * from "./measure-block-height";
|
|
11
|
+
export * from "./page-background";
|
|
12
|
+
export * from "./page-flow";
|
|
13
|
+
export * from "./page-limit";
|
|
14
|
+
export * from "./qr-bar-code";
|
|
15
|
+
export * from "./signature";
|
|
16
|
+
export * from "./start-page-layout";
|
|
17
|
+
export * from "./styles";
|
|
18
|
+
export * from "./watermark";
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./block-renderer"), exports);
|
|
18
|
+
__exportStar(require("./context"), exports);
|
|
19
|
+
__exportStar(require("./ensure-space"), exports);
|
|
20
|
+
__exportStar(require("./env"), exports);
|
|
21
|
+
__exportStar(require("./finish-page"), exports);
|
|
22
|
+
__exportStar(require("./footer"), exports);
|
|
23
|
+
__exportStar(require("./header"), exports);
|
|
24
|
+
__exportStar(require("./image-loader"), exports);
|
|
25
|
+
__exportStar(require("./layout"), exports);
|
|
26
|
+
__exportStar(require("./measure-block-height"), exports);
|
|
27
|
+
__exportStar(require("./page-background"), exports);
|
|
28
|
+
__exportStar(require("./page-flow"), exports);
|
|
29
|
+
__exportStar(require("./page-limit"), exports);
|
|
30
|
+
__exportStar(require("./qr-bar-code"), exports);
|
|
31
|
+
__exportStar(require("./signature"), exports);
|
|
32
|
+
__exportStar(require("./start-page-layout"), exports);
|
|
33
|
+
__exportStar(require("./styles"), exports);
|
|
34
|
+
__exportStar(require("./watermark"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4CAA0B;AAC1B,iDAA+B;AAC/B,wCAAsB;AACtB,gDAA8B;AAC9B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,yDAAuC;AACvC,oDAAkC;AAClC,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,sDAAoC;AACpC,2CAAyB;AACzB,8CAA4B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Width } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Compute pixel widths for a set of column width descriptors.
|
|
4
|
+
* - number: fixed width
|
|
5
|
+
* - "*": flex unit
|
|
6
|
+
*/
|
|
7
|
+
export declare function computeColumnPixelWidths(widths: Width[], totalWidth: number): number[];
|
|
8
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAaV"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeColumnPixelWidths = computeColumnPixelWidths;
|
|
4
|
+
/**
|
|
5
|
+
* Compute pixel widths for a set of column width descriptors.
|
|
6
|
+
* - number: fixed width
|
|
7
|
+
* - "*": flex unit
|
|
8
|
+
*/
|
|
9
|
+
function computeColumnPixelWidths(widths, totalWidth) {
|
|
10
|
+
let fixedTotal = 0;
|
|
11
|
+
let starCount = 0;
|
|
12
|
+
widths.forEach((w) => {
|
|
13
|
+
if (w === "*")
|
|
14
|
+
starCount++;
|
|
15
|
+
else
|
|
16
|
+
fixedTotal += w;
|
|
17
|
+
});
|
|
18
|
+
const remaining = Math.max(totalWidth - fixedTotal, 0);
|
|
19
|
+
const starWidth = starCount > 0 ? remaining / starCount : 0;
|
|
20
|
+
return widths.map((w) => (w === "*" ? starWidth : w));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/layout.ts"],"names":[],"mappings":";;AAQA,4DAgBC;AArBD;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,MAAe,EACf,UAAkB;IAElB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,KAAK,GAAG;YAAE,SAAS,EAAE,CAAC;;YACtB,UAAU,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Block, RenderEnv, StyleDef } from "../../types";
|
|
2
|
+
export type MeasureBlockHeightFn = (block: Block, env: RenderEnv) => number;
|
|
3
|
+
export declare function createMeasureBlockHeight(deps: {
|
|
4
|
+
doc: PDFKit.PDFDocument;
|
|
5
|
+
styles: Record<string, StyleDef>;
|
|
6
|
+
computeColumnPixelWidths: (widths: (number | "*")[], totalWidth: number) => number[];
|
|
7
|
+
}): MeasureBlockHeightFn;
|
|
8
|
+
//# sourceMappingURL=measure-block-height.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure-block-height.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/measure-block-height.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAML,SAAS,EAET,QAAQ,EAGT,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,CAAC;AAE5E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,wBAAwB,EAAE,CACxB,MAAM,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EACxB,UAAU,EAAE,MAAM,KACf,MAAM,EAAE,CAAC;CACf,GAAG,oBAAoB,CA6QvB"}
|