av6-pdf-engine 1.0.1 → 1.0.2

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 (177) hide show
  1. package/.prettierignore +4 -0
  2. package/.prettierrc +6 -0
  3. package/dist/index.d.mts +296 -0
  4. package/dist/index.d.ts +296 -3
  5. package/dist/index.js +1979 -18
  6. package/dist/index.mjs +1940 -0
  7. package/package.json +12 -21
  8. package/dist/index.d.ts.map +0 -1
  9. package/dist/index.js.map +0 -1
  10. package/dist/renderer-engine/blocks/barcode.d.ts +0 -3
  11. package/dist/renderer-engine/blocks/barcode.d.ts.map +0 -1
  12. package/dist/renderer-engine/blocks/barcode.js +0 -47
  13. package/dist/renderer-engine/blocks/barcode.js.map +0 -1
  14. package/dist/renderer-engine/blocks/columns.d.ts +0 -3
  15. package/dist/renderer-engine/blocks/columns.d.ts.map +0 -1
  16. package/dist/renderer-engine/blocks/columns.js +0 -105
  17. package/dist/renderer-engine/blocks/columns.js.map +0 -1
  18. package/dist/renderer-engine/blocks/image.d.ts +0 -4
  19. package/dist/renderer-engine/blocks/image.d.ts.map +0 -1
  20. package/dist/renderer-engine/blocks/image.js +0 -57
  21. package/dist/renderer-engine/blocks/image.js.map +0 -1
  22. package/dist/renderer-engine/blocks/index.d.ts +0 -8
  23. package/dist/renderer-engine/blocks/index.d.ts.map +0 -1
  24. package/dist/renderer-engine/blocks/index.js +0 -24
  25. package/dist/renderer-engine/blocks/index.js.map +0 -1
  26. package/dist/renderer-engine/blocks/key-value-grid.d.ts +0 -3
  27. package/dist/renderer-engine/blocks/key-value-grid.d.ts.map +0 -1
  28. package/dist/renderer-engine/blocks/key-value-grid.js +0 -245
  29. package/dist/renderer-engine/blocks/key-value-grid.js.map +0 -1
  30. package/dist/renderer-engine/blocks/line.d.ts +0 -3
  31. package/dist/renderer-engine/blocks/line.d.ts.map +0 -1
  32. package/dist/renderer-engine/blocks/line.js +0 -35
  33. package/dist/renderer-engine/blocks/line.js.map +0 -1
  34. package/dist/renderer-engine/blocks/table.d.ts +0 -4
  35. package/dist/renderer-engine/blocks/table.d.ts.map +0 -1
  36. package/dist/renderer-engine/blocks/table.js +0 -201
  37. package/dist/renderer-engine/blocks/table.js.map +0 -1
  38. package/dist/renderer-engine/blocks/text.d.ts +0 -3
  39. package/dist/renderer-engine/blocks/text.d.ts.map +0 -1
  40. package/dist/renderer-engine/blocks/text.js +0 -52
  41. package/dist/renderer-engine/blocks/text.js.map +0 -1
  42. package/dist/renderer-engine/index.d.ts +0 -4
  43. package/dist/renderer-engine/index.d.ts.map +0 -1
  44. package/dist/renderer-engine/index.js +0 -215
  45. package/dist/renderer-engine/index.js.map +0 -1
  46. package/dist/renderer-engine/utils/block-renderer.d.ts +0 -17
  47. package/dist/renderer-engine/utils/block-renderer.d.ts.map +0 -1
  48. package/dist/renderer-engine/utils/block-renderer.js +0 -86
  49. package/dist/renderer-engine/utils/block-renderer.js.map +0 -1
  50. package/dist/renderer-engine/utils/context.d.ts +0 -3
  51. package/dist/renderer-engine/utils/context.d.ts.map +0 -1
  52. package/dist/renderer-engine/utils/context.js +0 -16
  53. package/dist/renderer-engine/utils/context.js.map +0 -1
  54. package/dist/renderer-engine/utils/ensure-space.d.ts +0 -9
  55. package/dist/renderer-engine/utils/ensure-space.d.ts.map +0 -1
  56. package/dist/renderer-engine/utils/ensure-space.js +0 -18
  57. package/dist/renderer-engine/utils/ensure-space.js.map +0 -1
  58. package/dist/renderer-engine/utils/env.d.ts +0 -3
  59. package/dist/renderer-engine/utils/env.d.ts.map +0 -1
  60. package/dist/renderer-engine/utils/env.js +0 -10
  61. package/dist/renderer-engine/utils/env.js.map +0 -1
  62. package/dist/renderer-engine/utils/finish-page.d.ts +0 -13
  63. package/dist/renderer-engine/utils/finish-page.d.ts.map +0 -1
  64. package/dist/renderer-engine/utils/finish-page.js +0 -27
  65. package/dist/renderer-engine/utils/finish-page.js.map +0 -1
  66. package/dist/renderer-engine/utils/footer.d.ts +0 -3
  67. package/dist/renderer-engine/utils/footer.d.ts.map +0 -1
  68. package/dist/renderer-engine/utils/footer.js +0 -89
  69. package/dist/renderer-engine/utils/footer.js.map +0 -1
  70. package/dist/renderer-engine/utils/header.d.ts +0 -3
  71. package/dist/renderer-engine/utils/header.d.ts.map +0 -1
  72. package/dist/renderer-engine/utils/header.js +0 -47
  73. package/dist/renderer-engine/utils/header.js.map +0 -1
  74. package/dist/renderer-engine/utils/image-loader.d.ts +0 -4
  75. package/dist/renderer-engine/utils/image-loader.d.ts.map +0 -1
  76. package/dist/renderer-engine/utils/image-loader.js +0 -52
  77. package/dist/renderer-engine/utils/image-loader.js.map +0 -1
  78. package/dist/renderer-engine/utils/index.d.ts +0 -19
  79. package/dist/renderer-engine/utils/index.d.ts.map +0 -1
  80. package/dist/renderer-engine/utils/index.js +0 -35
  81. package/dist/renderer-engine/utils/index.js.map +0 -1
  82. package/dist/renderer-engine/utils/layout.d.ts +0 -8
  83. package/dist/renderer-engine/utils/layout.d.ts.map +0 -1
  84. package/dist/renderer-engine/utils/layout.js +0 -22
  85. package/dist/renderer-engine/utils/layout.js.map +0 -1
  86. package/dist/renderer-engine/utils/measure-block-height.d.ts +0 -8
  87. package/dist/renderer-engine/utils/measure-block-height.d.ts.map +0 -1
  88. package/dist/renderer-engine/utils/measure-block-height.js +0 -220
  89. package/dist/renderer-engine/utils/measure-block-height.js.map +0 -1
  90. package/dist/renderer-engine/utils/page-background.d.ts +0 -6
  91. package/dist/renderer-engine/utils/page-background.d.ts.map +0 -1
  92. package/dist/renderer-engine/utils/page-background.js +0 -30
  93. package/dist/renderer-engine/utils/page-background.js.map +0 -1
  94. package/dist/renderer-engine/utils/page-flow.d.ts +0 -3
  95. package/dist/renderer-engine/utils/page-flow.d.ts.map +0 -1
  96. package/dist/renderer-engine/utils/page-flow.js +0 -9
  97. package/dist/renderer-engine/utils/page-flow.js.map +0 -1
  98. package/dist/renderer-engine/utils/page-limit.d.ts +0 -8
  99. package/dist/renderer-engine/utils/page-limit.d.ts.map +0 -1
  100. package/dist/renderer-engine/utils/page-limit.js +0 -15
  101. package/dist/renderer-engine/utils/page-limit.js.map +0 -1
  102. package/dist/renderer-engine/utils/qr-bar-code.d.ts +0 -17
  103. package/dist/renderer-engine/utils/qr-bar-code.d.ts.map +0 -1
  104. package/dist/renderer-engine/utils/qr-bar-code.js +0 -141
  105. package/dist/renderer-engine/utils/qr-bar-code.js.map +0 -1
  106. package/dist/renderer-engine/utils/signature.d.ts +0 -20
  107. package/dist/renderer-engine/utils/signature.d.ts.map +0 -1
  108. package/dist/renderer-engine/utils/signature.js +0 -214
  109. package/dist/renderer-engine/utils/signature.js.map +0 -1
  110. package/dist/renderer-engine/utils/start-page-layout.d.ts +0 -20
  111. package/dist/renderer-engine/utils/start-page-layout.d.ts.map +0 -1
  112. package/dist/renderer-engine/utils/start-page-layout.js +0 -34
  113. package/dist/renderer-engine/utils/start-page-layout.js.map +0 -1
  114. package/dist/renderer-engine/utils/styles.d.ts +0 -7
  115. package/dist/renderer-engine/utils/styles.d.ts.map +0 -1
  116. package/dist/renderer-engine/utils/styles.js +0 -124
  117. package/dist/renderer-engine/utils/styles.js.map +0 -1
  118. package/dist/renderer-engine/utils/watermark.d.ts +0 -11
  119. package/dist/renderer-engine/utils/watermark.d.ts.map +0 -1
  120. package/dist/renderer-engine/utils/watermark.js +0 -57
  121. package/dist/renderer-engine/utils/watermark.js.map +0 -1
  122. package/dist/types/barcode.d.ts +0 -23
  123. package/dist/types/barcode.d.ts.map +0 -1
  124. package/dist/types/barcode.js +0 -11
  125. package/dist/types/barcode.js.map +0 -1
  126. package/dist/types/columns.d.ts +0 -14
  127. package/dist/types/columns.d.ts.map +0 -1
  128. package/dist/types/columns.js +0 -3
  129. package/dist/types/columns.js.map +0 -1
  130. package/dist/types/common.d.ts +0 -102
  131. package/dist/types/common.d.ts.map +0 -1
  132. package/dist/types/common.js +0 -3
  133. package/dist/types/common.js.map +0 -1
  134. package/dist/types/context.d.ts +0 -17
  135. package/dist/types/context.d.ts.map +0 -1
  136. package/dist/types/context.js +0 -3
  137. package/dist/types/context.js.map +0 -1
  138. package/dist/types/image.d.ts +0 -13
  139. package/dist/types/image.d.ts.map +0 -1
  140. package/dist/types/image.js +0 -3
  141. package/dist/types/image.js.map +0 -1
  142. package/dist/types/index.d.ts +0 -13
  143. package/dist/types/index.d.ts.map +0 -1
  144. package/dist/types/index.js +0 -29
  145. package/dist/types/index.js.map +0 -1
  146. package/dist/types/key-value-grid.d.ts +0 -34
  147. package/dist/types/key-value-grid.d.ts.map +0 -1
  148. package/dist/types/key-value-grid.js +0 -3
  149. package/dist/types/key-value-grid.js.map +0 -1
  150. package/dist/types/line.d.ts +0 -11
  151. package/dist/types/line.d.ts.map +0 -1
  152. package/dist/types/line.js +0 -3
  153. package/dist/types/line.js.map +0 -1
  154. package/dist/types/page-break.d.ts +0 -5
  155. package/dist/types/page-break.d.ts.map +0 -1
  156. package/dist/types/page-break.js +0 -3
  157. package/dist/types/page-break.js.map +0 -1
  158. package/dist/types/qr.d.ts +0 -22
  159. package/dist/types/qr.d.ts.map +0 -1
  160. package/dist/types/qr.js +0 -10
  161. package/dist/types/qr.js.map +0 -1
  162. package/dist/types/signature.d.ts +0 -12
  163. package/dist/types/signature.d.ts.map +0 -1
  164. package/dist/types/signature.js +0 -3
  165. package/dist/types/signature.js.map +0 -1
  166. package/dist/types/table.d.ts +0 -32
  167. package/dist/types/table.d.ts.map +0 -1
  168. package/dist/types/table.js +0 -3
  169. package/dist/types/table.js.map +0 -1
  170. package/dist/types/text.d.ts +0 -19
  171. package/dist/types/text.d.ts.map +0 -1
  172. package/dist/types/text.js +0 -3
  173. package/dist/types/text.js.map +0 -1
  174. package/dist/types/utility.d.ts +0 -1
  175. package/dist/types/utility.d.ts.map +0 -1
  176. package/dist/types/utility.js +0 -2
  177. package/dist/types/utility.js.map +0 -1
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBlockRenderer = createBlockRenderer;
4
- const blocks_1 = require("../blocks");
5
- const utils_1 = require("../utils");
6
- /**
7
- * Factory that returns renderBlock + renderBlockArray wired with all dependencies.
8
- */
9
- function createBlockRenderer(deps) {
10
- const { doc, ctx, styles, computeColumnPixelWidths, finishPage, processSignatureBlock, } = deps;
11
- const bottomLimitForContent = (0, utils_1.createBottomLimitForContent)(doc, ctx);
12
- const ensureSpaceFor = (0, utils_1.createEnsureSpaceFor)(ctx, bottomLimitForContent, finishPage);
13
- const measureBlockHeight = (0, utils_1.createMeasureBlockHeight)({
14
- doc,
15
- styles,
16
- computeColumnPixelWidths,
17
- });
18
- const renderBlock = (block, y, env) => {
19
- if (block.visible === false) {
20
- return y !== null && y !== void 0 ? y : ctx.currentY;
21
- }
22
- switch (block.type) {
23
- case "text":
24
- return (0, blocks_1.processTextBlock)(doc, ctx, styles, block, y, env, ensureSpaceFor);
25
- case "image":
26
- return (0, blocks_1.processImageBlock)(doc, ctx, block, y, env, ensureSpaceFor);
27
- case "qr": {
28
- const qb = block;
29
- const imageLike = {
30
- type: "image",
31
- src: qb.src,
32
- width: qb.size,
33
- height: qb.size,
34
- align: qb.align,
35
- marginTop: qb.marginTop,
36
- marginBottom: qb.marginBottom,
37
- marginLeft: qb.marginLeft,
38
- marginRight: qb.marginRight,
39
- };
40
- return (0, blocks_1.processImageBlock)(doc, ctx, imageLike, y, env, ensureSpaceFor);
41
- }
42
- case "barcode":
43
- return (0, blocks_1.processBarcodeBlock)(doc, ctx, block, y, env, ensureSpaceFor);
44
- case "line":
45
- return (0, blocks_1.processLineBlock)(doc, ctx, block, y, env, ensureSpaceFor);
46
- case "table":
47
- return (0, blocks_1.processTableBlock)(doc, ctx, styles, block, y, env, computeColumnPixelWidths, bottomLimitForContent, finishPage);
48
- case "columns":
49
- return (0, blocks_1.processColumnsBlock)(ctx, block, y, env, computeColumnPixelWidths, renderBlock, ensureSpaceFor, measureBlockHeight);
50
- case "keyValueGrid":
51
- return (0, blocks_1.processKeyValueGridBlock)(doc, ctx, styles, block, y, env, computeColumnPixelWidths, ensureSpaceFor);
52
- case "signature":
53
- if (!env.allowPageBreak) {
54
- throw new Error("Signature block is only allowed in main content flow.");
55
- }
56
- if (y !== null) {
57
- throw new Error("Signature block must be part of main flow, not drawn at explicit Y.");
58
- }
59
- processSignatureBlock(block);
60
- return ctx.currentY;
61
- case "pageBreak":
62
- if (!env.allowPageBreak || ctx.inFooter) {
63
- return y !== null && y !== void 0 ? y : ctx.currentY;
64
- }
65
- finishPage(true);
66
- return ctx.currentY;
67
- default:
68
- return ctx.currentY;
69
- }
70
- };
71
- const renderBlockArray = (blocks, startY, env) => {
72
- let localY = startY;
73
- for (const block of blocks) {
74
- if (block.visible === false) {
75
- continue;
76
- }
77
- localY = renderBlock(block, localY, env);
78
- }
79
- return localY;
80
- };
81
- return {
82
- renderBlock,
83
- renderBlockArray,
84
- };
85
- }
86
- //# sourceMappingURL=block-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-renderer.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/block-renderer.ts"],"names":[],"mappings":";;AA+CA,kDAqKC;AArMD,sCAQmB;AACnB,oCAKkB;AAelB;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAuB;IACzD,MAAM,EACJ,GAAG,EACH,GAAG,EACH,MAAM,EACN,wBAAwB,EACxB,UAAU,EACV,qBAAqB,GACtB,GAAG,IAAI,CAAC;IAET,MAAM,qBAAqB,GAAG,IAAA,mCAA2B,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAqB,IAAA,4BAAoB,EAC3D,GAAG,EACH,qBAAqB,EACrB,UAAU,CACX,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,gCAAwB,EAAC;QAClD,GAAG;QACH,MAAM;QACN,wBAAwB;KACzB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAClB,KAAY,EACZ,CAAgB,EAChB,GAAc,EACN,EAAE;QACV,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,GAAG,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,IAAA,yBAAgB,EACrB,GAAG,EACH,GAAG,EACH,MAAM,EACN,KAAkB,EAClB,CAAC,EACD,GAAG,EACH,cAAc,CACf,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO,IAAA,0BAAiB,EACtB,GAAG,EACH,GAAG,EACH,KAAmB,EACnB,CAAC,EACD,GAAG,EACH,cAAc,CACf,CAAC;YAEJ,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,EAAE,GAAG,KAAoB,CAAC;gBAChC,MAAM,SAAS,GAAe;oBAC5B,IAAI,EAAE,OAAO;oBACb,GAAG,EAAE,EAAE,CAAC,GAAI;oBACZ,KAAK,EAAE,EAAE,CAAC,IAAI;oBACd,MAAM,EAAE,EAAE,CAAC,IAAI;oBACf,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,WAAW,EAAE,EAAE,CAAC,WAAW;iBAC5B,CAAC;gBACF,OAAO,IAAA,0BAAiB,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YACxE,CAAC;YAED,KAAK,SAAS;gBACZ,OAAO,IAAA,4BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAEtE,KAAK,MAAM;gBACT,OAAO,IAAA,yBAAgB,EACrB,GAAG,EACH,GAAG,EACH,KAAkB,EAClB,CAAC,EACD,GAAG,EACH,cAAc,CACf,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO,IAAA,0BAAiB,EACtB,GAAG,EACH,GAAG,EACH,MAAM,EACN,KAAmB,EACnB,CAAC,EACD,GAAG,EACH,wBAAwB,EACxB,qBAAqB,EACrB,UAAU,CACX,CAAC;YAEJ,KAAK,SAAS;gBACZ,OAAO,IAAA,4BAAmB,EACxB,GAAG,EACH,KAAqB,EACrB,CAAC,EACD,GAAG,EACH,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,kBAAkB,CACnB,CAAC;YAEJ,KAAK,cAAc;gBACjB,OAAO,IAAA,iCAAwB,EAC7B,GAAG,EACH,GAAG,EACH,MAAM,EACN,KAA0B,EAC1B,CAAC,EACD,GAAG,EACH,wBAAwB,EACxB,cAAc,CACf,CAAC;YAEJ,KAAK,WAAW;gBACd,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;gBACJ,CAAC;gBACD,qBAAqB,CAAC,KAAuB,CAAC,CAAC;gBAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC;YAEtB,KAAK,WAAW;gBACd,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACxC,OAAO,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,GAAG,CAAC,QAAQ,CAAC;gBAC3B,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,OAAO,GAAG,CAAC,QAAQ,CAAC;YAEtB;gBACE,OAAO,GAAG,CAAC,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CACvB,MAAe,EACf,MAAc,EACd,GAAc,EACN,EAAE;QACV,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,WAAW;QACX,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { PageContext } from "../../types";
2
- export declare function createInitialContext(doc: PDFKit.PDFDocument): PageContext;
3
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAWzE"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createInitialContext = createInitialContext;
4
- function createInitialContext(doc) {
5
- return {
6
- pageNumber: 1,
7
- currentY: doc.page.margins.top,
8
- signatureBlock: null,
9
- signatureTopY: null,
10
- signatureHeight: 0,
11
- signaturePlaced: false,
12
- afterSignature: false,
13
- inFooter: false,
14
- };
15
- }
16
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/context.ts"],"names":[],"mappings":";;AAEA,oDAWC;AAXD,SAAgB,oBAAoB,CAAC,GAAuB;IAC1D,OAAO;QACL,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;QAC9B,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- import { PageContext, RenderEnv } from "../../types";
2
- import { BottomLimitForContentFn } from "../utils";
3
- export type EnsureSpaceForFn = (heightNeeded: number, env: RenderEnv) => void;
4
- /**
5
- * Creates the `ensureSpaceFor` helper:
6
- * - if current block doesn't fit in remaining space, calls `finishPage(true)`
7
- */
8
- export declare function createEnsureSpaceFor(ctx: PageContext, bottomLimitForContent: BottomLimitForContentFn, finishPage: (addNewPage: boolean) => void): EnsureSpaceForFn;
9
- //# sourceMappingURL=ensure-space.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensure-space.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/ensure-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,qBAAqB,EAAE,uBAAuB,EAC9C,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GACxC,gBAAgB,CASlB"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEnsureSpaceFor = createEnsureSpaceFor;
4
- /**
5
- * Creates the `ensureSpaceFor` helper:
6
- * - if current block doesn't fit in remaining space, calls `finishPage(true)`
7
- */
8
- function createEnsureSpaceFor(ctx, bottomLimitForContent, finishPage) {
9
- return (heightNeeded, env) => {
10
- if (!env.allowPageBreak || ctx.inFooter)
11
- return;
12
- const bottomLimit = bottomLimitForContent();
13
- if (ctx.currentY + heightNeeded > bottomLimit) {
14
- finishPage(true);
15
- }
16
- };
17
- }
18
- //# sourceMappingURL=ensure-space.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensure-space.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/ensure-space.ts"],"names":[],"mappings":";;AASA,oDAaC;AAjBD;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,GAAgB,EAChB,qBAA8C,EAC9C,UAAyC;IAEzC,OAAO,CAAC,YAAoB,EAAE,GAAc,EAAE,EAAE;QAC9C,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO;QAEhD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { RenderEnv } from "../../types";
2
- export declare const contentEnv: (doc: PDFKit.PDFDocument) => RenderEnv;
3
- //# sourceMappingURL=env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,CAAC,WAAW,KAAG,SAInD,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.contentEnv = void 0;
4
- const contentEnv = (doc) => ({
5
- marginLeft: doc.page.margins.left,
6
- innerWidth: doc.page.width - doc.page.margins.left - doc.page.margins.right,
7
- allowPageBreak: true,
8
- });
9
- exports.contentEnv = contentEnv;
10
- //# sourceMappingURL=env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/env.ts"],"names":[],"mappings":";;;AAEO,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAa,EAAE,CAAC,CAAC;IACjE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;IACjC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;IAC3E,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AAJU,QAAA,UAAU,cAIpB"}
@@ -1,13 +0,0 @@
1
- import { Block, CustomDocDefinition, PageContext, RenderEnv } from "../../types";
2
- export type RenderBlockArrayFn = (blocks: Block[], startY: number, env: RenderEnv) => number;
3
- export interface FinishPageParams {
4
- addNewPage: boolean;
5
- doc: PDFKit.PDFDocument;
6
- def: CustomDocDefinition;
7
- ctx: PageContext;
8
- footerBandHeight: number;
9
- renderBlockArray: RenderBlockArrayFn;
10
- startNewPageLayout: () => void;
11
- }
12
- export declare function finishPage({ addNewPage, doc, def, ctx, footerBandHeight, renderBlockArray, startNewPageLayout, }: FinishPageParams): void;
13
- //# sourceMappingURL=finish-page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finish-page.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/finish-page.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,WAAW,EACX,SAAS,EACV,MAAM,aAAa,CAAC;AASrB,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,KACX,MAAM,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;IACxB,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,GAAG,EACH,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,gBAAgB,QA8BlB"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.finishPage = finishPage;
4
- const utils_1 = require("../utils");
5
- function finishPage({ addNewPage, doc, def, ctx, footerBandHeight, renderBlockArray, startNewPageLayout, }) {
6
- var _a;
7
- const mode = (_a = def.watermark) === null || _a === void 0 ? void 0 : _a.mode;
8
- // Watermark modes that depend on knowing "is this the last page?"
9
- if (def.watermark && (0, utils_1.watermarkUsesLast)(mode)) {
10
- const isLast = !addNewPage;
11
- (0, utils_1.drawWatermarkForPage)(doc, def.watermark, ctx.pageNumber, isLast);
12
- }
13
- // Draw reserved signature band
14
- if (ctx.signatureBlock && ctx.signatureTopY !== null) {
15
- const env = (0, utils_1.contentEnv)(doc);
16
- (0, utils_1.drawSignatureBlock)(doc, ctx.signatureBlock, ctx.signatureTopY, env, renderBlockArray);
17
- }
18
- // Footer
19
- (0, utils_1.drawFooter)(doc, def, ctx, footerBandHeight, renderBlockArray);
20
- // Next page
21
- if (addNewPage) {
22
- doc.addPage();
23
- ctx.pageNumber += 1;
24
- startNewPageLayout();
25
- }
26
- }
27
- //# sourceMappingURL=finish-page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finish-page.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/finish-page.ts"],"names":[],"mappings":";;AA8BA,gCAsCC;AA9DD,oCAMkB;AAkBlB,SAAgB,UAAU,CAAC,EACzB,UAAU,EACV,GAAG,EACH,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACD;;IACjB,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,SAAS,0CAAE,IAAI,CAAC;IAEjC,kEAAkE;IAClE,IAAI,GAAG,CAAC,SAAS,IAAI,IAAA,yBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC;QAC3B,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAA,0BAAkB,EAChB,GAAG,EACH,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,aAAa,EACjB,GAAG,EACH,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,SAAS;IACT,IAAA,kBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAE9D,YAAY;IACZ,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACpB,kBAAkB,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Block, CustomDocDefinition, PageContext, RenderEnv } from "../../types";
2
- export declare function drawFooter(doc: PDFKit.PDFDocument, def: CustomDocDefinition, ctx: PageContext, footerBandHeight: number, renderBlockArray: (blocks: Block[], startY: number, env: RenderEnv) => number): void;
3
- //# sourceMappingURL=footer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/footer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,mBAAmB,EAGnB,WAAW,EACX,SAAS,EACV,MAAM,aAAa,CAAC;AA8CrB,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,GAAG,EAAE,mBAAmB,EACxB,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,QAyD9E"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.drawFooter = drawFooter;
4
- function normalizeFooter(input, ctx, doc) {
5
- if (!input)
6
- return null;
7
- if (typeof input === "function") {
8
- const result = input(ctx.pageNumber, {
9
- width: doc.page.width,
10
- height: doc.page.height,
11
- });
12
- if (!result)
13
- return null;
14
- return normalizeFooter(result, ctx, doc);
15
- }
16
- if (input.blocks &&
17
- Array.isArray(input.blocks)) {
18
- const f = input;
19
- return {
20
- visible: f.visible,
21
- blocks: f.blocks,
22
- marginTop: f.marginTop,
23
- marginBottom: f.marginBottom,
24
- marginLeft: f.marginLeft,
25
- marginRight: f.marginRight,
26
- backgroundColor: f.backgroundColor,
27
- backgroundImage: f.backgroundImage,
28
- };
29
- }
30
- if (input.type) {
31
- return { blocks: [input] };
32
- }
33
- if (Array.isArray(input)) {
34
- return { blocks: input };
35
- }
36
- return null;
37
- }
38
- function drawFooter(doc, def, ctx, footerBandHeight, renderBlockArray) {
39
- var _a, _b;
40
- const footerConfig = def.footer;
41
- if (!footerConfig)
42
- return;
43
- const layout = normalizeFooter(footerConfig, ctx, doc);
44
- if (!layout || !layout.blocks.length)
45
- return;
46
- if (layout.visible === false)
47
- return;
48
- const bandHeight = footerBandHeight;
49
- if (!bandHeight)
50
- return;
51
- const { marginTop = 4, backgroundColor, backgroundImage, blocks } = layout;
52
- const footerMarginLeft = (_a = layout.marginLeft) !== null && _a !== void 0 ? _a : 0;
53
- const footerMarginRight = (_b = layout.marginRight) !== null && _b !== void 0 ? _b : 0;
54
- const contentWidth = doc.page.width - footerMarginLeft - footerMarginRight;
55
- const footerEnv = {
56
- marginLeft: footerMarginLeft,
57
- innerWidth: contentWidth,
58
- allowPageBreak: false,
59
- };
60
- const pageHeight = doc.page.height;
61
- const bandTop = pageHeight - bandHeight;
62
- if (backgroundColor) {
63
- doc.save();
64
- doc.rect(0, bandTop, doc.page.width, bandHeight).fill(backgroundColor);
65
- doc.restore();
66
- }
67
- if (backgroundImage) {
68
- try {
69
- doc.image(backgroundImage, 0, bandTop, {
70
- width: doc.page.width,
71
- height: bandHeight,
72
- });
73
- }
74
- catch (e) {
75
- // eslint-disable-next-line no-console
76
- console.warn("Failed to load footer background image:", e);
77
- }
78
- }
79
- doc.save();
80
- doc.rect(footerMarginLeft, bandTop, contentWidth, bandHeight).clip();
81
- // translate into footer band
82
- doc.translate(0, bandTop);
83
- ctx.inFooter = true;
84
- const localStartY = marginTop;
85
- renderBlockArray(blocks, localStartY, footerEnv);
86
- ctx.inFooter = false;
87
- doc.restore();
88
- }
89
- //# sourceMappingURL=footer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/footer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Block, CustomDocDefinition, HeaderDef, RenderEnv } from "../../types";
2
- export declare function drawHeader(doc: PDFKit.PDFDocument, def: CustomDocDefinition, headerBandHeight: number, header: HeaderDef | undefined, renderBlockArray: (blocks: Block[], startY: number, env: RenderEnv) => number): void;
3
- //# sourceMappingURL=header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,GAAG,EAAE,mBAAmB,EACxB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,QA8C9E"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.drawHeader = drawHeader;
4
- function drawHeader(doc, def, headerBandHeight, header, renderBlockArray) {
5
- var _a, _b, _c;
6
- if (!header || !header.blocks.length)
7
- return;
8
- if (header.visible === false)
9
- return;
10
- if (!headerBandHeight)
11
- return;
12
- const bandTop = 0;
13
- const bandHeight = def.margins.top;
14
- const headerMarginLeft = (_a = header.marginLeft) !== null && _a !== void 0 ? _a : 0;
15
- const headerMarginRight = (_b = header.marginRight) !== null && _b !== void 0 ? _b : 0;
16
- const contentWidth = doc.page.width - headerMarginLeft - headerMarginRight;
17
- const headerEnv = {
18
- marginLeft: headerMarginLeft,
19
- innerWidth: contentWidth,
20
- allowPageBreak: false,
21
- };
22
- if (header.backgroundColor) {
23
- doc.save();
24
- doc
25
- .rect(0, bandTop, doc.page.width, bandHeight)
26
- .fill(header.backgroundColor);
27
- doc.restore();
28
- }
29
- if (header.backgroundImage) {
30
- try {
31
- doc.image(header.backgroundImage, 0, bandTop, {
32
- width: doc.page.width,
33
- height: bandHeight,
34
- });
35
- }
36
- catch (e) {
37
- // eslint-disable-next-line no-console
38
- console.warn("Failed to load header background image:", e);
39
- }
40
- }
41
- doc.save();
42
- doc.rect(headerMarginLeft, bandTop, contentWidth, bandHeight).clip();
43
- const startY = bandTop + ((_c = header.marginTop) !== null && _c !== void 0 ? _c : 0);
44
- renderBlockArray(header.blocks, startY, headerEnv);
45
- doc.restore();
46
- }
47
- //# sourceMappingURL=header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/header.ts"],"names":[],"mappings":";;AAEA,gCAmDC;AAnDD,SAAgB,UAAU,CACxB,GAAuB,EACvB,GAAwB,EACxB,gBAAwB,EACxB,MAA6B,EAC7B,gBAA6E;;IAE7E,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO;IAC7C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO;IACrC,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,OAAO,GAAG,CAAC,CAAC;IAClB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IAEnC,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IAE3E,MAAM,SAAS,GAAc;QAC3B,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,KAAK;KACtB,CAAC;IAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG;aACA,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;aAC5C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAChC,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE;gBAC5C,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;gBACrB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,CAAC,CAAC,CAAC;IACjD,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEnD,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function normalizeImageSrc(src: string | Buffer | undefined): Promise<string | Buffer | undefined>;
2
- import { Block } from "../../types";
3
- export declare function materializeImagesInBlocks(blocks: Block[]): Promise<Block[]>;
4
- //# sourceMappingURL=image-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-loader.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/image-loader.ts"],"names":[],"mappings":"AAEA,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAgBtC;AAED,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAEhD,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,KAAK,EAAE,GACd,OAAO,CAAC,KAAK,EAAE,CAAC,CA2BlB"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.normalizeImageSrc = normalizeImageSrc;
7
- exports.materializeImagesInBlocks = materializeImagesInBlocks;
8
- const axios_1 = __importDefault(require("axios"));
9
- async function normalizeImageSrc(src) {
10
- if (!src)
11
- return src;
12
- // Already a Buffer -> fine
13
- if (Buffer.isBuffer(src))
14
- return src;
15
- // Remote URL -> download to Buffer
16
- if (src.startsWith("http://") || src.startsWith("https://")) {
17
- const res = await axios_1.default.get(src, {
18
- responseType: "arraybuffer",
19
- });
20
- return Buffer.from(res.data);
21
- }
22
- // Otherwise treat as local file path
23
- return src;
24
- }
25
- async function materializeImagesInBlocks(blocks) {
26
- const out = [];
27
- for (const block of blocks) {
28
- if (block.type === "image") {
29
- const img = { ...block };
30
- img.src = await normalizeImageSrc(img.src);
31
- out.push(img);
32
- }
33
- else if (block.type === "columns") {
34
- // recurse into columns
35
- out.push({
36
- ...block,
37
- columns: await Promise.all(block.columns.map((col) => materializeImagesInBlocks(col))),
38
- });
39
- }
40
- else if (block.type === "signature" && block.blocks) {
41
- out.push({
42
- ...block,
43
- blocks: await materializeImagesInBlocks(block.blocks),
44
- });
45
- }
46
- else {
47
- out.push(block);
48
- }
49
- }
50
- return out;
51
- }
52
- //# sourceMappingURL=image-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-loader.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/image-loader.ts"],"names":[],"mappings":";;;;;AAEA,8CAkBC;AAID,8DA6BC;AArDD,kDAA0B;AAEnB,KAAK,UAAU,iBAAiB,CACrC,GAAgC;IAEhC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IAErB,2BAA2B;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAErC,mCAAmC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAc,GAAG,EAAE;YAC5C,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,OAAO,GAAG,CAAC;AACb,CAAC;AAIM,KAAK,UAAU,yBAAyB,CAC7C,MAAe;IAEf,MAAM,GAAG,GAAY,EAAE,CAAC;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,EAAE,GAAI,KAAoB,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,uBAAuB;YACvB,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAC3D;aACF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,MAAM,EAAE,MAAM,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC;aACtD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,19 +0,0 @@
1
- export * from "./block-renderer";
2
- export * from "./context";
3
- export * from "./ensure-space";
4
- export * from "./env";
5
- export * from "./finish-page";
6
- export * from "./footer";
7
- export * from "./header";
8
- export * from "./image-loader";
9
- export * from "./layout";
10
- export * from "./measure-block-height";
11
- export * from "./page-background";
12
- export * from "./page-flow";
13
- export * from "./page-limit";
14
- export * from "./qr-bar-code";
15
- export * from "./signature";
16
- export * from "./start-page-layout";
17
- export * from "./styles";
18
- export * from "./watermark";
19
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./block-renderer"), exports);
18
- __exportStar(require("./context"), exports);
19
- __exportStar(require("./ensure-space"), exports);
20
- __exportStar(require("./env"), exports);
21
- __exportStar(require("./finish-page"), exports);
22
- __exportStar(require("./footer"), exports);
23
- __exportStar(require("./header"), exports);
24
- __exportStar(require("./image-loader"), exports);
25
- __exportStar(require("./layout"), exports);
26
- __exportStar(require("./measure-block-height"), exports);
27
- __exportStar(require("./page-background"), exports);
28
- __exportStar(require("./page-flow"), exports);
29
- __exportStar(require("./page-limit"), exports);
30
- __exportStar(require("./qr-bar-code"), exports);
31
- __exportStar(require("./signature"), exports);
32
- __exportStar(require("./start-page-layout"), exports);
33
- __exportStar(require("./styles"), exports);
34
- __exportStar(require("./watermark"), exports);
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4CAA0B;AAC1B,iDAA+B;AAC/B,wCAAsB;AACtB,gDAA8B;AAC9B,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,yDAAuC;AACvC,oDAAkC;AAClC,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,sDAAoC;AACpC,2CAAyB;AACzB,8CAA4B"}
@@ -1,8 +0,0 @@
1
- import { Width } from "../../types";
2
- /**
3
- * Compute pixel widths for a set of column width descriptors.
4
- * - number: fixed width
5
- * - "*": flex unit
6
- */
7
- export declare function computeColumnPixelWidths(widths: Width[], totalWidth: number): number[];
8
- //# sourceMappingURL=layout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAaV"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.computeColumnPixelWidths = computeColumnPixelWidths;
4
- /**
5
- * Compute pixel widths for a set of column width descriptors.
6
- * - number: fixed width
7
- * - "*": flex unit
8
- */
9
- function computeColumnPixelWidths(widths, totalWidth) {
10
- let fixedTotal = 0;
11
- let starCount = 0;
12
- widths.forEach((w) => {
13
- if (w === "*")
14
- starCount++;
15
- else
16
- fixedTotal += w;
17
- });
18
- const remaining = Math.max(totalWidth - fixedTotal, 0);
19
- const starWidth = starCount > 0 ? remaining / starCount : 0;
20
- return widths.map((w) => (w === "*" ? starWidth : w));
21
- }
22
- //# sourceMappingURL=layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/layout.ts"],"names":[],"mappings":";;AAQA,4DAgBC;AArBD;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,MAAe,EACf,UAAkB;IAElB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,KAAK,GAAG;YAAE,SAAS,EAAE,CAAC;;YACtB,UAAU,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -1,8 +0,0 @@
1
- import { Block, RenderEnv, StyleDef } from "../../types";
2
- export type MeasureBlockHeightFn = (block: Block, env: RenderEnv) => number;
3
- export declare function createMeasureBlockHeight(deps: {
4
- doc: PDFKit.PDFDocument;
5
- styles: Record<string, StyleDef>;
6
- computeColumnPixelWidths: (widths: (number | "*")[], totalWidth: number) => number[];
7
- }): MeasureBlockHeightFn;
8
- //# sourceMappingURL=measure-block-height.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"measure-block-height.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/measure-block-height.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAML,SAAS,EAET,QAAQ,EAGT,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,CAAC;AAE5E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,wBAAwB,EAAE,CACxB,MAAM,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EACxB,UAAU,EAAE,MAAM,KACf,MAAM,EAAE,CAAC;CACf,GAAG,oBAAoB,CA6QvB"}