pdf-creator-node 4.0.0 → 4.0.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 (33) hide show
  1. package/dist/{createPdf.d.ts → create/index.d.ts} +3 -3
  2. package/dist/create/index.d.ts.map +1 -0
  3. package/dist/{createPdf.js → create/index.js} +8 -8
  4. package/dist/handlebars/registerHandlebarsHelpers.d.ts.map +1 -0
  5. package/dist/index.d.ts +5 -5
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +8 -8
  8. package/dist/{pdfChrome.d.ts → pdf/chrome.d.ts} +3 -3
  9. package/dist/pdf/chrome.d.ts.map +1 -0
  10. package/dist/{pdfPuppeteer.d.ts → pdf/puppeteer.d.ts} +2 -2
  11. package/dist/pdf/puppeteer.d.ts.map +1 -0
  12. package/dist/{pdfRenderOptions.d.ts → pdf/renderOptions.d.ts} +1 -1
  13. package/dist/pdf/renderOptions.d.ts.map +1 -0
  14. package/dist/{types.d.ts → types/index.d.ts} +2 -2
  15. package/dist/types/index.d.ts.map +1 -0
  16. package/dist/{validation.d.ts → validation/index.d.ts} +2 -2
  17. package/dist/validation/index.d.ts.map +1 -0
  18. package/package.json +1 -1
  19. package/readme.md +48 -0
  20. package/dist/createPdf.d.ts.map +0 -1
  21. package/dist/pdfChrome.d.ts.map +0 -1
  22. package/dist/pdfPuppeteer.d.ts.map +0 -1
  23. package/dist/pdfRenderOptions.d.ts.map +0 -1
  24. package/dist/registerHandlebarsHelpers.d.ts.map +0 -1
  25. package/dist/types.d.ts.map +0 -1
  26. package/dist/validation.d.ts.map +0 -1
  27. /package/dist/{registerHandlebarsHelpers.d.ts → handlebars/registerHandlebarsHelpers.d.ts} +0 -0
  28. /package/dist/{registerHandlebarsHelpers.js → handlebars/registerHandlebarsHelpers.js} +0 -0
  29. /package/dist/{pdfChrome.js → pdf/chrome.js} +0 -0
  30. /package/dist/{pdfPuppeteer.js → pdf/puppeteer.js} +0 -0
  31. /package/dist/{pdfRenderOptions.js → pdf/renderOptions.js} +0 -0
  32. /package/dist/{types.js → types/index.js} +0 -0
  33. /package/dist/{validation.js → validation/index.js} +0 -0
@@ -1,7 +1,7 @@
1
- import type { PdfCreateOptions, PdfDocument } from "./types";
2
- import type { PdfFileInfo } from "./pdfRenderOptions";
1
+ import type { PdfCreateOptions, PdfDocument } from "../types";
2
+ import type { PdfFileInfo } from "../pdf/renderOptions";
3
3
  /**
4
4
  * Renders the Handlebars template and generates a PDF via Puppeteer (headless Chromium).
5
5
  */
6
6
  export declare function create(document: PdfDocument, options: PdfCreateOptions): Promise<Buffer | NodeJS.ReadableStream | PdfFileInfo>;
7
- //# sourceMappingURL=createPdf.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAmBxD;;GAEG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,CA2BvD"}
@@ -14,10 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.create = create;
16
16
  const handlebars_1 = __importDefault(require("handlebars"));
17
- const pdfPuppeteer_1 = require("./pdfPuppeteer");
18
- const pdfChrome_1 = require("./pdfChrome");
19
- const registerHandlebarsHelpers_1 = require("./registerHandlebarsHelpers");
20
- const validation_1 = require("./validation");
17
+ const puppeteer_1 = require("../pdf/puppeteer");
18
+ const chrome_1 = require("../pdf/chrome");
19
+ const registerHandlebarsHelpers_1 = require("../handlebars/registerHandlebarsHelpers");
20
+ const validation_1 = require("../validation");
21
21
  function renderHtml(document, options) {
22
22
  const hb = handlebars_1.default.create();
23
23
  (0, registerHandlebarsHelpers_1.registerHandlebarsHelpers)(hb);
@@ -52,15 +52,15 @@ function create(document, options) {
52
52
  catch (e) {
53
53
  throw e;
54
54
  }
55
- const pdfOptions = (0, pdfChrome_1.mergePdfCreateOptions)(options);
56
- const buffer = yield (0, pdfPuppeteer_1.renderPdfToBuffer)(html, pdfOptions);
55
+ const pdfOptions = (0, chrome_1.mergePdfCreateOptions)(options);
56
+ const buffer = yield (0, puppeteer_1.renderPdfToBuffer)(html, pdfOptions);
57
57
  switch (document.type) {
58
58
  case "buffer":
59
59
  return buffer;
60
60
  case "stream":
61
- return (0, pdfPuppeteer_1.bufferToStream)(buffer);
61
+ return (0, puppeteer_1.bufferToStream)(buffer);
62
62
  default:
63
- return (0, pdfPuppeteer_1.writePdfToFile)(document.path, buffer);
63
+ return (0, puppeteer_1.writePdfToFile)(document.path, buffer);
64
64
  }
65
65
  }))();
66
66
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerHandlebarsHelpers.d.ts","sourceRoot":"","sources":["../../src/handlebars/registerHandlebarsHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,GAAE,OAAO,UAAuB,GACzC,IAAI,CAoCN"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * @author Shyam Hajare <hajareshyam@gmail.com>
3
3
  */
4
- import { create } from "./createPdf";
4
+ import { create } from "./create";
5
5
  export { create };
6
- export { buildPdfChrome } from "./pdfChrome";
7
- export { htmlPdfTokensToPuppeteer } from "./pdfPuppeteer";
6
+ export { buildPdfChrome } from "./pdf/chrome";
7
+ export { htmlPdfTokensToPuppeteer } from "./pdf/puppeteer";
8
8
  export type { Document, IfCondOptions, PdfChromeOptions, PdfCreateOptions, PdfDocument, PdfDocumentBuffer, PdfDocumentFile, PdfDocumentStream, PdfFooterConfig, PdfHeaderConfig, PdfLayout, } from "./types";
9
- export type { PdfFileInfo, PdfRenderOptions } from "./pdfRenderOptions";
10
- export type { PdfFileInfo as FileInfo } from "./pdfRenderOptions";
9
+ export type { PdfFileInfo, PdfRenderOptions } from "./pdf/renderOptions";
10
+ export type { PdfFileInfo as FileInfo } from "./pdf/renderOptions";
11
11
  declare const api: {
12
12
  create: typeof create;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAElE,QAAA,MAAM,GAAG;;CAAa,CAAC;AACvB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEnE,QAAA,MAAM,GAAG;;CAAa,CAAC;AACvB,eAAe,GAAG,CAAC"}
package/dist/index.js CHANGED
@@ -4,13 +4,13 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.htmlPdfTokensToPuppeteer = exports.buildPdfChrome = exports.create = void 0;
7
- const registerHandlebarsHelpers_1 = require("./registerHandlebarsHelpers");
8
- const createPdf_1 = require("./createPdf");
9
- Object.defineProperty(exports, "create", { enumerable: true, get: function () { return createPdf_1.create; } });
7
+ const registerHandlebarsHelpers_1 = require("./handlebars/registerHandlebarsHelpers");
8
+ const create_1 = require("./create");
9
+ Object.defineProperty(exports, "create", { enumerable: true, get: function () { return create_1.create; } });
10
10
  (0, registerHandlebarsHelpers_1.registerHandlebarsHelpers)();
11
- var pdfChrome_1 = require("./pdfChrome");
12
- Object.defineProperty(exports, "buildPdfChrome", { enumerable: true, get: function () { return pdfChrome_1.buildPdfChrome; } });
13
- var pdfPuppeteer_1 = require("./pdfPuppeteer");
14
- Object.defineProperty(exports, "htmlPdfTokensToPuppeteer", { enumerable: true, get: function () { return pdfPuppeteer_1.htmlPdfTokensToPuppeteer; } });
15
- const api = { create: createPdf_1.create };
11
+ var chrome_1 = require("./pdf/chrome");
12
+ Object.defineProperty(exports, "buildPdfChrome", { enumerable: true, get: function () { return chrome_1.buildPdfChrome; } });
13
+ var puppeteer_1 = require("./pdf/puppeteer");
14
+ Object.defineProperty(exports, "htmlPdfTokensToPuppeteer", { enumerable: true, get: function () { return puppeteer_1.htmlPdfTokensToPuppeteer; } });
15
+ const api = { create: create_1.create };
16
16
  exports.default = api;
@@ -1,5 +1,5 @@
1
- import type { PdfChromeOptions, PdfCreateOptions } from "./types";
2
- import type { PdfRenderOptions } from "./pdfRenderOptions";
1
+ import type { PdfChromeOptions, PdfCreateOptions } from "../types";
2
+ import type { PdfRenderOptions } from "./renderOptions";
3
3
  /**
4
4
  * Builds partial html-pdf options from layout / header / footer / copyright.
5
5
  * Use {@link mergePdfCreateOptions} to merge with explicit `format`, `header`, `footer`.
@@ -9,4 +9,4 @@ export declare function buildPdfChrome(chrome?: PdfChromeOptions): Partial<PdfRe
9
9
  * Merges `pdfChrome` with explicit PDF options. Explicit `header` / `footer` / `format` win.
10
10
  */
11
11
  export declare function mergePdfCreateOptions(options: PdfCreateOptions): PdfRenderOptions;
12
- //# sourceMappingURL=pdfChrome.d.ts.map
12
+ //# sourceMappingURL=chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/pdf/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA+CxD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuDnF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CASjF"}
@@ -1,5 +1,5 @@
1
1
  import { Readable } from "stream";
2
- import type { PdfFileInfo, PdfRenderOptions } from "./pdfRenderOptions";
2
+ import type { PdfFileInfo, PdfRenderOptions } from "./renderOptions";
3
3
  /** Maps html-pdf `{{page}}` / `{{pages}}` to Puppeteer header/footer template tokens. */
4
4
  export declare function htmlPdfTokensToPuppeteer(html: string): string;
5
5
  /**
@@ -8,4 +8,4 @@ export declare function htmlPdfTokensToPuppeteer(html: string): string;
8
8
  export declare function renderPdfToBuffer(html: string, options: PdfRenderOptions): Promise<Buffer>;
9
9
  export declare function writePdfToFile(path: string, buffer: Buffer): Promise<PdfFileInfo>;
10
10
  export declare function bufferToStream(buffer: Buffer): Readable;
11
- //# sourceMappingURL=pdfPuppeteer.d.ts.map
11
+ //# sourceMappingURL=puppeteer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../../src/pdf/puppeteer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAErE,yFAAyF;AACzF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7D;AA8FD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAItB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEvD"}
@@ -62,4 +62,4 @@ export interface PdfRenderOptions {
62
62
  export interface PdfFileInfo {
63
63
  filename: string;
64
64
  }
65
- //# sourceMappingURL=pdfRenderOptions.d.ts.map
65
+ //# sourceMappingURL=renderOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderOptions.d.ts","sourceRoot":"","sources":["../../src/pdf/renderOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7D,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,MAAM,CAAC,EACH,MAAM,GACN;QACE,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACN,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YACT,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;YACnC,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE;QACZ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF,mBAAmB,CAAC,EAAE;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -1,5 +1,5 @@
1
1
  import type { HelperDelegate } from "handlebars";
2
- import type { PdfRenderOptions } from "./pdfRenderOptions";
2
+ import type { PdfRenderOptions } from "../pdf/renderOptions";
3
3
  /** Options passed to Handlebars `ifCond` helper inverse/fn blocks */
4
4
  export interface IfCondOptions {
5
5
  fn: (context: any) => string;
@@ -76,4 +76,4 @@ export type PdfCreateOptions = PdfRenderOptions & {
76
76
  /** Convenience presets merged into PDF options (explicit keys override) */
77
77
  pdfChrome?: PdfChromeOptions;
78
78
  };
79
- //# sourceMappingURL=types.d.ts.map
79
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;CACpB;AAED,0BAA0B;AAC1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,kFAAkF;AAClF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7D,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CACrC;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnD,2EAA2E;IAC3E,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { PdfDocument } from "./types";
1
+ import type { PdfDocument } from "../types";
2
2
  /**
3
3
  * Validates `document` before PDF generation. Throws with a clear message if invalid.
4
4
  */
5
5
  export declare function validatePdfDocument(document: PdfDocument): void;
6
- //# sourceMappingURL=validation.d.ts.map
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAgC/D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdf-creator-node",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "node pdf creator",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/readme.md CHANGED
@@ -181,6 +181,54 @@ const options = {
181
181
  };
182
182
  ```
183
183
 
184
+ ### Margins
185
+
186
+ **Page margins** are the **`border`** option (string or per-side object). That maps to Chromium’s PDF margins—the content area is inset by this amount.
187
+
188
+ ### Custom fonts
189
+
190
+ v4 renders with **Chromium**, so fonts work like in a normal web page: **`@font-face`**, **`font-family`**, and hosted fonts.
191
+
192
+ **Hosted fonts (Google Fonts, jsDelivr, etc.)** — add a `<link>` in `<head>` and set `font-family` in your CSS. The process must be able to reach the font URL.
193
+
194
+ **Local files** — use `@font-face` with a relative `url('fonts/MyFont.woff2')` and set **`base`** on the options object to the folder that contains those paths (it becomes Puppeteer’s `baseURL`). Use a **trailing slash** when `base` is a directory:
195
+
196
+ ```javascript
197
+ const path = require("path");
198
+
199
+ const options = {
200
+ format: "A4",
201
+ base: path.join(__dirname, "assets") + path.sep,
202
+ };
203
+ ```
204
+
205
+ **Header / footer HTML** is rendered in Chromium’s print header/footer UI. It does not automatically inherit styles from the main template. To use the same font there, repeat a `<link>` / `@font-face` in the `header.contents` / `footer.contents` string, or rely on **system fonts** for those snippets.
206
+
207
+ ### Images
208
+
209
+ Remote URLs, local files, base64 data URLs, and WebP:
210
+
211
+ - **Remote:** `src="https://..."` works when the environment can fetch the URL.
212
+ - **Local files:** set **`base`** and use a path relative to that root (same as for fonts).
213
+ - **Data URLs:** `data:image/png;base64,...` (use the correct MIME type). **WebP** is generally supported in Chromium; if something fails, try **PNG** or **JPEG**.
214
+ - **Images inside `header` / `footer`:** prefer **absolute** `https://` URLs, or paths that resolve correctly with your **`base`**; relative paths are easy to get wrong in the print template.
215
+
216
+ Wide tables or “horizontal scroll” in a browser do not carry over as scroll in a PDF—use **`orientation: "landscape"`**, smaller type, or table/CSS layout that fits the page width. For keeping blocks together on one page, try CSS **`break-inside: avoid`** / **`page-break-inside: avoid`** (behavior follows Chromium’s print rules).
217
+
218
+ ### AWS Lambda and serverless
219
+
220
+ **It can work, but not with a default “zip only” deploy in most cases.** This package runs **Puppeteer** with **headless Chromium**, which is large and memory-hungry.
221
+
222
+ | Topic | Guidance |
223
+ | --- | --- |
224
+ | **Deployment size** | Default `puppeteer` installs a full Chromium build (hundreds of MB). AWS Lambda **zip** deployments have a **250 MB unzipped** limit, so the stock layout often **does not fit**. |
225
+ | **What usually works** | **Lambda container images** (Docker) with Chromium + Node, or a **trimmed Chromium** packaged for Lambda (community layers / [`@sparticuz/chromium`](https://github.com/Sparticuz/chromium)–style setups) with **`puppeteer-core`**. |
226
+ | **This library today** | `puppeteer.launch()` is called with **`--no-sandbox`**, **`--disable-setuid-sandbox`**, and **`--disable-dev-shm-usage`** (typical for containers and many serverless images). There is **no public option** to set **`executablePath`** or merge extra launch flags—using a custom Chromium binary may require a **fork**, **patch**, or a **wrapper** that replaces how the browser is launched until such options exist. |
227
+ | **Memory & timeout** | Plan for **~1.5–3 GB** RAM and a **timeout** that covers cold start + browser launch + PDF generation. |
228
+ | **Alternatives** | Run PDF generation on **ECS/Fargate**, **EC2**, or a **dedicated microservice**; keep Lambda for orchestration only. |
229
+
230
+ For CI and non-Lambda servers, you can tune install size with [`PUPPETEER_SKIP_DOWNLOAD`](https://pptr.dev/guides/installation#download-chromium-during-installation) / [`PUPPETEER_CACHE_DIR`](https://pptr.dev/guides/configuration) when you supply your own browser.
231
+
184
232
  ## `ifCond` helper
185
233
 
186
234
  Compare two values in the template:
@@ -1 +0,0 @@
1
- {"version":3,"file":"createPdf.d.ts","sourceRoot":"","sources":["../src/createPdf.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmBtD;;GAEG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,CA2BvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdfChrome.d.ts","sourceRoot":"","sources":["../src/pdfChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+C3D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuDnF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CASjF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdfPuppeteer.d.ts","sourceRoot":"","sources":["../src/pdfPuppeteer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE,yFAAyF;AACzF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7D;AA8FD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAItB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdfRenderOptions.d.ts","sourceRoot":"","sources":["../src/pdfRenderOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7D,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,MAAM,CAAC,EACH,MAAM,GACN;QACE,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACN,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YACT,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;YACnC,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE;QACZ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF,mBAAmB,CAAC,EAAE;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerHandlebarsHelpers.d.ts","sourceRoot":"","sources":["../src/registerHandlebarsHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,GAAE,OAAO,UAAuB,GACzC,IAAI,CAoCN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;CACpB;AAED,0BAA0B;AAC1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,kFAAkF;AAClF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7D,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CACrC;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnD,2EAA2E;IAC3E,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAgC/D"}
File without changes
File without changes
File without changes
File without changes