@pdfme/generator 5.3.5 → 5.3.7-dev.1

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.
Files changed (66) hide show
  1. package/dist/cjs/__tests__/generate.test.js +21 -22
  2. package/dist/cjs/__tests__/generate.test.js.map +1 -1
  3. package/dist/cjs/__tests__/integration1.test.js +7 -7
  4. package/dist/cjs/__tests__/integration1.test.js.map +1 -1
  5. package/dist/cjs/__tests__/integration2.test.js +7 -7
  6. package/dist/cjs/__tests__/integration2.test.js.map +1 -1
  7. package/dist/cjs/__tests__/integration3.test.js +7 -7
  8. package/dist/cjs/__tests__/integration3.test.js.map +1 -1
  9. package/dist/cjs/__tests__/integration4.test.js +7 -7
  10. package/dist/cjs/__tests__/integration4.test.js.map +1 -1
  11. package/dist/cjs/__tests__/integration5.test.js +7 -7
  12. package/dist/cjs/__tests__/integration5.test.js.map +1 -1
  13. package/dist/cjs/__tests__/utils.js +6 -15
  14. package/dist/cjs/__tests__/utils.js.map +1 -1
  15. package/dist/esm/__tests__/generate.test.js +22 -23
  16. package/dist/esm/__tests__/generate.test.js.map +1 -1
  17. package/dist/esm/__tests__/integration1.test.js +8 -8
  18. package/dist/esm/__tests__/integration1.test.js.map +1 -1
  19. package/dist/esm/__tests__/integration2.test.js +8 -8
  20. package/dist/esm/__tests__/integration2.test.js.map +1 -1
  21. package/dist/esm/__tests__/integration3.test.js +8 -8
  22. package/dist/esm/__tests__/integration3.test.js.map +1 -1
  23. package/dist/esm/__tests__/integration4.test.js +9 -9
  24. package/dist/esm/__tests__/integration4.test.js.map +1 -1
  25. package/dist/esm/__tests__/integration5.test.js +9 -9
  26. package/dist/esm/__tests__/integration5.test.js.map +1 -1
  27. package/dist/esm/__tests__/utils.js +4 -11
  28. package/dist/esm/__tests__/utils.js.map +1 -1
  29. package/dist/node/__tests__/assets/templates/index.js +121 -0
  30. package/dist/node/__tests__/assets/templates/index.js.map +1 -0
  31. package/dist/node/__tests__/generate.test.js +280 -0
  32. package/dist/node/__tests__/generate.test.js.map +1 -0
  33. package/dist/node/__tests__/integration1.test.js +52 -0
  34. package/dist/node/__tests__/integration1.test.js.map +1 -0
  35. package/dist/node/__tests__/integration2.test.js +52 -0
  36. package/dist/node/__tests__/integration2.test.js.map +1 -0
  37. package/dist/node/__tests__/integration3.test.js +72 -0
  38. package/dist/node/__tests__/integration3.test.js.map +1 -0
  39. package/dist/node/__tests__/integration4.test.js +53 -0
  40. package/dist/node/__tests__/integration4.test.js.map +1 -0
  41. package/dist/node/__tests__/integration5.test.js +53 -0
  42. package/dist/node/__tests__/integration5.test.js.map +1 -0
  43. package/dist/node/__tests__/utils.js +60 -0
  44. package/dist/node/__tests__/utils.js.map +1 -0
  45. package/dist/node/src/constants.js +5 -0
  46. package/dist/node/src/constants.js.map +1 -0
  47. package/dist/node/src/generate.js +137 -0
  48. package/dist/node/src/generate.js.map +1 -0
  49. package/dist/node/src/helper.js +132 -0
  50. package/dist/node/src/helper.js.map +1 -0
  51. package/dist/node/src/index.js +9 -0
  52. package/dist/node/src/index.js.map +1 -0
  53. package/dist/node/src/types.js +3 -0
  54. package/dist/node/src/types.js.map +1 -0
  55. package/dist/types/__tests__/generate.test.d.ts +1 -1
  56. package/dist/types/__tests__/integration1.test.d.ts +1 -1
  57. package/dist/types/__tests__/integration2.test.d.ts +1 -1
  58. package/dist/types/__tests__/integration3.test.d.ts +1 -1
  59. package/dist/types/__tests__/integration4.test.d.ts +1 -1
  60. package/dist/types/__tests__/integration5.test.d.ts +1 -1
  61. package/dist/types/__tests__/utils.d.ts +3 -3
  62. package/jest.setup.js +2 -0
  63. package/package.json +13 -5
  64. package/tsconfig.cjs.json +1 -1
  65. package/tsconfig.esm.json +1 -1
  66. package/tsconfig.node.json +10 -0
@@ -1,9 +1,9 @@
1
- import { writeFileSync } from 'fs';
2
1
  import generate from '../src/generate';
3
2
  import { barcode, business } from './assets/templates';
4
3
  import { getInputFromTemplate } from '@pdfme/common';
5
4
  import { text, image, barcodes } from '@pdfme/schemas';
6
- import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
5
+ import { getFont, pdfToImages } from './utils';
6
+ import 'jest-image-snapshot';
7
7
  const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '2.0');
8
8
  describe('generate integration test(barcode, business)', () => {
9
9
  describe.each([barcode, business])('%s', (templateData) => {
@@ -34,12 +34,12 @@ describe('generate integration test(barcode, business)', () => {
34
34
  else if (execSeconds >= PERFORMANCE_THRESHOLD) {
35
35
  console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
36
36
  }
37
- const tmpFile = getPdfTmpPath(`${key}.pdf`);
38
- const assertFile = getPdfAssertPath(`${key}.pdf`);
39
- writeFileSync(tmpFile, pdf);
40
- const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
41
- const [a, e] = res;
42
- expect(a.Pages).toEqual(e.Pages);
37
+ const images = await pdfToImages(pdf);
38
+ for (let i = 0; i < images.length; i++) {
39
+ expect(images[i]).toMatchImageSnapshot({
40
+ customSnapshotIdentifier: `${key}-${i + 1}`,
41
+ });
42
+ }
43
43
  });
44
44
  }
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"integration2.test.js","sourceRoot":"","sources":["../../../__tests__/integration2.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration2.test.js","sourceRoot":"","sources":["../../../__tests__/integration2.test.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,qBAAqB,CAAC;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,OAAO,EAAE,QAAQ,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,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAE9C,MAAM,IAAI,GAAG,OAAO,EAAE,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,QAAQ,CAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,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,WAAW,CAAC,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"}
@@ -1,9 +1,9 @@
1
- import { writeFileSync } from 'fs';
2
1
  import generate from '../src/generate';
3
2
  import { other, shape } from './assets/templates';
4
3
  import { getInputFromTemplate } from '@pdfme/common';
5
4
  import { text, image, svg, line, rectangle, ellipse, barcodes } from '@pdfme/schemas';
6
- import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
5
+ import { getFont, pdfToImages } from './utils';
6
+ import 'jest-image-snapshot';
7
7
  const signature = {
8
8
  pdf: image.pdf,
9
9
  ui: () => { },
@@ -54,12 +54,12 @@ describe('generate integration test(other, shape)', () => {
54
54
  else if (execSeconds >= PERFORMANCE_THRESHOLD) {
55
55
  console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
56
56
  }
57
- const tmpFile = getPdfTmpPath(`${key}.pdf`);
58
- const assertFile = getPdfAssertPath(`${key}.pdf`);
59
- writeFileSync(tmpFile, pdf);
60
- const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
61
- const [a, e] = res;
62
- expect(a.Pages).toEqual(e.Pages);
57
+ const images = await pdfToImages(pdf);
58
+ for (let i = 0; i < images.length; i++) {
59
+ expect(images[i]).toMatchImageSnapshot({
60
+ customSnapshotIdentifier: `${key}-${i + 1}`,
61
+ });
62
+ }
63
63
  });
64
64
  }
65
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"integration3.test.js","sourceRoot":"","sources":["../../../__tests__/integration3.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration3.test.js","sourceRoot":"","sources":["../../../__tests__/integration3.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { writeFileSync } from 'fs';
2
1
  import generate from '../src/generate';
3
2
  import { textType } from './assets/templates';
4
- import { getInputFromTemplate } from "@pdfme/common";
3
+ import { getInputFromTemplate } from '@pdfme/common';
5
4
  import { text, multiVariableText, image, barcodes } from '@pdfme/schemas';
6
- import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
5
+ import { getFont, pdfToImages } from './utils';
6
+ import 'jest-image-snapshot';
7
7
  const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '2.5');
8
8
  jest.setTimeout(30000);
9
9
  describe('generate integration test(slower)', () => {
@@ -35,12 +35,12 @@ describe('generate integration test(slower)', () => {
35
35
  else if (execSeconds >= PERFORMANCE_THRESHOLD) {
36
36
  console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
37
37
  }
38
- const tmpFile = getPdfTmpPath(`${key}.pdf`);
39
- const assertFile = getPdfAssertPath(`${key}.pdf`);
40
- writeFileSync(tmpFile, pdf);
41
- const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
42
- const [a, e] = res;
43
- expect(a.Pages).toEqual(e.Pages);
38
+ const images = await pdfToImages(pdf);
39
+ for (let i = 0; i < images.length; i++) {
40
+ expect(images[i]).toMatchImageSnapshot({
41
+ customSnapshotIdentifier: `${key}-${i + 1}`,
42
+ });
43
+ }
44
44
  });
45
45
  }
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"integration4.test.js","sourceRoot":"","sources":["../../../__tests__/integration4.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration4.test.js","sourceRoot":"","sources":["../../../__tests__/integration4.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { writeFileSync } from 'fs';
2
1
  import generate from '../src/generate';
3
2
  import { segmenter } from './assets/templates';
4
- import { getInputFromTemplate } from "@pdfme/common";
3
+ import { getInputFromTemplate } from '@pdfme/common';
5
4
  import { text, multiVariableText, image, barcodes } from '@pdfme/schemas';
6
- import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
5
+ import { getFont, pdfToImages } from './utils';
6
+ import 'jest-image-snapshot';
7
7
  const PERFORMANCE_THRESHOLD = parseFloat(process.env.PERFORMANCE_THRESHOLD || '2.5');
8
8
  jest.setTimeout(30000);
9
9
  describe('generate integration test(slower)', () => {
@@ -35,12 +35,12 @@ describe('generate integration test(slower)', () => {
35
35
  else if (execSeconds >= PERFORMANCE_THRESHOLD) {
36
36
  console.warn(`Warning: Execution time for ${key} is ${execSeconds} seconds, which is above the threshold of ${PERFORMANCE_THRESHOLD} seconds.`);
37
37
  }
38
- const tmpFile = getPdfTmpPath(`${key}.pdf`);
39
- const assertFile = getPdfAssertPath(`${key}.pdf`);
40
- writeFileSync(tmpFile, pdf);
41
- const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
42
- const [a, e] = res;
43
- expect(a.Pages).toEqual(e.Pages);
38
+ const images = await pdfToImages(pdf);
39
+ for (let i = 0; i < images.length; i++) {
40
+ expect(images[i]).toMatchImageSnapshot({
41
+ customSnapshotIdentifier: `${key}-${i + 1}`,
42
+ });
43
+ }
44
44
  });
45
45
  }
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"integration5.test.js","sourceRoot":"","sources":["../../../__tests__/integration5.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration5.test.js","sourceRoot":"","sources":["../../../__tests__/integration5.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { readFileSync } from 'fs';
2
2
  import * as path from 'path';
3
3
  import { getDefaultFont } from '@pdfme/common';
4
- const PDFParser = require('pdf2json');
4
+ import { pdf2img } from '@pdfme/converter';
5
5
  const SauceHanSansJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
6
6
  const SauceHanSerifJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
7
7
  const NotoSerifJPRegularData = readFileSync(
@@ -25,15 +25,8 @@ export const getFont = () => ({
25
25
  NotoSerifJP: { data: NotoSerifJPRegularData },
26
26
  NotoSansJP: { data: NotoSansJPRegularData },
27
27
  });
28
- export const getPdf = (pdfFilePath) => {
29
- const pdfParser = new PDFParser();
30
- return new Promise((resolve, reject) => {
31
- pdfParser.on('pdfParser_dataError', reject);
32
- pdfParser.on('pdfParser_dataReady', resolve);
33
- pdfParser.loadPDF(pdfFilePath);
34
- });
28
+ export const pdfToImages = async (pdf) => {
29
+ const arrayBuffers = await pdf2img(pdf, { imageType: 'png' });
30
+ return arrayBuffers.map((buf) => Buffer.from(new Uint8Array(buf)));
35
31
  };
36
- const getPdfPath = (dir, fileName) => path.join(__dirname, `assets/pdfs/${dir}/${fileName}`);
37
- export const getPdfTmpPath = (fileName) => getPdfPath('tmp', fileName);
38
- export const getPdfAssertPath = (fileName) => getPdfPath('assert', fileName);
39
32
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAQ,cAAc,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAC;AAClG,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC,CAAC;AACpG,MAAM,sBAAsB,GAAG,YAAY;AACzC,gEAAgE;AAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAC9D,CAAC;AACF,MAAM,qBAAqB,GAAG,YAAY;AACxC,+DAA+D;AAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,2BAA2B,GAAG,YAAY,CAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4CAA4C,CAAC,CACnE,CAAC;AACF,MAAM,qBAAqB,GAAG,YAAY,CACxC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,wBAAwB,GAAG,YAAY,CAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;IAClC,GAAG,cAAc,EAAE;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;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC5C,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC5C,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE,CACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAQ,cAAc,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAC;AAClG,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC,CAAC;AACpG,MAAM,sBAAsB,GAAG,YAAY;AACzC,gEAAgE;AAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAC9D,CAAC;AACF,MAAM,qBAAqB,GAAG,YAAY;AACxC,+DAA+D;AAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,2BAA2B,GAAG,YAAY,CAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4CAA4C,CAAC,CACnE,CAAC;AACF,MAAM,qBAAqB,GAAG,YAAY,CACxC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,wBAAwB,GAAG,YAAY,CAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;IAClC,GAAG,cAAc,EAAE;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;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAgB,EAAqB,EAAE;IACvE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,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"}
@@ -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