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,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawSignatureBlock = drawSignatureBlock;
|
|
4
|
+
exports.createProcessSignatureBlock = createProcessSignatureBlock;
|
|
5
|
+
const blocks_1 = require("../blocks");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
function drawSignatureBlock(doc, block, y, env, renderBlockArray) {
|
|
8
|
+
var _a, _b, _c, _d;
|
|
9
|
+
const localLeft = (_a = block.marginLeft) !== null && _a !== void 0 ? _a : 0;
|
|
10
|
+
const localRight = (_b = block.marginRight) !== null && _b !== void 0 ? _b : 0;
|
|
11
|
+
const bandLeft = env.marginLeft + localLeft;
|
|
12
|
+
const bandWidth = Math.max(env.innerWidth - localLeft - localRight, 1);
|
|
13
|
+
const bandHeight = block.height;
|
|
14
|
+
doc.save();
|
|
15
|
+
doc.rect(bandLeft, y, bandWidth, bandHeight).clip();
|
|
16
|
+
if (block.blocks && block.blocks.length) {
|
|
17
|
+
const sigEnv = {
|
|
18
|
+
marginLeft: bandLeft,
|
|
19
|
+
innerWidth: bandWidth,
|
|
20
|
+
allowPageBreak: false,
|
|
21
|
+
};
|
|
22
|
+
renderBlockArray(block.blocks, y, sigEnv);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const imgWidth = (_c = block.width) !== null && _c !== void 0 ? _c : 120;
|
|
26
|
+
const xCenter = bandLeft + (bandWidth - imgWidth) / 2;
|
|
27
|
+
if (block.image) {
|
|
28
|
+
try {
|
|
29
|
+
doc.image(block.image, xCenter, y, { width: imgWidth });
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
// eslint-disable-next-line no-console
|
|
33
|
+
console.warn("Failed to load signature image:", e);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const label = (_d = block.label) !== null && _d !== void 0 ? _d : "Authorized Signatory";
|
|
37
|
+
const labelY = y + bandHeight - 14;
|
|
38
|
+
doc.fontSize(9).text(label, bandLeft, labelY, {
|
|
39
|
+
width: bandWidth,
|
|
40
|
+
align: "center",
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
doc.restore();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates the `processSignatureBlock` function used in the main renderer.
|
|
47
|
+
* It measures inner content, reserves space at the bottom of the page,
|
|
48
|
+
* and updates `ctx.signature*` fields.
|
|
49
|
+
*/
|
|
50
|
+
function createProcessSignatureBlock({ doc, ctx, styles, finishPage, contentEnvFn, }) {
|
|
51
|
+
return (block) => {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
// If a signature is already reserved on this page, move to next page first
|
|
54
|
+
if (ctx.signatureBlock) {
|
|
55
|
+
finishPage(true);
|
|
56
|
+
}
|
|
57
|
+
const env = contentEnvFn(doc);
|
|
58
|
+
const localLeft = (_a = block.marginLeft) !== null && _a !== void 0 ? _a : 0;
|
|
59
|
+
const localRight = (_b = block.marginRight) !== null && _b !== void 0 ? _b : 0;
|
|
60
|
+
const bandWidth = Math.max(env.innerWidth - localLeft - localRight, 1);
|
|
61
|
+
let requiredHeight = block.height;
|
|
62
|
+
if (block.blocks && block.blocks.length) {
|
|
63
|
+
let required = 0;
|
|
64
|
+
const measureImageLike = (mt, mb, h) => {
|
|
65
|
+
return (mt !== null && mt !== void 0 ? mt : 0) + h + (mb !== null && mb !== void 0 ? mb : 0);
|
|
66
|
+
};
|
|
67
|
+
const measureColumns = (c) => {
|
|
68
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
69
|
+
const blockLeft = (_a = c.marginLeft) !== null && _a !== void 0 ? _a : 0;
|
|
70
|
+
const blockRight = (_b = c.marginRight) !== null && _b !== void 0 ? _b : 0;
|
|
71
|
+
const totalWidth = Math.max(bandWidth - blockLeft - blockRight, 1);
|
|
72
|
+
const cols = c.columns;
|
|
73
|
+
const n = cols.length;
|
|
74
|
+
if (!n)
|
|
75
|
+
return ((_c = c.marginTop) !== null && _c !== void 0 ? _c : 0) + ((_d = c.marginBottom) !== null && _d !== void 0 ? _d : 0);
|
|
76
|
+
let colWidths;
|
|
77
|
+
let gap;
|
|
78
|
+
const mode = (_e = c.mode) !== null && _e !== void 0 ? _e : "fixedGap";
|
|
79
|
+
if (mode === "spaceBetween" && n > 1) {
|
|
80
|
+
if (c.widths && c.widths.length === n) {
|
|
81
|
+
colWidths = (0, utils_1.computeColumnPixelWidths)(c.widths, totalWidth);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const equal = totalWidth / n;
|
|
85
|
+
colWidths = Array(n).fill(equal);
|
|
86
|
+
}
|
|
87
|
+
const totalColsWidth = colWidths.reduce((a, b) => a + b, 0);
|
|
88
|
+
const remaining = Math.max(totalWidth - totalColsWidth, 0);
|
|
89
|
+
gap = remaining / (n - 1);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// fixedGap mode
|
|
93
|
+
gap = (_f = c.gap) !== null && _f !== void 0 ? _f : 20;
|
|
94
|
+
const totalGapsWidth = gap * (n - 1);
|
|
95
|
+
const widthForCols = Math.max(totalWidth - totalGapsWidth, 1);
|
|
96
|
+
if (c.widths && c.widths.length === n) {
|
|
97
|
+
colWidths = (0, utils_1.computeColumnPixelWidths)(c.widths, widthForCols);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const equal = widthForCols / n;
|
|
101
|
+
colWidths = Array(n).fill(equal);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const mt = (_g = c.marginTop) !== null && _g !== void 0 ? _g : 0;
|
|
105
|
+
const mb = (_h = c.marginBottom) !== null && _h !== void 0 ? _h : 0;
|
|
106
|
+
const colHeights = [];
|
|
107
|
+
cols.forEach((colBlocks, idx) => {
|
|
108
|
+
const colEnv = {
|
|
109
|
+
marginLeft: 0,
|
|
110
|
+
innerWidth: colWidths[idx],
|
|
111
|
+
allowPageBreak: false,
|
|
112
|
+
};
|
|
113
|
+
let colY = 0;
|
|
114
|
+
for (const b of colBlocks) {
|
|
115
|
+
colY += measureInnerBlock(b, colEnv);
|
|
116
|
+
}
|
|
117
|
+
colHeights.push(colY);
|
|
118
|
+
});
|
|
119
|
+
const maxColHeight = Math.max(...colHeights, 0);
|
|
120
|
+
return mt + maxColHeight + mb;
|
|
121
|
+
};
|
|
122
|
+
const innerEnv = {
|
|
123
|
+
marginLeft: 0,
|
|
124
|
+
innerWidth: bandWidth,
|
|
125
|
+
allowPageBreak: false,
|
|
126
|
+
};
|
|
127
|
+
const measureInnerBlock = (b, envForColumns) => {
|
|
128
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
129
|
+
switch (b.type) {
|
|
130
|
+
case "text": {
|
|
131
|
+
const tb = (0, utils_1.resolveTextBlock)(styles, b);
|
|
132
|
+
const localLeft = (_a = tb.marginLeft) !== null && _a !== void 0 ? _a : 0;
|
|
133
|
+
const localRight = (_b = tb.marginRight) !== null && _b !== void 0 ? _b : 0;
|
|
134
|
+
const width = Math.max(envForColumns.innerWidth - localLeft - localRight, 1);
|
|
135
|
+
doc.fontSize((_c = tb.fontSize) !== null && _c !== void 0 ? _c : 10);
|
|
136
|
+
const isBold = !!tb.bold;
|
|
137
|
+
const isItalic = !!tb.italic;
|
|
138
|
+
let fontName = tb.font;
|
|
139
|
+
if (!fontName) {
|
|
140
|
+
if (isBold && isItalic)
|
|
141
|
+
fontName = "Helvetica-BoldOblique";
|
|
142
|
+
else if (isBold)
|
|
143
|
+
fontName = "Helvetica-Bold";
|
|
144
|
+
else if (isItalic)
|
|
145
|
+
fontName = "Helvetica-Oblique";
|
|
146
|
+
else
|
|
147
|
+
fontName = "Helvetica";
|
|
148
|
+
}
|
|
149
|
+
doc.font(fontName);
|
|
150
|
+
const h = doc.heightOfString(tb.text, { width });
|
|
151
|
+
const gap = (_d = tb.lineGap) !== null && _d !== void 0 ? _d : 4;
|
|
152
|
+
return h + gap;
|
|
153
|
+
}
|
|
154
|
+
case "image": {
|
|
155
|
+
const ib = b;
|
|
156
|
+
const h = (_e = ib.height) !== null && _e !== void 0 ? _e : 50;
|
|
157
|
+
return measureImageLike(ib.marginTop, ib.marginBottom, h);
|
|
158
|
+
}
|
|
159
|
+
case "qr": {
|
|
160
|
+
const qb = b;
|
|
161
|
+
const size = (_f = qb.size) !== null && _f !== void 0 ? _f : 80;
|
|
162
|
+
return measureImageLike(qb.marginTop, qb.marginBottom, size);
|
|
163
|
+
}
|
|
164
|
+
case "barcode": {
|
|
165
|
+
const bb = b;
|
|
166
|
+
const h = (_g = bb.height) !== null && _g !== void 0 ? _g : 40;
|
|
167
|
+
return measureImageLike(bb.marginTop, bb.marginBottom, h);
|
|
168
|
+
}
|
|
169
|
+
case "line": {
|
|
170
|
+
const lb = b;
|
|
171
|
+
const lw = (_h = lb.lineWidth) !== null && _h !== void 0 ? _h : 1;
|
|
172
|
+
const mt = (_j = lb.marginTop) !== null && _j !== void 0 ? _j : 0;
|
|
173
|
+
const mb = (_k = lb.marginBottom) !== null && _k !== void 0 ? _k : 0;
|
|
174
|
+
return mt + lw + mb;
|
|
175
|
+
}
|
|
176
|
+
case "table": {
|
|
177
|
+
const t = b;
|
|
178
|
+
const fakeEnv = {
|
|
179
|
+
marginLeft: (_l = t.marginLeft) !== null && _l !== void 0 ? _l : 0,
|
|
180
|
+
innerWidth: bandWidth - ((_m = t.marginLeft) !== null && _m !== void 0 ? _m : 0) - ((_o = t.marginRight) !== null && _o !== void 0 ? _o : 0),
|
|
181
|
+
allowPageBreak: false,
|
|
182
|
+
};
|
|
183
|
+
return (0, blocks_1.measureTableHeight)(doc, t, fakeEnv, styles, utils_1.computeColumnPixelWidths);
|
|
184
|
+
}
|
|
185
|
+
case "columns":
|
|
186
|
+
return measureColumns(b);
|
|
187
|
+
case "signature":
|
|
188
|
+
return b.height;
|
|
189
|
+
default:
|
|
190
|
+
return 0;
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
for (const inner of block.blocks) {
|
|
194
|
+
required += measureInnerBlock(inner, innerEnv);
|
|
195
|
+
}
|
|
196
|
+
requiredHeight = Math.max(requiredHeight, required);
|
|
197
|
+
}
|
|
198
|
+
const sigHeight = requiredHeight;
|
|
199
|
+
const pageHeight = doc.page.height;
|
|
200
|
+
const candidateTop = pageHeight - doc.page.margins.bottom - sigHeight;
|
|
201
|
+
if (ctx.currentY > candidateTop) {
|
|
202
|
+
// not enough room on this page → push to next page
|
|
203
|
+
finishPage(true);
|
|
204
|
+
}
|
|
205
|
+
const newPageHeight = doc.page.height;
|
|
206
|
+
const newCandidateTop = newPageHeight - doc.page.margins.bottom - sigHeight;
|
|
207
|
+
ctx.signatureBlock = { ...block, height: sigHeight };
|
|
208
|
+
ctx.signatureTopY = newCandidateTop;
|
|
209
|
+
ctx.signatureHeight = sigHeight;
|
|
210
|
+
ctx.signaturePlaced = true;
|
|
211
|
+
ctx.afterSignature = true;
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/signature.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CustomDocDefinition, PageContext } from "../../types";
|
|
2
|
+
import { RenderBlockArrayFn } from "../utils";
|
|
3
|
+
interface StartPageLayoutDeps {
|
|
4
|
+
doc: PDFKit.PDFDocument;
|
|
5
|
+
def: CustomDocDefinition;
|
|
6
|
+
ctx: PageContext;
|
|
7
|
+
headerBandHeight: number;
|
|
8
|
+
renderBlockArray: RenderBlockArrayFn;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Returns the `startNewPageLayout` function used in the main renderer.
|
|
12
|
+
* It:
|
|
13
|
+
* - draws page background
|
|
14
|
+
* - draws header
|
|
15
|
+
* - (if mode is not "last"/"firstLast"/etc) draws watermark
|
|
16
|
+
* - resets `ctx` per new page
|
|
17
|
+
*/
|
|
18
|
+
export declare function createStartNewPageLayout({ doc, def, ctx, headerBandHeight, renderBlockArray, }: StartPageLayoutDeps): () => void;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=start-page-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-page-layout.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/start-page-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAKnB,MAAM,UAAU,CAAC;AAElB,UAAU,mBAAmB;IAC3B,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;CACtC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,GAAG,EACH,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,mBAAmB,cA4BrB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStartNewPageLayout = createStartNewPageLayout;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
/**
|
|
6
|
+
* Returns the `startNewPageLayout` function used in the main renderer.
|
|
7
|
+
* It:
|
|
8
|
+
* - draws page background
|
|
9
|
+
* - draws header
|
|
10
|
+
* - (if mode is not "last"/"firstLast"/etc) draws watermark
|
|
11
|
+
* - resets `ctx` per new page
|
|
12
|
+
*/
|
|
13
|
+
function createStartNewPageLayout({ doc, def, ctx, headerBandHeight, renderBlockArray, }) {
|
|
14
|
+
return () => {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
// background
|
|
17
|
+
(0, utils_1.drawPageBackground)(doc, def.pageBackground);
|
|
18
|
+
// header
|
|
19
|
+
(0, utils_1.drawHeader)(doc, def, headerBandHeight, (_a = def.header) !== null && _a !== void 0 ? _a : undefined, renderBlockArray);
|
|
20
|
+
// watermark for modes that don't depend on "isLast"
|
|
21
|
+
const mode = (_b = def.watermark) === null || _b === void 0 ? void 0 : _b.mode;
|
|
22
|
+
if (def.watermark && !(0, utils_1.watermarkUsesLast)(mode)) {
|
|
23
|
+
(0, utils_1.drawWatermarkForPage)(doc, def.watermark, ctx.pageNumber, false);
|
|
24
|
+
}
|
|
25
|
+
// reset page context
|
|
26
|
+
ctx.currentY = doc.page.margins.top;
|
|
27
|
+
ctx.signatureBlock = null;
|
|
28
|
+
ctx.signatureTopY = null;
|
|
29
|
+
ctx.signatureHeight = 0;
|
|
30
|
+
ctx.signaturePlaced = false;
|
|
31
|
+
ctx.afterSignature = false;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=start-page-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-page-layout.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/start-page-layout.ts"],"names":[],"mappings":";;AAyBA,4DAkCC;AA1DD,oCAMkB;AAUlB;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CAAC,EACvC,GAAG,EACH,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,gBAAgB,GACI;IACpB,OAAO,GAAG,EAAE;;QACV,aAAa;QACb,IAAA,0BAAkB,EAAC,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5C,SAAS;QACT,IAAA,kBAAU,EACR,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,MAAA,GAAG,CAAC,MAAM,mCAAI,SAAS,EACvB,gBAAgB,CACjB,CAAC;QAEF,oDAAoD;QACpD,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,SAAS,0CAAE,IAAI,CAAC;QACjC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,qBAAqB;QACrB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;QAC1B,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;QACzB,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC;QACxB,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC;QAC5B,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FontName, StyleDef, StyleRef, TableCell, TextBlock } from "../../types";
|
|
2
|
+
export declare function mergeStyleDefs(styles: Record<string, StyleDef> | undefined, names: StyleRef): StyleDef;
|
|
3
|
+
export declare function resolveTextBlock(styles: Record<string, StyleDef> | undefined, block: TextBlock): TextBlock;
|
|
4
|
+
export declare function resolveTableCell(styles: Record<string, StyleDef> | undefined, cell: TableCell): TableCell;
|
|
5
|
+
export declare const getFontNameForText: (tb: TextBlock) => FontName;
|
|
6
|
+
export declare const drawStyledText: (doc: PDFKit.PDFDocument, tb: TextBlock, x: number, y: number, width: number) => void;
|
|
7
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,EAC5C,KAAK,EAAE,QAAQ,GACd,QAAQ,CAqBV;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,EAC5C,KAAK,EAAE,SAAS,GACf,SAAS,CAiBX;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,SAAS,GACd,SAAS,CAaX;AAGD,eAAO,MAAM,kBAAkB,GAAI,IAAI,SAAS,KAAG,QAUlD,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,CAAC,WAAW,EACvB,IAAI,SAAS,EACb,GAAG,MAAM,EACT,GAAG,MAAM,EACT,OAAO,MAAM,SAoCd,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawStyledText = exports.getFontNameForText = void 0;
|
|
4
|
+
exports.mergeStyleDefs = mergeStyleDefs;
|
|
5
|
+
exports.resolveTextBlock = resolveTextBlock;
|
|
6
|
+
exports.resolveTableCell = resolveTableCell;
|
|
7
|
+
function mergeStyleDefs(styles, names) {
|
|
8
|
+
const result = {};
|
|
9
|
+
if (!names || !styles)
|
|
10
|
+
return result;
|
|
11
|
+
const arr = Array.isArray(names) ? names : [names];
|
|
12
|
+
for (const name of arr) {
|
|
13
|
+
const st = styles[name];
|
|
14
|
+
if (!st)
|
|
15
|
+
continue;
|
|
16
|
+
if (st.fontSize !== undefined)
|
|
17
|
+
result.fontSize = st.fontSize;
|
|
18
|
+
if (st.lineGap !== undefined)
|
|
19
|
+
result.lineGap = st.lineGap;
|
|
20
|
+
if (st.align !== undefined)
|
|
21
|
+
result.align = st.align;
|
|
22
|
+
if (st.bold !== undefined)
|
|
23
|
+
result.bold = st.bold;
|
|
24
|
+
if (st.italic !== undefined)
|
|
25
|
+
result.italic = st.italic;
|
|
26
|
+
if (st.underline !== undefined)
|
|
27
|
+
result.underline = st.underline;
|
|
28
|
+
if (st.strike !== undefined)
|
|
29
|
+
result.strike = st.strike;
|
|
30
|
+
if (st.link !== undefined)
|
|
31
|
+
result.link = st.link;
|
|
32
|
+
if (st.color !== undefined)
|
|
33
|
+
result.color = st.color;
|
|
34
|
+
if (st.fillColor !== undefined)
|
|
35
|
+
result.fillColor = st.fillColor;
|
|
36
|
+
if (st.font !== undefined)
|
|
37
|
+
result.font = st.font;
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
function resolveTextBlock(styles, block) {
|
|
42
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
43
|
+
const styleDef = mergeStyleDefs(styles, block.style);
|
|
44
|
+
return {
|
|
45
|
+
...styleDef,
|
|
46
|
+
...block,
|
|
47
|
+
fontSize: (_a = block.fontSize) !== null && _a !== void 0 ? _a : styleDef.fontSize,
|
|
48
|
+
lineGap: (_b = block.lineGap) !== null && _b !== void 0 ? _b : styleDef.lineGap,
|
|
49
|
+
align: (_c = block.align) !== null && _c !== void 0 ? _c : styleDef.align,
|
|
50
|
+
bold: (_d = block.bold) !== null && _d !== void 0 ? _d : styleDef.bold,
|
|
51
|
+
italic: (_e = block.italic) !== null && _e !== void 0 ? _e : styleDef.italic,
|
|
52
|
+
underline: (_f = block.underline) !== null && _f !== void 0 ? _f : styleDef.underline,
|
|
53
|
+
strike: (_g = block.strike) !== null && _g !== void 0 ? _g : styleDef.strike,
|
|
54
|
+
link: (_h = block.link) !== null && _h !== void 0 ? _h : styleDef.link,
|
|
55
|
+
color: (_j = block.color) !== null && _j !== void 0 ? _j : styleDef.color,
|
|
56
|
+
// fillColor: block.fillColor ?? styleDef.fillColor,
|
|
57
|
+
font: (_k = block.font) !== null && _k !== void 0 ? _k : styleDef.font,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function resolveTableCell(styles, cell) {
|
|
61
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
62
|
+
const styleDef = mergeStyleDefs(styles, cell.style);
|
|
63
|
+
return {
|
|
64
|
+
...styleDef,
|
|
65
|
+
...cell,
|
|
66
|
+
fontSize: (_a = cell.fontSize) !== null && _a !== void 0 ? _a : styleDef.fontSize,
|
|
67
|
+
align: (_b = cell.align) !== null && _b !== void 0 ? _b : styleDef.align,
|
|
68
|
+
bold: (_c = cell.bold) !== null && _c !== void 0 ? _c : styleDef.bold,
|
|
69
|
+
italic: (_d = cell.italic) !== null && _d !== void 0 ? _d : styleDef.italic,
|
|
70
|
+
color: (_e = cell.color) !== null && _e !== void 0 ? _e : styleDef.color,
|
|
71
|
+
fillColor: (_f = cell.fillColor) !== null && _f !== void 0 ? _f : styleDef.fillColor,
|
|
72
|
+
font: (_g = cell.font) !== null && _g !== void 0 ? _g : styleDef.font,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// Helper to pick a PDFKit font name from bold/italic + optional explicit font
|
|
76
|
+
const getFontNameForText = (tb) => {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
if (tb.font)
|
|
79
|
+
return tb.font;
|
|
80
|
+
const bold = (_a = tb.bold) !== null && _a !== void 0 ? _a : false;
|
|
81
|
+
const italic = (_b = tb.italic) !== null && _b !== void 0 ? _b : false;
|
|
82
|
+
if (bold && italic)
|
|
83
|
+
return "Helvetica-BoldOblique";
|
|
84
|
+
if (bold)
|
|
85
|
+
return "Helvetica-Bold";
|
|
86
|
+
if (italic)
|
|
87
|
+
return "Helvetica-Oblique";
|
|
88
|
+
return "Helvetica";
|
|
89
|
+
};
|
|
90
|
+
exports.getFontNameForText = getFontNameForText;
|
|
91
|
+
const drawStyledText = (doc, tb, x, y, width) => {
|
|
92
|
+
var _a, _b;
|
|
93
|
+
doc.save();
|
|
94
|
+
doc.fontSize((_a = tb.fontSize) !== null && _a !== void 0 ? _a : 10);
|
|
95
|
+
doc.font((0, exports.getFontNameForText)(tb));
|
|
96
|
+
if (tb.color)
|
|
97
|
+
doc.fillColor(tb.color);
|
|
98
|
+
else
|
|
99
|
+
doc.fillColor("black");
|
|
100
|
+
const textHeight = doc.heightOfString(tb.text, { width });
|
|
101
|
+
doc.text(tb.text, x, y, {
|
|
102
|
+
width,
|
|
103
|
+
align: (_b = tb.align) !== null && _b !== void 0 ? _b : "left",
|
|
104
|
+
});
|
|
105
|
+
const underline = tb.underline;
|
|
106
|
+
const strike = tb.strike;
|
|
107
|
+
if (underline) {
|
|
108
|
+
const lineY = y + textHeight;
|
|
109
|
+
doc
|
|
110
|
+
.moveTo(x, lineY)
|
|
111
|
+
.lineTo(x + width, lineY)
|
|
112
|
+
.stroke();
|
|
113
|
+
}
|
|
114
|
+
if (strike) {
|
|
115
|
+
const lineY = y + textHeight / 2;
|
|
116
|
+
doc
|
|
117
|
+
.moveTo(x, lineY)
|
|
118
|
+
.lineTo(x + width, lineY)
|
|
119
|
+
.stroke();
|
|
120
|
+
}
|
|
121
|
+
doc.restore();
|
|
122
|
+
};
|
|
123
|
+
exports.drawStyledText = drawStyledText;
|
|
124
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WatermarkDef, WatermarkMode } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if the watermark mode requires knowledge of the last page.
|
|
4
|
+
*/
|
|
5
|
+
export declare function watermarkUsesLast(mode?: WatermarkMode): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Draw watermark text for a given page.
|
|
8
|
+
* This is extracted so the same logic can be reused from multiple places.
|
|
9
|
+
*/
|
|
10
|
+
export declare function drawWatermarkForPage(doc: PDFKit.PDFDocument, watermark: WatermarkDef, pageNumber: number, isLast: boolean): void;
|
|
11
|
+
//# sourceMappingURL=watermark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watermark.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/watermark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAO/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,IAAI,CAqDN"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.watermarkUsesLast = watermarkUsesLast;
|
|
4
|
+
exports.drawWatermarkForPage = drawWatermarkForPage;
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the watermark mode requires knowledge of the last page.
|
|
7
|
+
*/
|
|
8
|
+
function watermarkUsesLast(mode) {
|
|
9
|
+
return (mode === "last" ||
|
|
10
|
+
mode === "firstLast" ||
|
|
11
|
+
mode === "exceptLast" ||
|
|
12
|
+
mode === "exceptFirstLast");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Draw watermark text for a given page.
|
|
16
|
+
* This is extracted so the same logic can be reused from multiple places.
|
|
17
|
+
*/
|
|
18
|
+
function drawWatermarkForPage(doc, watermark, pageNumber, isLast) {
|
|
19
|
+
const { text, opacity = 0.06, fontSize = 60, color = "gray", angle = 45, mode = "all", } = watermark;
|
|
20
|
+
const shouldDraw = (() => {
|
|
21
|
+
switch (mode) {
|
|
22
|
+
case "all":
|
|
23
|
+
return true;
|
|
24
|
+
case "first":
|
|
25
|
+
return pageNumber === 1;
|
|
26
|
+
case "last":
|
|
27
|
+
return isLast;
|
|
28
|
+
case "firstLast":
|
|
29
|
+
return pageNumber === 1 || isLast;
|
|
30
|
+
case "exceptFirstLast":
|
|
31
|
+
return pageNumber !== 1 && !isLast;
|
|
32
|
+
case "exceptFirst":
|
|
33
|
+
return pageNumber !== 1;
|
|
34
|
+
case "exceptLast":
|
|
35
|
+
return !isLast;
|
|
36
|
+
default:
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
})();
|
|
40
|
+
if (!shouldDraw)
|
|
41
|
+
return;
|
|
42
|
+
const centerX = doc.page.width / 2;
|
|
43
|
+
const centerY = doc.page.height / 2;
|
|
44
|
+
doc.save();
|
|
45
|
+
doc.fillColor(color);
|
|
46
|
+
doc.opacity(opacity);
|
|
47
|
+
doc.fontSize(fontSize);
|
|
48
|
+
const textWidth = doc.widthOfString(text);
|
|
49
|
+
const textHeight = doc.currentLineHeight();
|
|
50
|
+
const x = centerX - textWidth / 2;
|
|
51
|
+
const y = centerY - textHeight / 2;
|
|
52
|
+
doc.rotate(angle, { origin: [centerX, centerY] });
|
|
53
|
+
doc.text(text, x, y);
|
|
54
|
+
doc.restore();
|
|
55
|
+
doc.opacity(1);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=watermark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watermark.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/watermark.ts"],"names":[],"mappings":";;AAKA,8CAOC;AAMD,oDA0DC;AA1ED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAoB;IACpD,OAAO,CACL,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,iBAAiB,CAC3B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,GAAuB,EACvB,SAAuB,EACvB,UAAkB,EAClB,MAAe;IAEf,MAAM,EACJ,IAAI,EACJ,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,EAAE,EACb,KAAK,GAAG,MAAM,EACd,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,KAAK,GACb,GAAG,SAAS,CAAC;IAEd,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,UAAU,KAAK,CAAC,CAAC;YAC1B,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,UAAU,KAAK,CAAC,IAAI,MAAM,CAAC;YACpC,KAAK,iBAAiB;gBACpB,OAAO,UAAU,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACrC,KAAK,aAAa;gBAChB,OAAO,UAAU,KAAK,CAAC,CAAC;YAC1B,KAAK,YAAY;gBACf,OAAO,CAAC,MAAM,CAAC;YACjB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpC,GAAG,CAAC,IAAI,EAAE,CAAC;IAEX,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAE3C,MAAM,CAAC,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC;IAEnC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAErB,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Alignment, BaseBlock, Orientation } from "./common";
|
|
2
|
+
export type BarcodeType = "CODE128" | "EAN13" | "CODE39" | "ITF" | "CODE93";
|
|
3
|
+
export declare const BARCODE_TYPES: Record<BarcodeType, BarcodeType>;
|
|
4
|
+
export interface BarcodeBlock extends BaseBlock {
|
|
5
|
+
type: "barcode";
|
|
6
|
+
value?: string;
|
|
7
|
+
src?: string | Buffer;
|
|
8
|
+
bcType?: BarcodeType;
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
align?: Alignment;
|
|
12
|
+
marginTop?: number;
|
|
13
|
+
marginBottom?: number;
|
|
14
|
+
marginLeft?: number;
|
|
15
|
+
marginRight?: number;
|
|
16
|
+
orientation?: Orientation;
|
|
17
|
+
rotate?: number;
|
|
18
|
+
scale?: number;
|
|
19
|
+
barHeight?: number;
|
|
20
|
+
includetext?: boolean;
|
|
21
|
+
textalign?: "left" | "center" | "right";
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=barcode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barcode.d.ts","sourceRoot":"","sources":["../../src/types/barcode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE5E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CAM1D,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACzC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BARCODE_TYPES = void 0;
|
|
4
|
+
exports.BARCODE_TYPES = {
|
|
5
|
+
CODE128: "CODE128",
|
|
6
|
+
EAN13: "EAN13",
|
|
7
|
+
CODE39: "CODE39",
|
|
8
|
+
ITF: "ITF",
|
|
9
|
+
CODE93: "CODE93",
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=barcode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barcode.js","sourceRoot":"","sources":["../../src/types/barcode.ts"],"names":[],"mappings":";;;AAIa,QAAA,aAAa,GAAqC;IAC7D,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACjB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { BaseBlock, Block, Width } from "./common";
|
|
2
|
+
export interface ColumnsBlock extends BaseBlock {
|
|
3
|
+
type: "columns";
|
|
4
|
+
columns: Block[][];
|
|
5
|
+
gap?: number;
|
|
6
|
+
widths?: Width[];
|
|
7
|
+
mode?: "fixedGap" | "spaceBetween";
|
|
8
|
+
keepTogether?: boolean;
|
|
9
|
+
marginTop?: number;
|
|
10
|
+
marginBottom?: number;
|
|
11
|
+
marginLeft?: number;
|
|
12
|
+
marginRight?: number;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=columns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../src/types/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../src/types/columns.ts"],"names":[],"mappings":""}
|