@pdfme/generator 5.3.6 → 5.3.7-dev.3

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.
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.segmenter = exports.shape = exports.other = exports.textType = exports.business = exports.barcode = exports.envelope = exports.label = void 0;
4
+ const レターパック = require('./レターパック.json');
5
+ const レターパックライト = require('./レターパックライト.json');
6
+ const レターパックプラス = require('./レターパックプラス.json');
7
+ const 宛名8面 = require('./宛名8面.json');
8
+ const 装飾なしラベル24面 = require('./装飾なしラベル24面.json');
9
+ const 装飾なしラベル24面中央揃え = require('./装飾なしラベル24面中央揃え.json');
10
+ const スマートレター = require('./スマートレター.json');
11
+ const ストライプラベル24面 = require('./ストライプラベル24面.json');
12
+ const フレームラベル24面 = require('./フレームラベル24面.json');
13
+ const シンプルラベル24面 = require('./シンプルラベル24面.json');
14
+ const 郵便はがき横書き = require('./郵便はがき横書き.json');
15
+ const 長形3号封筒 = require('./長形3号封筒.json');
16
+ const 洋長3号封筒 = require('./洋長3号封筒.json');
17
+ const 角形2号封筒 = require('./角形2号封筒.json');
18
+ const 名刺サイズの名札 = require('./名刺サイズの名札.json');
19
+ const connpass名札 = require('./connpass名札.json');
20
+ const ゆうパケット = require('./ゆうパケット.json');
21
+ const Aone31555QRコード = require('./Aone31555QRコード.json');
22
+ const Aone31553QRコード = require('./Aone31553QRコード.json');
23
+ const Aone72230JANコード短縮 = require('./Aone72230JANコード短縮.json');
24
+ const Aone72230JANコード標準 = require('./Aone72230JANコード標準.json');
25
+ const Aone72312宛名 = require('./Aone72312宛名.json');
26
+ const 領収書x4 = require('./領収書x4.json');
27
+ const 領収書 = require('./領収書.json');
28
+ const 表彰状 = require('./表彰状.json');
29
+ const 見積書 = require('./見積書.json');
30
+ const 請求書 = require('./請求書.json');
31
+ const 納品書 = require('./納品書.json');
32
+ const 書類送付状 = require('./書類送付状.json');
33
+ const 履歴書 = require('./履歴書.json');
34
+ const 労働条件通知書 = require('./労働条件通知書.json');
35
+ const z97mmx210mm = require('./z97mmx210mm.json');
36
+ const barcodes = require('./barcodes.json');
37
+ const canvasPdf = require('./canvasPdf.json');
38
+ const background = require('./background.json');
39
+ const dynamicFontSizeHorizontal = require('./dynamicFontSizeHorizontal.json');
40
+ const dynamicFontSizeVertical = require('./dynamicFontSizeVertical.json');
41
+ const rotation = require('./rotation.json');
42
+ const verticalAlignmentTop = require('./verticalAlignmentTop.json');
43
+ const verticalAlignmentMiddle = require('./verticalAlignmentMiddle.json');
44
+ const verticalAlignmentBottom = require('./verticalAlignmentBottom.json');
45
+ const test = require('./test.json');
46
+ const shapes = require('./shapes.json');
47
+ const pet = require('./pet.json');
48
+ const pdfImage = require('./pdfImage.json');
49
+ const underlineStrikethrough = require('./underlineStrikethrough.json');
50
+ const multiVariableText = require('./multiVariableText.json');
51
+ const preVersion5Format = require('./preVersion5Format.json');
52
+ const segmenterEnglish = require('./segmenterEnglish.json');
53
+ const segmenterJapanese = require('./segmenterJapanese.json');
54
+ exports.label = {
55
+ 宛名8面,
56
+ シンプルラベル24面,
57
+ フレームラベル24面,
58
+ ストライプラベル24面,
59
+ 装飾なしラベル24面,
60
+ 装飾なしラベル24面中央揃え,
61
+ 郵便はがき横書き,
62
+ レターパック,
63
+ レターパックライト,
64
+ レターパックプラス,
65
+ スマートレター,
66
+ ゆうパケット,
67
+ Aone72312宛名,
68
+ 名刺サイズの名札,
69
+ connpass名札,
70
+ };
71
+ exports.envelope = {
72
+ 長形3号封筒,
73
+ 洋長3号封筒,
74
+ 角形2号封筒,
75
+ };
76
+ exports.barcode = {
77
+ Aone31555QRコード,
78
+ Aone31553QRコード,
79
+ Aone72230JANコード短縮,
80
+ Aone72230JANコード標準,
81
+ barcodes,
82
+ };
83
+ exports.business = {
84
+ 領収書,
85
+ 領収書x4,
86
+ 表彰状,
87
+ 見積書,
88
+ 請求書,
89
+ 納品書,
90
+ 書類送付状,
91
+ 履歴書,
92
+ 労働条件通知書,
93
+ };
94
+ // These tests are slower, so we allow more time for them to pass
95
+ exports.textType = {
96
+ dynamicFontSizeHorizontal,
97
+ dynamicFontSizeVertical,
98
+ verticalAlignmentTop,
99
+ verticalAlignmentMiddle,
100
+ verticalAlignmentBottom,
101
+ underlineStrikethrough,
102
+ multiVariableText,
103
+ };
104
+ exports.other = {
105
+ test,
106
+ preVersion5Format,
107
+ z97mmx210mm,
108
+ canvasPdf,
109
+ background,
110
+ rotation,
111
+ pet,
112
+ pdfImage,
113
+ };
114
+ exports.shape = {
115
+ shapes,
116
+ };
117
+ exports.segmenter = {
118
+ segmenterEnglish,
119
+ segmenterJapanese,
120
+ };
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../__tests__/assets/templates/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
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
+ const generate_1 = __importDefault(require("../src/generate"));
7
+ const common_1 = require("@pdfme/common");
8
+ const utils_1 = require("./utils");
9
+ require("jest-image-snapshot");
10
+ describe('generate integrate test', () => {
11
+ describe('basic generator', () => {
12
+ const textObject = (x, y, name = 'a') => ({
13
+ name,
14
+ type: 'text',
15
+ content: '',
16
+ position: { x, y },
17
+ width: 100,
18
+ height: 100,
19
+ fontSize: 13,
20
+ });
21
+ const singleSchemaTemplate = {
22
+ basePdf: common_1.BLANK_PDF,
23
+ schemas: [[textObject(0, 0), textObject(25, 25, 'b')]],
24
+ };
25
+ const multiSchemasTemplate = {
26
+ basePdf: 'data:application/pdf;base64,JVBERi0xLjcNJeLjz9MNCjYgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgMTg0NC9PIDgvRSAxMTEwL04gMi9UIDE1NzAvSCBbIDQyMyAxMzFdPj4NZW5kb2JqDSAgICAgICAgICAgICAgICAgICAgICAgDQoxMSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgMy9QcmVkaWN0b3IgMTI+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvSURbPEJBMTk5MUY0MThCN0IyMTEwQTAwNjc0NThCNkJDNjIzPjxGOEE4OEZEMzMzNjQ2OTQ2QkE1ODMzM0M4MEFEMDFFNj5dL0luZGV4WzYgN10vTGVuZ3RoIDM2L1ByZXYgMTU3MS9Sb290IDcgMCBSL1NpemUgMTMvVHlwZS9YUmVmL1dbMSAyIDBdPj5zdHJlYW0NCmjeYmJkEGBiYJJiYmDQZWJgvA+k45gY/j4Aso0BAgwAISQDuA0KZW5kc3RyZWFtDWVuZG9iag1zdGFydHhyZWYNCjANCiUlRU9GDQogICAgICAgIA0KMTIgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA1Ny9TIDQ0Pj5zdHJlYW0NCmjeYmBgYGJgYLzCwAgkbRk4GBCAAyjGxMDCwNFwiOGAQvkhJCkGZihmYIhj4GhkSGEACDAAvy4F4g0KZW5kc3RyZWFtDWVuZG9iag03IDAgb2JqDTw8L1BhZ2VzIDUgMCBSL1R5cGUvQ2F0YWxvZz4+DWVuZG9iag04IDAgb2JqDTw8L0Fubm90c1tdL0JsZWVkQm94WzAgMCA1OTUuNDQgODQxLjkyXS9Db250ZW50cyA5IDAgUi9Dcm9wQm94WzAgMCA1OTUuNDQgODQxLjkyXS9NZWRpYUJveFswIDAgNTk1LjQ0IDg0MS45Ml0vUGFyZW50IDUgMCBSL1Jlc291cmNlczw8L1hPYmplY3Q8PC9GbTAgMTAgMCBSPj4+Pi9Sb3RhdGUgMC9UcmltQm94WzAgMCA1OTUuNDQgODQxLjkyXS9UeXBlL1BhZ2U+Pg1lbmRvYmoNOSAwIG9iag08PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDI2Pj5zdHJlYW0NCkiJKlQwUAjx0XfLNVBwyVcIVAAIMAAiagP4DQplbmRzdHJlYW0NZW5kb2JqDTEwIDAgb2JqDTw8L0JCb3hbMzI3NjguMCAzMjc2OC4wIC0zMjc2OC4wIC0zMjc2OC4wXS9GaWx0ZXIvRmxhdGVEZWNvZGUvRm9ybVR5cGUgMS9MZW5ndGggMTQvTWF0cml4WzEgMCAwIDEgMCAwXS9SZXNvdXJjZXM8PD4+L1N1YnR5cGUvRm9ybS9UeXBlL1hPYmplY3Q+PnN0cmVhbQ0KSIkq5ArkAggwAAKSANcNCmVuZHN0cmVhbQ1lbmRvYmoNMSAwIG9iag08PC9Bbm5vdHNbXS9CbGVlZEJveFswIDAgNTk1LjQ0IDg0MS45Ml0vQ29udGVudHMgMiAwIFIvQ3JvcEJveFswIDAgNTk1LjQ0IDg0MS45Ml0vTWVkaWFCb3hbMCAwIDU5NS40NCA4NDEuOTJdL1BhcmVudCA1IDAgUi9SZXNvdXJjZXM8PC9YT2JqZWN0PDwvRm0wIDEwIDAgUj4+Pj4vUm90YXRlIDAvVHJpbUJveFswIDAgNTk1LjQ0IDg0MS45Ml0vVHlwZS9QYWdlPj4NZW5kb2JqDTIgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNj4+c3RyZWFtDQpIiSpUMFAI8dF3yzVQcMlXCFQACDAAImoD+A0KZW5kc3RyZWFtDWVuZG9iag0zIDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9GaXJzdCA0L0xlbmd0aCA1Mi9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN4yVTBQsLHRd84vzStRMNL3zkwpjrYAigUpGILIWP2QyoJU/YDE9NRiOzuAAAMAETgMkw0KZW5kc3RyZWFtDWVuZG9iag00IDAgb2JqDTw8L0RlY29kZVBhcm1zPDwvQ29sdW1ucyAzL1ByZWRpY3RvciAxMj4+L0ZpbHRlci9GbGF0ZURlY29kZS9JRFs8QkExOTkxRjQxOEI3QjIxMTBBMDA2NzQ1OEI2QkM2MjM+PEY4QTg4RkQzMzM2NDY5NDZCQTU4MzMzQzgwQUQwMUU2Pl0vTGVuZ3RoIDMzL1Jvb3QgNyAwIFIvU2l6ZSA2L1R5cGUvWFJlZi9XWzEgMiAwXT4+c3RyZWFtDQpo3mJiYGBgYmQJY2JgvM/EwBAHpCcwMf56ABBgABstBBINCmVuZHN0cmVhbQ1lbmRvYmoNc3RhcnR4cmVmDQoxMTYNCiUlRU9GDQo=',
27
+ schemas: [[textObject(0, 0)], [textObject(25, 25, 'b')]],
28
+ };
29
+ const singleInputs = [{ a: 'a', b: 'b' }];
30
+ const multiInputs = [
31
+ { a: 'a-1', b: 'b-1' },
32
+ { a: 'a-2', b: 'b-2' },
33
+ ];
34
+ const testCases = [
35
+ {
36
+ template: singleSchemaTemplate,
37
+ inputs: singleInputs,
38
+ testName: 'singleSchemaTemplate with singleInputs',
39
+ },
40
+ {
41
+ template: singleSchemaTemplate,
42
+ inputs: multiInputs,
43
+ testName: 'singleSchemaTemplate with multiInputs',
44
+ },
45
+ {
46
+ template: multiSchemasTemplate,
47
+ inputs: singleInputs,
48
+ testName: 'multiSchemasTemplate with singleInputs',
49
+ },
50
+ {
51
+ template: multiSchemasTemplate,
52
+ inputs: multiInputs,
53
+ testName: 'multiSchemasTemplate with multiInputs',
54
+ },
55
+ ];
56
+ // testCases for
57
+ for (let i = 0; i < testCases.length; i += 1) {
58
+ const { template, inputs, testName } = testCases[i];
59
+ test(testName, async () => {
60
+ const pdf = await (0, generate_1.default)({ inputs, template });
61
+ const images = await (0, utils_1.pdfToImages)(pdf);
62
+ for (let i = 0; i < images.length; i++) {
63
+ expect(images[i]).toMatchImageSnapshot({
64
+ customSnapshotIdentifier: `${testName}-${i + 1}`,
65
+ });
66
+ }
67
+ });
68
+ }
69
+ });
70
+ describe('use fontColor template', () => {
71
+ test(`sample`, async () => {
72
+ const inputs = [{ name: 'here is purple color' }];
73
+ const template = {
74
+ basePdf: common_1.BLANK_PDF,
75
+ schemas: [
76
+ [
77
+ {
78
+ name: 'name',
79
+ type: 'text',
80
+ content: '',
81
+ position: { x: 30, y: 30 },
82
+ width: 100,
83
+ height: 20,
84
+ fontColor: '#7d2ae8',
85
+ },
86
+ ],
87
+ ],
88
+ };
89
+ const pdf = await (0, generate_1.default)({ inputs, template });
90
+ const images = await (0, utils_1.pdfToImages)(pdf);
91
+ for (let i = 0; i < images.length; i++) {
92
+ expect(images[i]).toMatchImageSnapshot({
93
+ customSnapshotIdentifier: `fontColor-${i + 1}`,
94
+ });
95
+ }
96
+ });
97
+ });
98
+ describe('use fontSubset template', () => {
99
+ test(`sample`, async () => {
100
+ const inputs = [{ field1: 'SauceHanSansJP', field2: 'SauceHanSerifJP' }];
101
+ const template = {
102
+ basePdf: common_1.BLANK_PDF,
103
+ schemas: [
104
+ [
105
+ {
106
+ name: 'field1',
107
+ type: 'text',
108
+ content: '',
109
+ position: { x: 30, y: 30 },
110
+ width: 100,
111
+ height: 20,
112
+ fontName: 'SauceHanSansJP',
113
+ },
114
+ {
115
+ name: 'field2',
116
+ type: 'text',
117
+ content: '',
118
+ position: { x: 60, y: 60 },
119
+ width: 100,
120
+ height: 20,
121
+ fontName: 'SauceHanSerifJP',
122
+ },
123
+ ],
124
+ ],
125
+ };
126
+ jest.setTimeout(30000);
127
+ const { SauceHanSansJP, SauceHanSerifJP } = (0, utils_1.getFont)();
128
+ const pdf = await (0, generate_1.default)({
129
+ inputs,
130
+ template,
131
+ options: {
132
+ font: {
133
+ SauceHanSansJP: {
134
+ data: SauceHanSansJP.data,
135
+ fallback: true,
136
+ subset: false,
137
+ },
138
+ SauceHanSerifJP: {
139
+ data: SauceHanSerifJP.data,
140
+ subset: false,
141
+ },
142
+ },
143
+ },
144
+ });
145
+ const images = await (0, utils_1.pdfToImages)(pdf);
146
+ for (let i = 0; i < images.length; i++) {
147
+ expect(images[i]).toMatchImageSnapshot({
148
+ customSnapshotIdentifier: `fontSubset-${i + 1}`,
149
+ });
150
+ }
151
+ }, 10000);
152
+ });
153
+ });
154
+ describe('check validation', () => {
155
+ test(`inputs length is 0`, async () => {
156
+ const inputs = [];
157
+ const template = {
158
+ basePdf: common_1.BLANK_PDF,
159
+ schemas: [
160
+ [
161
+ {
162
+ name: 'a',
163
+ type: 'text',
164
+ content: '',
165
+ position: { x: 0, y: 0 },
166
+ width: 100,
167
+ height: 100,
168
+ },
169
+ ],
170
+ ],
171
+ };
172
+ try {
173
+ await (0, generate_1.default)({ inputs, template, options: { font: (0, utils_1.getFont)() } });
174
+ fail();
175
+ }
176
+ catch (e) {
177
+ expect(e.message).toEqual(`[@pdfme/common] Invalid argument:
178
+ --------------------------
179
+ ERROR POSITION: inputs
180
+ ERROR MESSAGE: Array must contain at least 1 element(s)
181
+ --------------------------`);
182
+ }
183
+ });
184
+ test(`missing fallback font`, async () => {
185
+ const inputs = [{ a: 'test' }];
186
+ const template = {
187
+ basePdf: common_1.BLANK_PDF,
188
+ schemas: [
189
+ [
190
+ {
191
+ name: 'a',
192
+ type: 'text',
193
+ content: '',
194
+ position: { x: 0, y: 0 },
195
+ width: 100,
196
+ height: 100,
197
+ },
198
+ ],
199
+ ],
200
+ };
201
+ const font = (0, utils_1.getFont)();
202
+ font.Roboto.fallback = false;
203
+ font.SauceHanSansJP.fallback = false;
204
+ font.SauceHanSerifJP.fallback = false;
205
+ try {
206
+ await (0, generate_1.default)({ inputs, template, options: { font } });
207
+ fail();
208
+ }
209
+ catch (e) {
210
+ expect(e.message).toEqual(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.
211
+ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
212
+ }
213
+ });
214
+ test(`too many fallback font`, async () => {
215
+ const inputs = [{ a: 'test' }];
216
+ const template = {
217
+ basePdf: common_1.BLANK_PDF,
218
+ schemas: [
219
+ [
220
+ {
221
+ name: 'a',
222
+ type: 'text',
223
+ content: '',
224
+ position: { x: 0, y: 0 },
225
+ width: 100,
226
+ height: 100,
227
+ },
228
+ ],
229
+ ],
230
+ };
231
+ const font = (0, utils_1.getFont)();
232
+ font.Roboto.fallback = false;
233
+ font.SauceHanSansJP.fallback = true;
234
+ font.SauceHanSerifJP.fallback = true;
235
+ try {
236
+ await (0, generate_1.default)({ inputs, template, options: { font } });
237
+ fail();
238
+ }
239
+ catch (e) {
240
+ expect(e.message).toEqual(`[@pdfme/common] 2 fallback flags found in font. true fallback flag must be only one.
241
+ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
242
+ }
243
+ });
244
+ test(`missing font in template.schemas`, async () => {
245
+ const inputs = [{ a: 'test' }];
246
+ const template = {
247
+ basePdf: common_1.BLANK_PDF,
248
+ schemas: [
249
+ [
250
+ {
251
+ name: 'a',
252
+ type: 'text',
253
+ content: '',
254
+ fontName: 'SauceHanSansJP2',
255
+ position: { x: 0, y: 0 },
256
+ width: 100,
257
+ height: 100,
258
+ },
259
+ {
260
+ name: 'b',
261
+ type: 'text',
262
+ content: '',
263
+ position: { x: 0, y: 0 },
264
+ width: 100,
265
+ height: 100,
266
+ },
267
+ ],
268
+ ],
269
+ };
270
+ try {
271
+ await (0, generate_1.default)({ inputs, template, options: { font: (0, utils_1.getFont)() } });
272
+ fail();
273
+ }
274
+ catch (e) {
275
+ expect(e.message).toEqual(`[@pdfme/common] SauceHanSansJP2 of template.schemas is not found in font.
276
+ Check this document: https://pdfme.com/docs/custom-fonts`);
277
+ }
278
+ });
279
+ });
280
+ //# sourceMappingURL=generate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../../__tests__/generate.test.ts"],"names":[],"mappings":"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"}
@@ -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
+ const generate_1 = __importDefault(require("../src/generate"));
7
+ const templates_1 = require("./assets/templates");
8
+ const common_1 = require("@pdfme/common");
9
+ const schemas_1 = require("@pdfme/schemas");
10
+ const utils_1 = require("./utils");
11
+ require("jest-image-snapshot");
12
+ const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '1.5');
13
+ describe('generate integration test(label, envelope)', () => {
14
+ describe.each([templates_1.label, templates_1.envelope])('%s', (templateData) => {
15
+ const entries = Object.entries(templateData);
16
+ for (let l = 0; l < entries.length; l += 1) {
17
+ const [key, template] = entries[l];
18
+ // eslint-disable-next-line no-loop-func
19
+ test(`snapshot ${key}`, async () => {
20
+ const inputs = (0, common_1.getInputFromTemplate)(template);
21
+ const font = (0, utils_1.getFont)();
22
+ font.SauceHanSansJP.fallback = false;
23
+ font.SauceHanSerifJP.fallback = false;
24
+ font['NotoSerifJP-Regular'].fallback = false;
25
+ font.NotoSerifJP.fallback = false;
26
+ font.NotoSansJP.fallback = false;
27
+ const hrstart = process.hrtime();
28
+ const pdf = await (0, generate_1.default)({
29
+ inputs,
30
+ template,
31
+ plugins: { text: schemas_1.text, image: schemas_1.image },
32
+ options: { font },
33
+ });
34
+ const hrend = process.hrtime(hrstart);
35
+ const execSeconds = hrend[0] + hrend[1] / 1000000000;
36
+ if (process.env.CI) {
37
+ expect(execSeconds).toBeLessThan(PERFORMANCE_THRESHOLD);
38
+ }
39
+ else if (execSeconds >= PERFORMANCE_THRESHOLD) {
40
+ console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
41
+ }
42
+ const images = await (0, utils_1.pdfToImages)(pdf);
43
+ for (let i = 0; i < images.length; i++) {
44
+ expect(images[i]).toMatchImageSnapshot({
45
+ customSnapshotIdentifier: `${key}-${i + 1}`,
46
+ });
47
+ }
48
+ });
49
+ }
50
+ });
51
+ });
52
+ //# sourceMappingURL=integration1.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration1.test.js","sourceRoot":"","sources":["../../../__tests__/integration1.test.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,kDAAqD;AACrD,0CAAqD;AACrD,4CAA6C;AAC7C,mCAA+C;AAC/C,+BAA6B;AAE7B,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK,CAAC,CAAC;AAErF,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,iBAAK,EAAE,oBAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,QAAQ,CAAC,CAAC;gBAE9C,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAQ,EAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAJ,cAAI,EAAE,KAAK,EAAL,eAAK,EAAE;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;oBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;iBACzD;qBAAM,IAAI,WAAW,IAAI,qBAAqB,EAAE;oBAC/C,OAAO,CAAC,IAAI,CACV,+BAA+B,GAAG,OAAO,WAAW,6CAA6C,qBAAqB,WAAW,CAClI,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;wBACrC,wBAAwB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;qBAC5C,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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
+ const generate_1 = __importDefault(require("../src/generate"));
7
+ const templates_1 = require("./assets/templates");
8
+ const common_1 = require("@pdfme/common");
9
+ const schemas_1 = require("@pdfme/schemas");
10
+ const utils_1 = require("./utils");
11
+ require("jest-image-snapshot");
12
+ const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '2.0');
13
+ describe('generate integration test(barcode, business)', () => {
14
+ describe.each([templates_1.barcode, templates_1.business])('%s', (templateData) => {
15
+ const entries = Object.entries(templateData);
16
+ for (let l = 0; l < entries.length; l += 1) {
17
+ const [key, template] = entries[l];
18
+ // eslint-disable-next-line no-loop-func
19
+ test(`snapshot ${key}`, async () => {
20
+ const inputs = (0, common_1.getInputFromTemplate)(template);
21
+ const font = (0, utils_1.getFont)();
22
+ font.SauceHanSansJP.fallback = false;
23
+ font.SauceHanSerifJP.fallback = false;
24
+ font['NotoSerifJP-Regular'].fallback = false;
25
+ font.NotoSerifJP.fallback = false;
26
+ font.NotoSansJP.fallback = false;
27
+ const hrstart = process.hrtime();
28
+ const pdf = await (0, generate_1.default)({
29
+ inputs,
30
+ template,
31
+ plugins: { text: schemas_1.text, image: schemas_1.image, ...schemas_1.barcodes },
32
+ options: { font },
33
+ });
34
+ const hrend = process.hrtime(hrstart);
35
+ const execSeconds = hrend[0] + hrend[1] / 1000000000;
36
+ if (process.env.CI) {
37
+ expect(execSeconds).toBeLessThan(PERFORMANCE_THRESHOLD);
38
+ }
39
+ else if (execSeconds >= PERFORMANCE_THRESHOLD) {
40
+ console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
41
+ }
42
+ const images = await (0, utils_1.pdfToImages)(pdf);
43
+ for (let i = 0; i < images.length; i++) {
44
+ expect(images[i]).toMatchImageSnapshot({
45
+ customSnapshotIdentifier: `${key}-${i + 1}`,
46
+ });
47
+ }
48
+ });
49
+ }
50
+ });
51
+ });
52
+ //# sourceMappingURL=integration2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration2.test.js","sourceRoot":"","sources":["../../../__tests__/integration2.test.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,kDAAuD;AACvD,0CAAqD;AACrD,4CAAuD;AACvD,mCAA+C;AAC/C,+BAA6B;AAE7B,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK,CAAC,CAAC;AAErF,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,QAAQ,CAAC,IAAI,CAAC,CAAC,mBAAO,EAAE,oBAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,QAAQ,CAAC,CAAC;gBAE9C,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAQ,EAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAJ,cAAI,EAAE,KAAK,EAAL,eAAK,EAAE,GAAG,kBAAQ,EAAE;oBACrC,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;oBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;iBACzD;qBAAM,IAAI,WAAW,IAAI,qBAAqB,EAAE;oBAC/C,OAAO,CAAC,IAAI,CACV,+BAA+B,GAAG,OAAO,WAAW,6CAA6C,qBAAqB,WAAW,CAClI,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;wBACrC,wBAAwB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;qBAC5C,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,72 @@
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
+ const generate_1 = __importDefault(require("../src/generate"));
7
+ const templates_1 = require("./assets/templates");
8
+ const common_1 = require("@pdfme/common");
9
+ const schemas_1 = require("@pdfme/schemas");
10
+ const utils_1 = require("./utils");
11
+ require("jest-image-snapshot");
12
+ const signature = {
13
+ pdf: schemas_1.image.pdf,
14
+ ui: () => { },
15
+ propPanel: {
16
+ ...schemas_1.image.propPanel,
17
+ defaultSchema: {
18
+ ...schemas_1.image.propPanel.defaultSchema,
19
+ type: 'signature',
20
+ },
21
+ },
22
+ };
23
+ const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '1.5');
24
+ describe('generate integration test(other, shape)', () => {
25
+ describe.each([templates_1.other, templates_1.shape])('%s', (templateData) => {
26
+ const entries = Object.entries(templateData);
27
+ for (let l = 0; l < entries.length; l += 1) {
28
+ const [key, template] = entries[l];
29
+ // eslint-disable-next-line no-loop-func
30
+ test(`snapshot ${key}`, async () => {
31
+ const inputs = (0, common_1.getInputFromTemplate)(template);
32
+ const font = (0, utils_1.getFont)();
33
+ font.SauceHanSansJP.fallback = false;
34
+ font.SauceHanSerifJP.fallback = false;
35
+ font['NotoSerifJP-Regular'].fallback = false;
36
+ font.NotoSerifJP.fallback = false;
37
+ font.NotoSansJP.fallback = false;
38
+ const hrstart = process.hrtime();
39
+ const pdf = await (0, generate_1.default)({
40
+ inputs,
41
+ template,
42
+ plugins: {
43
+ text: schemas_1.text,
44
+ image: schemas_1.image,
45
+ svg: schemas_1.svg,
46
+ line: schemas_1.line,
47
+ rectangle: schemas_1.rectangle,
48
+ ellipse: schemas_1.ellipse,
49
+ signature,
50
+ qrcode: schemas_1.barcodes.qrcode,
51
+ },
52
+ options: { font },
53
+ });
54
+ const hrend = process.hrtime(hrstart);
55
+ const execSeconds = hrend[0] + hrend[1] / 1000000000;
56
+ if (process.env.CI) {
57
+ expect(execSeconds).toBeLessThan(PERFORMANCE_THRESHOLD);
58
+ }
59
+ else if (execSeconds >= PERFORMANCE_THRESHOLD) {
60
+ console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
61
+ }
62
+ const images = await (0, utils_1.pdfToImages)(pdf);
63
+ for (let i = 0; i < images.length; i++) {
64
+ expect(images[i]).toMatchImageSnapshot({
65
+ customSnapshotIdentifier: `${key}-${i + 1}`,
66
+ });
67
+ }
68
+ });
69
+ }
70
+ });
71
+ });
72
+ //# sourceMappingURL=integration3.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration3.test.js","sourceRoot":"","sources":["../../../__tests__/integration3.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
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
+ const generate_1 = __importDefault(require("../src/generate"));
7
+ const templates_1 = require("./assets/templates");
8
+ const common_1 = require("@pdfme/common");
9
+ const schemas_1 = require("@pdfme/schemas");
10
+ const utils_1 = require("./utils");
11
+ require("jest-image-snapshot");
12
+ const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '2.5');
13
+ jest.setTimeout(30000);
14
+ describe('generate integration test(slower)', () => {
15
+ describe.each([templates_1.textType])('%s', (templateData) => {
16
+ const entries = Object.entries(templateData);
17
+ for (let l = 0; l < entries.length; l += 1) {
18
+ const [key, template] = entries[l];
19
+ // eslint-disable-next-line no-loop-func
20
+ test(`snapshot ${key}`, async () => {
21
+ const inputs = (0, common_1.getInputFromTemplate)(template);
22
+ const font = (0, utils_1.getFont)();
23
+ font.SauceHanSansJP.fallback = false;
24
+ font.SauceHanSerifJP.fallback = false;
25
+ font['NotoSerifJP-Regular'].fallback = false;
26
+ font.NotoSerifJP.fallback = false;
27
+ font.NotoSansJP.fallback = false;
28
+ const hrstart = process.hrtime();
29
+ const pdf = await (0, generate_1.default)({
30
+ inputs,
31
+ template,
32
+ plugins: { text: schemas_1.text, image: schemas_1.image, multiVariableText: schemas_1.multiVariableText, ...schemas_1.barcodes },
33
+ options: { font },
34
+ });
35
+ const hrend = process.hrtime(hrstart);
36
+ const execSeconds = hrend[0] + hrend[1] / 1000000000;
37
+ if (process.env.CI) {
38
+ expect(execSeconds).toBeLessThan(PERFORMANCE_THRESHOLD);
39
+ }
40
+ else if (execSeconds >= PERFORMANCE_THRESHOLD) {
41
+ console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
42
+ }
43
+ const images = await (0, utils_1.pdfToImages)(pdf);
44
+ for (let i = 0; i < images.length; i++) {
45
+ expect(images[i]).toMatchImageSnapshot({
46
+ customSnapshotIdentifier: `${key}-${i + 1}`,
47
+ });
48
+ }
49
+ });
50
+ }
51
+ });
52
+ });
53
+ //# sourceMappingURL=integration4.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration4.test.js","sourceRoot":"","sources":["../../../__tests__/integration4.test.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,kDAA8C;AAC9C,0CAAqD;AACrD,4CAA0E;AAC1E,mCAA+C;AAC/C,+BAA6B;AAE7B,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK,CAAC,CAAC;AAErF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,QAAQ,CAAC,IAAI,CAAC,CAAC,oBAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,QAAQ,CAAC,CAAC;gBAE9C,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAQ,EAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAJ,cAAI,EAAE,KAAK,EAAL,eAAK,EAAE,iBAAiB,EAAjB,2BAAiB,EAAE,GAAG,kBAAQ,EAAE;oBACxD,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;oBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;iBACzD;qBAAM,IAAI,WAAW,IAAI,qBAAqB,EAAE;oBAC/C,OAAO,CAAC,IAAI,CACV,+BAA+B,GAAG,OAAO,WAAW,6CAA6C,qBAAqB,WAAW,CAClI,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;wBACrC,wBAAwB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;qBAC5C,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,53 @@
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
+ const generate_1 = __importDefault(require("../src/generate"));
7
+ const templates_1 = require("./assets/templates");
8
+ const common_1 = require("@pdfme/common");
9
+ const schemas_1 = require("@pdfme/schemas");
10
+ const utils_1 = require("./utils");
11
+ require("jest-image-snapshot");
12
+ const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '2.5');
13
+ jest.setTimeout(30000);
14
+ describe('generate integration test(slower)', () => {
15
+ describe.each([templates_1.segmenter])('%s', (templateData) => {
16
+ const entries = Object.entries(templateData);
17
+ for (let l = 0; l < entries.length; l += 1) {
18
+ const [key, template] = entries[l];
19
+ // eslint-disable-next-line no-loop-func
20
+ test(`snapshot ${key}`, async () => {
21
+ const inputs = (0, common_1.getInputFromTemplate)(template);
22
+ const font = (0, utils_1.getFont)();
23
+ font.SauceHanSansJP.fallback = false;
24
+ font.SauceHanSerifJP.fallback = false;
25
+ font['NotoSerifJP-Regular'].fallback = false;
26
+ font.NotoSerifJP.fallback = false;
27
+ font.NotoSansJP.fallback = false;
28
+ const hrstart = process.hrtime();
29
+ const pdf = await (0, generate_1.default)({
30
+ inputs,
31
+ template,
32
+ plugins: { text: schemas_1.text, image: schemas_1.image, multiVariableText: schemas_1.multiVariableText, ...schemas_1.barcodes },
33
+ options: { font },
34
+ });
35
+ const hrend = process.hrtime(hrstart);
36
+ const execSeconds = hrend[0] + hrend[1] / 1000000000;
37
+ if (process.env.CI) {
38
+ expect(execSeconds).toBeLessThan(PERFORMANCE_THRESHOLD);
39
+ }
40
+ else if (execSeconds >= PERFORMANCE_THRESHOLD) {
41
+ console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
42
+ }
43
+ const images = await (0, utils_1.pdfToImages)(pdf);
44
+ for (let i = 0; i < images.length; i++) {
45
+ expect(images[i]).toMatchImageSnapshot({
46
+ customSnapshotIdentifier: `${key}-${i + 1}`,
47
+ });
48
+ }
49
+ });
50
+ }
51
+ });
52
+ });
53
+ //# sourceMappingURL=integration5.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration5.test.js","sourceRoot":"","sources":["../../../__tests__/integration5.test.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,kDAA+C;AAC/C,0CAAqD;AACrD,4CAA0E;AAC1E,mCAA+C;AAC/C,+BAA6B;AAE7B,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK,CAAC,CAAC;AAErF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,QAAQ,CAAC,IAAI,CAAC,CAAC,qBAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,QAAQ,CAAC,CAAC;gBAE9C,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAQ,EAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAJ,cAAI,EAAE,KAAK,EAAL,eAAK,EAAE,iBAAiB,EAAjB,2BAAiB,EAAE,GAAG,kBAAQ,EAAE;oBACxD,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;oBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;iBACzD;qBAAM,IAAI,WAAW,IAAI,qBAAqB,EAAE;oBAC/C,OAAO,CAAC,IAAI,CACV,+BAA+B,GAAG,OAAO,WAAW,6CAA6C,qBAAqB,WAAW,CAClI,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;wBACrC,wBAAwB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;qBAC5C,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,60 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.pdfToImages = exports.getFont = void 0;
27
+ const fs_1 = require("fs");
28
+ const path = __importStar(require("path"));
29
+ const common_1 = require("@pdfme/common");
30
+ const converter_1 = require("@pdfme/converter");
31
+ const SauceHanSansJPData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
32
+ const SauceHanSerifJPData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
33
+ const NotoSerifJPRegularData = (0, fs_1.readFileSync)(
34
+ // path.join(__dirname, `/assets/fonts/NotoSerifJP-Regular.otf`)
35
+ path.join(__dirname, `/assets/fonts/NotoSerifJP-Regular.ttf`));
36
+ const NotoSansJPRegularData = (0, fs_1.readFileSync)(
37
+ // path.join(__dirname, `/assets/fonts/NotoSansJP-Regular.otf`)
38
+ path.join(__dirname, `/assets/fonts/NotoSansJP-Regular.ttf`));
39
+ const GloriaHallelujahRegularData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/GloriaHallelujah-Regular.ttf`));
40
+ const GreatVibesRegularData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/GreatVibes-Regular.ttf`));
41
+ const JuliusSansOneRegularData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/JuliusSansOne-Regular.ttf`));
42
+ const getFont = () => ({
43
+ ...(0, common_1.getDefaultFont)(),
44
+ SauceHanSansJP: { data: SauceHanSansJPData },
45
+ SauceHanSerifJP: { data: SauceHanSerifJPData },
46
+ 'NotoSerifJP-Regular': { data: NotoSerifJPRegularData },
47
+ 'NotoSansJP-Regular': { data: NotoSansJPRegularData },
48
+ 'GloriaHallelujah-Regular': { data: GloriaHallelujahRegularData },
49
+ 'GreatVibes-Regular': { data: GreatVibesRegularData },
50
+ 'JuliusSansOne-Regular': { data: JuliusSansOneRegularData },
51
+ NotoSerifJP: { data: NotoSerifJPRegularData },
52
+ NotoSansJP: { data: NotoSansJPRegularData },
53
+ });
54
+ exports.getFont = getFont;
55
+ const pdfToImages = async (pdf) => {
56
+ const arrayBuffers = await (0, converter_1.pdf2img)(pdf, { imageType: 'png' });
57
+ return arrayBuffers.map((buf) => Buffer.from(new Uint8Array(buf)));
58
+ };
59
+ exports.pdfToImages = pdfToImages;
60
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../__tests__/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAkC;AAClC,2CAA6B;AAC7B,0CAAqD;AACrD,gDAA2C;AAE3C,MAAM,kBAAkB,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAC;AAClG,MAAM,mBAAmB,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC,CAAC;AACpG,MAAM,sBAAsB,GAAG,IAAA,iBAAY;AACzC,gEAAgE;AAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAC9D,CAAC;AACF,MAAM,qBAAqB,GAAG,IAAA,iBAAY;AACxC,+DAA+D;AAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,2BAA2B,GAAG,IAAA,iBAAY,EAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4CAA4C,CAAC,CACnE,CAAC;AACF,MAAM,qBAAqB,GAAG,IAAA,iBAAY,EACxC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,wBAAwB,GAAG,IAAA,iBAAY,EAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAChE,CAAC;AAEK,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;IAClC,GAAG,IAAA,uBAAc,GAAE;IACnB,cAAc,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC5C,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC9C,qBAAqB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvD,oBAAoB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACrD,0BAA0B,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;IACjE,oBAAoB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACrD,uBAAuB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC3D,WAAW,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;CAC5C,CAAC,CAAC;AAXU,QAAA,OAAO,WAWjB;AACI,MAAM,WAAW,GAAG,KAAK,EAAE,GAAgB,EAAqB,EAAE;IACvE,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAO,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOOL_NAME = void 0;
4
+ exports.TOOL_NAME = 'pdfme (https://pdfme.com/)';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,4BAAqC,CAAC"}
@@ -0,0 +1,137 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const pdfLib = __importStar(require("@pdfme/pdf-lib"));
27
+ const common_1 = require("@pdfme/common");
28
+ const utils_1 = require("@pdfme/schemas/utils");
29
+ const helper_js_1 = require("./helper.js");
30
+ const generate = async (props) => {
31
+ (0, common_1.checkGenerateProps)(props);
32
+ const { inputs, template: _template, options = {}, plugins: userPlugins = {} } = props;
33
+ const template = (0, common_1.cloneDeep)(_template);
34
+ const basePdf = template.basePdf;
35
+ if (inputs.length === 0) {
36
+ throw new Error('[@pdfme/generator] inputs should not be empty, pass at least an empty object in the array');
37
+ }
38
+ (0, helper_js_1.validateRequiredFields)(template, inputs);
39
+ const { pdfDoc, renderObj } = await (0, helper_js_1.preprocessing)({ template, userPlugins });
40
+ const _cache = new Map();
41
+ for (let i = 0; i < inputs.length; i += 1) {
42
+ const input = inputs[i];
43
+ const dynamicTemplate = await (0, common_1.getDynamicTemplate)({
44
+ template,
45
+ input,
46
+ options,
47
+ _cache,
48
+ getDynamicHeights: (value, args) => {
49
+ switch (args.schema.type) {
50
+ case 'table':
51
+ return (0, utils_1.getDynamicHeightsForTable)(value, args);
52
+ default:
53
+ return Promise.resolve([args.schema.height]);
54
+ }
55
+ },
56
+ });
57
+ const { basePages, embedPdfBoxes } = await (0, helper_js_1.getEmbedPdfPages)({
58
+ template: dynamicTemplate,
59
+ pdfDoc,
60
+ });
61
+ const schemaNames = [
62
+ ...new Set(dynamicTemplate.schemas.flatMap((page) => page.map((schema) => schema.name))),
63
+ ];
64
+ for (let j = 0; j < basePages.length; j += 1) {
65
+ const basePage = basePages[j];
66
+ const embedPdfBox = embedPdfBoxes[j];
67
+ const boundingBoxLeft = basePage instanceof pdfLib.PDFEmbeddedPage ? (0, common_1.pt2mm)(embedPdfBox.mediaBox.x) : 0;
68
+ const boundingBoxBottom = basePage instanceof pdfLib.PDFEmbeddedPage ? (0, common_1.pt2mm)(embedPdfBox.mediaBox.y) : 0;
69
+ const page = (0, helper_js_1.insertPage)({ basePage, embedPdfBox, pdfDoc });
70
+ if ((0, common_1.isBlankPdf)(basePdf) && basePdf.staticSchema) {
71
+ for (let k = 0; k < basePdf.staticSchema.length; k += 1) {
72
+ const staticSchema = basePdf.staticSchema[k];
73
+ const render = renderObj[staticSchema.type];
74
+ if (!render) {
75
+ continue;
76
+ }
77
+ const value = (0, common_1.replacePlaceholders)({
78
+ content: staticSchema.content || '',
79
+ variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
80
+ schemas: dynamicTemplate.schemas,
81
+ });
82
+ staticSchema.position = {
83
+ x: staticSchema.position.x + boundingBoxLeft,
84
+ y: staticSchema.position.y - boundingBoxBottom,
85
+ };
86
+ await render({
87
+ value,
88
+ schema: staticSchema,
89
+ basePdf,
90
+ pdfLib,
91
+ pdfDoc,
92
+ page,
93
+ options,
94
+ _cache,
95
+ });
96
+ }
97
+ }
98
+ for (let l = 0; l < schemaNames.length; l += 1) {
99
+ const name = schemaNames[l];
100
+ const schemaPage = dynamicTemplate.schemas[j] || [];
101
+ const schema = schemaPage.find((s) => s.name == name);
102
+ if (!schema) {
103
+ continue;
104
+ }
105
+ const render = renderObj[schema.type];
106
+ if (!render) {
107
+ continue;
108
+ }
109
+ const value = schema.readOnly
110
+ ? (0, common_1.replacePlaceholders)({
111
+ content: schema.content || '',
112
+ variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
113
+ schemas: dynamicTemplate.schemas,
114
+ })
115
+ : input[name] || '';
116
+ schema.position = {
117
+ x: schema.position.x + boundingBoxLeft,
118
+ y: schema.position.y - boundingBoxBottom,
119
+ };
120
+ await render({
121
+ value,
122
+ schema,
123
+ basePdf,
124
+ pdfLib,
125
+ pdfDoc,
126
+ page,
127
+ options,
128
+ _cache,
129
+ });
130
+ }
131
+ }
132
+ }
133
+ (0, helper_js_1.postProcessing)({ pdfDoc, options });
134
+ return pdfDoc.save();
135
+ };
136
+ exports.default = generate;
137
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.insertPage = exports.postProcessing = exports.preprocessing = exports.validateRequiredFields = exports.getEmbedPdfPages = void 0;
27
+ const fontkit = __importStar(require("fontkit"));
28
+ const common_1 = require("@pdfme/common");
29
+ const schemas_1 = require("@pdfme/schemas");
30
+ const pdf_lib_1 = require("@pdfme/pdf-lib");
31
+ const constants_js_1 = require("./constants.js");
32
+ const getEmbedPdfPages = async (arg) => {
33
+ const { template: { schemas, basePdf }, pdfDoc, } = arg;
34
+ let basePages = [];
35
+ let embedPdfBoxes = [];
36
+ if ((0, common_1.isBlankPdf)(basePdf)) {
37
+ const { width: _width, height: _height } = basePdf;
38
+ const width = (0, common_1.mm2pt)(_width);
39
+ const height = (0, common_1.mm2pt)(_height);
40
+ basePages = schemas.map(() => {
41
+ const page = pdf_lib_1.PDFPage.create(pdfDoc);
42
+ page.setSize(width, height);
43
+ return page;
44
+ });
45
+ embedPdfBoxes = schemas.map(() => ({
46
+ mediaBox: { x: 0, y: 0, width, height },
47
+ bleedBox: { x: 0, y: 0, width, height },
48
+ trimBox: { x: 0, y: 0, width, height },
49
+ }));
50
+ }
51
+ else {
52
+ const willLoadPdf = await (0, common_1.getB64BasePdf)(basePdf);
53
+ const embedPdf = await pdf_lib_1.PDFDocument.load(willLoadPdf);
54
+ const embedPdfPages = embedPdf.getPages();
55
+ embedPdfBoxes = embedPdfPages.map((p) => ({
56
+ mediaBox: p.getMediaBox(),
57
+ bleedBox: p.getBleedBox(),
58
+ trimBox: p.getTrimBox(),
59
+ }));
60
+ const boundingBoxes = embedPdfPages.map((p) => {
61
+ const { x, y, width, height } = p.getMediaBox();
62
+ return { left: x, bottom: y, right: width, top: height + y };
63
+ });
64
+ const transformationMatrices = embedPdfPages.map(() => [1, 0, 0, 1, 0, 0]);
65
+ basePages = await pdfDoc.embedPages(embedPdfPages, boundingBoxes, transformationMatrices);
66
+ }
67
+ return { basePages, embedPdfBoxes };
68
+ };
69
+ exports.getEmbedPdfPages = getEmbedPdfPages;
70
+ const validateRequiredFields = (template, inputs) => {
71
+ template.schemas.forEach((schemaPage) => schemaPage.forEach((schema) => {
72
+ if (schema.required && !schema.readOnly && !inputs.some((input) => input[schema.name])) {
73
+ throw new Error(`[@pdfme/generator] input for '${schema.name}' is required to generate this PDF`);
74
+ }
75
+ }));
76
+ };
77
+ exports.validateRequiredFields = validateRequiredFields;
78
+ const preprocessing = async (arg) => {
79
+ const { template, userPlugins } = arg;
80
+ const { schemas, basePdf } = template;
81
+ const staticSchema = (0, common_1.isBlankPdf)(basePdf) ? (basePdf.staticSchema ?? []) : [];
82
+ const pdfDoc = await pdf_lib_1.PDFDocument.create();
83
+ // @ts-ignore
84
+ pdfDoc.registerFontkit(fontkit);
85
+ const pluginValues = (Object.values(userPlugins).length > 0
86
+ ? Object.values(userPlugins)
87
+ : Object.values(schemas_1.builtInPlugins));
88
+ const schemaTypes = Array.from(new Set(schemas
89
+ .flatMap((schemaPage) => schemaPage.map((schema) => schema.type))
90
+ .concat(staticSchema.map((schema) => schema.type))));
91
+ const renderObj = schemaTypes.reduce((acc, type) => {
92
+ const render = pluginValues.find((pv) => pv.propPanel.defaultSchema.type === type);
93
+ if (!render) {
94
+ throw new Error(`[@pdfme/generator] Renderer for type ${type} not found.
95
+ Check this document: https://pdfme.com/docs/custom-schemas`);
96
+ }
97
+ return { ...acc, [type]: render.pdf };
98
+ }, {});
99
+ return { pdfDoc, renderObj };
100
+ };
101
+ exports.preprocessing = preprocessing;
102
+ const postProcessing = (props) => {
103
+ const { pdfDoc, options } = props;
104
+ const { author = constants_js_1.TOOL_NAME, creationDate = new Date(), creator = constants_js_1.TOOL_NAME, keywords = [], lang = 'en', modificationDate = new Date(), producer = constants_js_1.TOOL_NAME, subject = '', title = '', } = options;
105
+ pdfDoc.setAuthor(author);
106
+ pdfDoc.setCreationDate(creationDate);
107
+ pdfDoc.setCreator(creator);
108
+ pdfDoc.setKeywords(keywords);
109
+ pdfDoc.setLanguage(lang);
110
+ pdfDoc.setModificationDate(modificationDate);
111
+ pdfDoc.setProducer(producer);
112
+ pdfDoc.setSubject(subject);
113
+ pdfDoc.setTitle(title);
114
+ };
115
+ exports.postProcessing = postProcessing;
116
+ const insertPage = (arg) => {
117
+ const { basePage, embedPdfBox, pdfDoc } = arg;
118
+ const size = basePage instanceof pdf_lib_1.PDFEmbeddedPage ? basePage.size() : basePage.getSize();
119
+ const insertedPage = basePage instanceof pdf_lib_1.PDFEmbeddedPage
120
+ ? pdfDoc.addPage([size.width, size.height])
121
+ : pdfDoc.addPage(basePage);
122
+ if (basePage instanceof pdf_lib_1.PDFEmbeddedPage) {
123
+ insertedPage.drawPage(basePage);
124
+ const { mediaBox, bleedBox, trimBox } = embedPdfBox;
125
+ insertedPage.setMediaBox(mediaBox.x, mediaBox.y, mediaBox.width, mediaBox.height);
126
+ insertedPage.setBleedBox(bleedBox.x, bleedBox.y, bleedBox.width, bleedBox.height);
127
+ insertedPage.setTrimBox(trimBox.x, trimBox.y, trimBox.width, trimBox.height);
128
+ }
129
+ return insertedPage;
130
+ };
131
+ exports.insertPage = insertPage;
132
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
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.generate = void 0;
7
+ const generate_1 = __importDefault(require("./generate"));
8
+ exports.generate = generate_1.default;
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAEzB,mBAFF,kBAAQ,CAEE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/generator",
3
- "version": "5.3.6",
3
+ "version": "5.3.7-dev.3",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",
@@ -26,16 +26,20 @@
26
26
  "types": "dist/types/src/index.d.ts",
27
27
  "exports": {
28
28
  ".": {
29
- "import": "./dist/esm/src/index.js",
29
+ "import": {
30
+ "node": "./dist/node/src/index.js",
31
+ "default": "./dist/esm/src/index.js"
32
+ },
30
33
  "require": "./dist/cjs/src/index.js",
31
34
  "types": "./dist/types/src/index.d.ts"
32
35
  }
33
36
  },
34
37
  "scripts": {
35
38
  "dev": "tsc -p tsconfig.esm.json -w",
36
- "build": "npm-run-all --parallel build:cjs build:esm",
39
+ "build": "npm-run-all --parallel build:cjs build:esm build:node",
37
40
  "build:cjs": "tsc -p tsconfig.cjs.json",
38
41
  "build:esm": "tsc -p tsconfig.esm.json",
42
+ "build:node": "tsc -p tsconfig.node.json",
39
43
  "clean": "rimraf dist",
40
44
  "lint": "eslint --ext .ts src",
41
45
  "test": "jest",
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../../tsconfig.base",
3
+ "compilerOptions": {
4
+ "module": "NodeNext",
5
+ "outDir": "./dist/node",
6
+ "declaration": true,
7
+ "declarationDir": "dist/types",
8
+ "skipLibCheck": true
9
+ }
10
+ }