chromiumly 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +129 -8
  2. package/dist/chromium/converters/html.converter.d.ts +12 -2
  3. package/dist/chromium/converters/html.converter.js +5 -3
  4. package/dist/chromium/converters/html.converter.js.map +1 -1
  5. package/dist/chromium/converters/markdown.converter.d.ts +12 -2
  6. package/dist/chromium/converters/markdown.converter.js +5 -3
  7. package/dist/chromium/converters/markdown.converter.js.map +1 -1
  8. package/dist/chromium/converters/url.converter.d.ts +12 -2
  9. package/dist/chromium/converters/url.converter.js +5 -3
  10. package/dist/chromium/converters/url.converter.js.map +1 -1
  11. package/dist/chromium/index.d.ts +3 -0
  12. package/dist/chromium/index.js +7 -1
  13. package/dist/chromium/index.js.map +1 -1
  14. package/dist/chromium/interfaces/converter.types.d.ts +2 -1
  15. package/dist/chromium/interfaces/screenshot.types.d.ts +10 -0
  16. package/dist/chromium/interfaces/screenshot.types.js +3 -0
  17. package/dist/chromium/interfaces/screenshot.types.js.map +1 -0
  18. package/dist/chromium/screenshots/html.screenshot.d.ts +54 -0
  19. package/dist/chromium/screenshots/html.screenshot.js +67 -0
  20. package/dist/chromium/screenshots/html.screenshot.js.map +1 -0
  21. package/dist/chromium/screenshots/markdown.screenshot.d.ts +52 -0
  22. package/dist/chromium/screenshots/markdown.screenshot.js +66 -0
  23. package/dist/chromium/screenshots/markdown.screenshot.js.map +1 -0
  24. package/dist/chromium/screenshots/screenshot.d.ts +18 -0
  25. package/dist/chromium/screenshots/screenshot.js +21 -0
  26. package/dist/chromium/screenshots/screenshot.js.map +1 -0
  27. package/dist/chromium/screenshots/url.screenshot.d.ts +50 -0
  28. package/dist/chromium/screenshots/url.screenshot.js +66 -0
  29. package/dist/chromium/screenshots/url.screenshot.js.map +1 -0
  30. package/dist/chromium/utils/converter.utils.js +3 -0
  31. package/dist/chromium/utils/converter.utils.js.map +1 -1
  32. package/dist/chromium/utils/screenshot.utils.d.ts +22 -0
  33. package/dist/chromium/utils/screenshot.utils.js +75 -0
  34. package/dist/chromium/utils/screenshot.utils.js.map +1 -0
  35. package/dist/common/constants.d.ts +4 -0
  36. package/dist/common/constants.js +4 -0
  37. package/dist/common/constants.js.map +1 -1
  38. package/dist/common/index.d.ts +1 -1
  39. package/dist/common/types.d.ts +3 -0
  40. package/dist/libre-office/utils/constants.js +2 -1
  41. package/dist/libre-office/utils/constants.js.map +1 -1
  42. package/dist/main.config.d.ts +10 -1
  43. package/dist/main.config.js +10 -1
  44. package/dist/main.config.js.map +1 -1
  45. package/dist/main.d.ts +1 -1
  46. package/dist/main.js +4 -1
  47. package/dist/main.js.map +1 -1
  48. package/dist/pdf-engines/pdf.engine.d.ts +23 -1
  49. package/dist/pdf-engines/pdf.engine.js +34 -4
  50. package/dist/pdf-engines/pdf.engine.js.map +1 -1
  51. package/package.json +7 -7
  52. package/src/chromium/converters/html.converter.ts +20 -3
  53. package/src/chromium/converters/markdown.converter.ts +20 -3
  54. package/src/chromium/converters/url.converter.ts +20 -3
  55. package/src/chromium/index.ts +3 -0
  56. package/src/chromium/interfaces/converter.types.ts +2 -1
  57. package/src/chromium/interfaces/screenshot.types.ts +12 -0
  58. package/src/chromium/screenshots/html.screenshot.ts +100 -0
  59. package/src/chromium/screenshots/markdown.screenshot.ts +95 -0
  60. package/src/chromium/screenshots/screenshot.ts +22 -0
  61. package/src/chromium/screenshots/tests/html.screenshot.test.ts +192 -0
  62. package/src/chromium/screenshots/tests/markdown.screenshot.test.ts +176 -0
  63. package/src/chromium/screenshots/tests/url.screenshot.test.ts +166 -0
  64. package/src/chromium/screenshots/url.screenshot.ts +91 -0
  65. package/src/chromium/utils/converter.utils.ts +3 -0
  66. package/src/chromium/utils/screenshot.utils.ts +115 -0
  67. package/src/chromium/utils/tests/converter.utils.test.ts +33 -2
  68. package/src/chromium/utils/tests/screenshot.utils.test.ts +284 -0
  69. package/src/common/constants.ts +4 -0
  70. package/src/common/index.ts +1 -1
  71. package/src/common/tests/gotenberg.utils.test.ts +46 -0
  72. package/src/common/types.ts +4 -0
  73. package/src/libre-office/utils/constants.ts +2 -1
  74. package/src/main.config.ts +12 -2
  75. package/src/main.ts +8 -1
  76. package/src/pdf-engines/pdf.engine.ts +52 -1
  77. package/src/pdf-engines/tests/pdf.engine.test.ts +36 -0
@@ -0,0 +1,52 @@
1
+ /// <reference types="node" />
2
+ import { PathLikeOrReadStream } from '../../common';
3
+ import { ImageProperties } from '../interfaces/screenshot.types';
4
+ import { Screenshot } from './screenshot';
5
+ import { EmulatedMediaType } from '../interfaces/common.types';
6
+ /**
7
+ * Class representing a Markdown screenshot that extends the base Screenshot class.
8
+ * This class is used to screenshots HTML with markdown content using Gotenberg service.
9
+ *
10
+ * @extends Screenshot
11
+ */
12
+ export declare class MarkdownScreenshot extends Screenshot {
13
+ /**
14
+ * Creates an instance of MarkdownScreenshot.
15
+ * Initializes the Screenshot with the Markdown screenshot route.
16
+ */
17
+ constructor();
18
+ /**
19
+ * Screenshots HTML with markdown.
20
+ *
21
+ * @param {Object} options - Screenshot options.
22
+ * @param {PathLikeOrReadStream} options.html - PathLike or ReadStream of the HTML content to be screenshoted.
23
+ * @param {PathLikeOrReadStream} options.markdown - PathLike or ReadStream of the Markdown content to be screenshoted.
24
+ * @param {PathLikeOrReadStream} [options.header] - PathLike or ReadStream of the header HTML content.
25
+ * @param {PathLikeOrReadStream} [options.footer] - PathLike or ReadStream of the footer HTML content.
26
+ * @param {ImageProperties} [options.properties] - Image properties for the screenshot.
27
+ * @param {EmulatedMediaType} [options.emulatedMediaType] - Emulated media type for the screenshot.
28
+ * @param {string} [options.waitDelay] - Delay before the screenshot process starts.
29
+ * @param {string} [options.waitForExpression] - JavaScript expression to wait for before completing the screenshot.
30
+ * @param {Record<string, string>} [options.extraHttpHeaders] - Additional HTTP headers for the screenshot.
31
+ * @param {number []} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
32
+ * @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during screenshot.
33
+ * @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
34
+ * @param {boolean} [options.optimizeForSpeed] - Whether to optimize for speed.
35
+ * @returns {Promise<Buffer>} A Promise resolving to the image buffer.
36
+ */
37
+ capture({ html, markdown, header, footer, properties, emulatedMediaType, waitDelay, waitForExpression, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, skipNetworkIdleEvent, optimizeForSpeed }: {
38
+ html: PathLikeOrReadStream;
39
+ markdown: PathLikeOrReadStream;
40
+ header?: PathLikeOrReadStream;
41
+ footer?: PathLikeOrReadStream;
42
+ properties?: ImageProperties;
43
+ emulatedMediaType?: EmulatedMediaType;
44
+ waitDelay?: string;
45
+ waitForExpression?: string;
46
+ extraHttpHeaders?: Record<string, string>;
47
+ failOnHttpStatusCodes?: number[];
48
+ failOnConsoleExceptions?: boolean;
49
+ skipNetworkIdleEvent?: boolean;
50
+ optimizeForSpeed?: boolean;
51
+ }): Promise<Buffer>;
52
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarkdownScreenshot = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const form_data_1 = tslib_1.__importDefault(require("form-data"));
6
+ const common_1 = require("../../common");
7
+ const screenshot_utils_1 = require("../utils/screenshot.utils");
8
+ const screenshot_1 = require("./screenshot");
9
+ const main_config_1 = require("../../main.config");
10
+ /**
11
+ * Class representing a Markdown screenshot that extends the base Screenshot class.
12
+ * This class is used to screenshots HTML with markdown content using Gotenberg service.
13
+ *
14
+ * @extends Screenshot
15
+ */
16
+ class MarkdownScreenshot extends screenshot_1.Screenshot {
17
+ /**
18
+ * Creates an instance of MarkdownScreenshot.
19
+ * Initializes the Screenshot with the Markdown screenshot route.
20
+ */
21
+ constructor() {
22
+ super(main_config_1.ChromiumRoute.MARKDOWN);
23
+ }
24
+ /**
25
+ * Screenshots HTML with markdown.
26
+ *
27
+ * @param {Object} options - Screenshot options.
28
+ * @param {PathLikeOrReadStream} options.html - PathLike or ReadStream of the HTML content to be screenshoted.
29
+ * @param {PathLikeOrReadStream} options.markdown - PathLike or ReadStream of the Markdown content to be screenshoted.
30
+ * @param {PathLikeOrReadStream} [options.header] - PathLike or ReadStream of the header HTML content.
31
+ * @param {PathLikeOrReadStream} [options.footer] - PathLike or ReadStream of the footer HTML content.
32
+ * @param {ImageProperties} [options.properties] - Image properties for the screenshot.
33
+ * @param {EmulatedMediaType} [options.emulatedMediaType] - Emulated media type for the screenshot.
34
+ * @param {string} [options.waitDelay] - Delay before the screenshot process starts.
35
+ * @param {string} [options.waitForExpression] - JavaScript expression to wait for before completing the screenshot.
36
+ * @param {Record<string, string>} [options.extraHttpHeaders] - Additional HTTP headers for the screenshot.
37
+ * @param {number []} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
38
+ * @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during screenshot.
39
+ * @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
40
+ * @param {boolean} [options.optimizeForSpeed] - Whether to optimize for speed.
41
+ * @returns {Promise<Buffer>} A Promise resolving to the image buffer.
42
+ */
43
+ capture(_a) {
44
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ html, markdown, header, footer, properties, emulatedMediaType, waitDelay, waitForExpression, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, skipNetworkIdleEvent, optimizeForSpeed }) {
45
+ const data = new form_data_1.default();
46
+ yield common_1.GotenbergUtils.addFile(data, html, 'index.html');
47
+ yield common_1.GotenbergUtils.addFile(data, markdown, 'file.md');
48
+ yield screenshot_utils_1.ScreenshotUtils.customize(data, {
49
+ header,
50
+ footer,
51
+ properties,
52
+ emulatedMediaType,
53
+ waitDelay,
54
+ waitForExpression,
55
+ extraHttpHeaders,
56
+ failOnHttpStatusCodes,
57
+ failOnConsoleExceptions,
58
+ skipNetworkIdleEvent,
59
+ optimizeForSpeed
60
+ });
61
+ return common_1.GotenbergUtils.fetch(this.endpoint, data);
62
+ });
63
+ }
64
+ }
65
+ exports.MarkdownScreenshot = MarkdownScreenshot;
66
+ //# sourceMappingURL=markdown.screenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.screenshot.js","sourceRoot":"","sources":["../../../src/chromium/screenshots/markdown.screenshot.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,yCAAoE;AAEpE,gEAA4D;AAC5D,6CAA0C;AAC1C,mDAAkD;AAGlD;;;;;GAKG;AACH,MAAa,kBAAmB,SAAQ,uBAAU;IAC9C;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,OAAO;qEAAC,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAenB;YACG,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAEvD,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAExD,MAAM,kCAAe,CAAC,SAAS,CAAC,IAAI,EAAE;gBAClC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,gBAAgB;gBAChB,qBAAqB;gBACrB,uBAAuB;gBACvB,oBAAoB;gBACpB,gBAAgB;aACnB,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;KAAA;CACJ;AA/ED,gDA+EC"}
@@ -0,0 +1,18 @@
1
+ import { ChromiumRoute } from '../../main.config';
2
+ /**
3
+ * Abstract class representing a generic screenshot.
4
+ * Concrete screenshot classes should extend this class and implement specific screenshot logic.
5
+ */
6
+ export declare abstract class Screenshot {
7
+ /**
8
+ * The endpoint URL for the screenshot.
9
+ */
10
+ readonly endpoint: string;
11
+ /**
12
+ * Creates an instance of the screenshot class.
13
+ * Initializes the endpoint URL based on the provided ChromiumRoute.
14
+ *
15
+ * @param {ChromiumRoute} route - The ChromiumRoute enum value representing the screenshot route.
16
+ */
17
+ constructor(route: ChromiumRoute);
18
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Screenshot = void 0;
4
+ const main_config_1 = require("../../main.config");
5
+ /**
6
+ * Abstract class representing a generic screenshot.
7
+ * Concrete screenshot classes should extend this class and implement specific screenshot logic.
8
+ */
9
+ class Screenshot {
10
+ /**
11
+ * Creates an instance of the screenshot class.
12
+ * Initializes the endpoint URL based on the provided ChromiumRoute.
13
+ *
14
+ * @param {ChromiumRoute} route - The ChromiumRoute enum value representing the screenshot route.
15
+ */
16
+ constructor(route) {
17
+ this.endpoint = `${main_config_1.Chromiumly.GOTENBERG_ENDPOINT}/${main_config_1.Chromiumly.CHROMIUM_SCREENSHOT_PATH}/${main_config_1.Chromiumly.CHROMIUM_ROUTES[route]}`;
18
+ }
19
+ }
20
+ exports.Screenshot = Screenshot;
21
+ //# sourceMappingURL=screenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/chromium/screenshots/screenshot.ts"],"names":[],"mappings":";;;AAAA,mDAA8D;AAE9D;;;GAGG;AACH,MAAsB,UAAU;IAM5B;;;;;OAKG;IACH,YAAY,KAAoB;QAC5B,IAAI,CAAC,QAAQ,GAAG,GAAG,wBAAU,CAAC,kBAAkB,IAAI,wBAAU,CAAC,wBAAwB,IAAI,wBAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;IACnI,CAAC;CACJ;AAfD,gCAeC"}
@@ -0,0 +1,50 @@
1
+ /// <reference types="node" />
2
+ import { PathLikeOrReadStream } from '../../common';
3
+ import { ImageProperties } from '../interfaces/screenshot.types';
4
+ import { Screenshot } from './screenshot';
5
+ import { EmulatedMediaType } from '../interfaces/common.types';
6
+ /**
7
+ * Class representing a URL screenshot that extends the base screenshot class.
8
+ * This class is used to screenshot a URL using Gotenberg service.
9
+ *
10
+ * @extends Screenshot
11
+ */
12
+ export declare class UrlScreenshot extends Screenshot {
13
+ /**
14
+ * Creates an instance of UrlScreenshot.
15
+ * Initializes the screenshot with the URL screenshot route.
16
+ */
17
+ constructor();
18
+ /**
19
+ * Screenshots URL.
20
+ *
21
+ * @param {Object} options - Screenshot options.
22
+ * @param {string} options.url - The URL of the content to be screenshoted
23
+ * @param {PathLikeOrReadStream} [options.header] - PathLike or ReadStream of the header HTML content.
24
+ * @param {PathLikeOrReadStream} [options.footer] - PathLike or ReadStream of the footer HTML content.
25
+ * @param {ImageProperties} [options.properties] - Image properties for the screenshot.
26
+ * @param {EmulatedMediaType} [options.emulatedMediaType] - Emulated media type for the screenshot.
27
+ * @param {string} [options.waitDelay] - Delay before the screenshot process starts.
28
+ * @param {string} [options.waitForExpression] - JavaScript expression to wait for before completing the screenshot.
29
+ * @param {Record<string, string>} [options.extraHttpHeaders] - Additional HTTP headers for the screenshot.
30
+ * @param {number []} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
31
+ * @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during screenshot.
32
+ * @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
33
+ * @param {boolean} [options.optimizeForSpeed] - Whether to optimize for speed.
34
+ * @returns {Promise<Buffer>} A Promise resolving to the image buffer.
35
+ */
36
+ capture({ url, header, footer, properties, emulatedMediaType, waitDelay, waitForExpression, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, skipNetworkIdleEvent, optimizeForSpeed }: {
37
+ url: string;
38
+ header?: PathLikeOrReadStream;
39
+ footer?: PathLikeOrReadStream;
40
+ properties?: ImageProperties;
41
+ emulatedMediaType?: EmulatedMediaType;
42
+ waitDelay?: string;
43
+ waitForExpression?: string;
44
+ extraHttpHeaders?: Record<string, string>;
45
+ failOnHttpStatusCodes?: number[];
46
+ failOnConsoleExceptions?: boolean;
47
+ skipNetworkIdleEvent?: boolean;
48
+ optimizeForSpeed?: boolean;
49
+ }): Promise<Buffer>;
50
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UrlScreenshot = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const url_1 = require("url");
6
+ const form_data_1 = tslib_1.__importDefault(require("form-data"));
7
+ const common_1 = require("../../common");
8
+ const screenshot_utils_1 = require("../utils/screenshot.utils");
9
+ const screenshot_1 = require("./screenshot");
10
+ const main_config_1 = require("../../main.config");
11
+ /**
12
+ * Class representing a URL screenshot that extends the base screenshot class.
13
+ * This class is used to screenshot a URL using Gotenberg service.
14
+ *
15
+ * @extends Screenshot
16
+ */
17
+ class UrlScreenshot extends screenshot_1.Screenshot {
18
+ /**
19
+ * Creates an instance of UrlScreenshot.
20
+ * Initializes the screenshot with the URL screenshot route.
21
+ */
22
+ constructor() {
23
+ super(main_config_1.ChromiumRoute.URL);
24
+ }
25
+ /**
26
+ * Screenshots URL.
27
+ *
28
+ * @param {Object} options - Screenshot options.
29
+ * @param {string} options.url - The URL of the content to be screenshoted
30
+ * @param {PathLikeOrReadStream} [options.header] - PathLike or ReadStream of the header HTML content.
31
+ * @param {PathLikeOrReadStream} [options.footer] - PathLike or ReadStream of the footer HTML content.
32
+ * @param {ImageProperties} [options.properties] - Image properties for the screenshot.
33
+ * @param {EmulatedMediaType} [options.emulatedMediaType] - Emulated media type for the screenshot.
34
+ * @param {string} [options.waitDelay] - Delay before the screenshot process starts.
35
+ * @param {string} [options.waitForExpression] - JavaScript expression to wait for before completing the screenshot.
36
+ * @param {Record<string, string>} [options.extraHttpHeaders] - Additional HTTP headers for the screenshot.
37
+ * @param {number []} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
38
+ * @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during screenshot.
39
+ * @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
40
+ * @param {boolean} [options.optimizeForSpeed] - Whether to optimize for speed.
41
+ * @returns {Promise<Buffer>} A Promise resolving to the image buffer.
42
+ */
43
+ capture(_a) {
44
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ url, header, footer, properties, emulatedMediaType, waitDelay, waitForExpression, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, skipNetworkIdleEvent, optimizeForSpeed }) {
45
+ const _url = new url_1.URL(url);
46
+ const data = new form_data_1.default();
47
+ data.append('url', _url.href);
48
+ yield screenshot_utils_1.ScreenshotUtils.customize(data, {
49
+ header,
50
+ footer,
51
+ properties,
52
+ emulatedMediaType,
53
+ waitDelay,
54
+ waitForExpression,
55
+ extraHttpHeaders,
56
+ failOnHttpStatusCodes,
57
+ failOnConsoleExceptions,
58
+ skipNetworkIdleEvent,
59
+ optimizeForSpeed
60
+ });
61
+ return common_1.GotenbergUtils.fetch(this.endpoint, data);
62
+ });
63
+ }
64
+ }
65
+ exports.UrlScreenshot = UrlScreenshot;
66
+ //# sourceMappingURL=url.screenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.screenshot.js","sourceRoot":"","sources":["../../../src/chromium/screenshots/url.screenshot.ts"],"names":[],"mappings":";;;;AAAA,6BAA0B;AAC1B,kEAAiC;AACjC,yCAAoE;AAEpE,gEAA4D;AAC5D,6CAA0C;AAC1C,mDAAkD;AAGlD;;;;;GAKG;AACH,MAAa,aAAc,SAAQ,uBAAU;IACzC;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACG,OAAO;qEAAC,EACV,GAAG,EACH,MAAM,EACN,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAcnB;YACG,MAAM,IAAI,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,kCAAe,CAAC,SAAS,CAAC,IAAI,EAAE;gBAClC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,gBAAgB;gBAChB,qBAAqB;gBACrB,uBAAuB;gBACvB,oBAAoB;gBACpB,gBAAgB;aACnB,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;KAAA;CACJ;AA3ED,sCA2EC"}
@@ -107,6 +107,9 @@ class ConverterUtils {
107
107
  if (options.skipNetworkIdleEvent) {
108
108
  data.append('skipNetworkIdleEvent', String(options.skipNetworkIdleEvent));
109
109
  }
110
+ if (options.metadata) {
111
+ data.append('metadata', JSON.stringify(options.metadata));
112
+ }
110
113
  });
111
114
  }
112
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"converter.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/converter.utils.ts"],"names":[],"mappings":";;;;AAMA,yCAA8C;AAE9C;;GAEG;AACH,MAAa,cAAc;IACvB;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAC3B,IAAc,EACd,cAA8B;QAE9B,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACtB,uBAAc,CAAC,MAAM,CACjB,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG;gBAC5B,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,EACrC,4EAA4E,CAC/E,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,uBAAc,CAAC,MAAM,CACjB,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;gBAC3B,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;gBAClC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;gBAChC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EACpC,kCAAkC,CACrC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CACP,mBAAmB,EACnB,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAC3C,CAAC;QACN,CAAC;QAED,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CACP,iBAAiB,EACjB,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CACzC,CAAC;QACN,CAAC;QAED,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CACP,gBAAgB,EAChB,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CACxC,CAAC;QACN,CAAC;QAED,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,uBAAc,CAAC,MAAM,CACjB,cAAc,CAAC,KAAK,IAAI,GAAG,IAAI,cAAc,CAAC,KAAK,IAAI,GAAG,EAC1D,qCAAqC,CACxC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,uBAAc,CAAC,MAAM,CACjB,cAAc,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC;gBACpC,cAAc,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC;gBACtC,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBAC9B,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAC5C,0BAA0B,CAC7B,CAAC;YAEF,IAAI,CAAC,MAAM,CACP,kBAAkB,EAClB,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAClF,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAO,SAAS,CACzB,IAAc,EACd,OAA0B;;YAE1B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;gBAC3B,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;gBAC3B,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CACP,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAC3C,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CACP,uBAAuB,EACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAChD,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CACP,yBAAyB,EACzB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAC1C,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CACP,sBAAsB,EACtB,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CACvC,CAAC;YACN,CAAC;QACL,CAAC;KAAA;CACJ;AAxKD,wCAwKC"}
1
+ {"version":3,"file":"converter.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/converter.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ImageProperties, ScreenshotOptions } from './../interfaces/screenshot.types';
2
+ import FormData from 'form-data';
3
+ /**
4
+ * Utility class for handling common tasks related to screenshot.
5
+ */
6
+ export declare class ScreenshotUtils {
7
+ /**
8
+ * Adds page properties to the FormData object based on the provided imageProperties.
9
+ *
10
+ * @param {FormData} data - The FormData object to which page properties will be added.
11
+ * @param {ImageProperties} imageProperties - The page properties to be added to the FormData.
12
+ */
13
+ static addImageProperties(data: FormData, imageProperties: ImageProperties): void;
14
+ /**
15
+ * Customizes the FormData object based on the provided screenshot options.
16
+ *
17
+ * @param {FormData} data - The FormData object to be customized.
18
+ * @param {ScreenshotOptions} options - The screenshot options to apply to the FormData.
19
+ * @returns {Promise<void>} A Promise that resolves once the customization is complete.
20
+ */
21
+ static customize(data: FormData, options: ScreenshotOptions): Promise<void>;
22
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScreenshotUtils = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("../../common");
6
+ /**
7
+ * Utility class for handling common tasks related to screenshot.
8
+ */
9
+ class ScreenshotUtils {
10
+ /**
11
+ * Adds page properties to the FormData object based on the provided imageProperties.
12
+ *
13
+ * @param {FormData} data - The FormData object to which page properties will be added.
14
+ * @param {ImageProperties} imageProperties - The page properties to be added to the FormData.
15
+ */
16
+ static addImageProperties(data, imageProperties) {
17
+ data.append('format', imageProperties.format);
18
+ if (imageProperties.quality) {
19
+ common_1.GotenbergUtils.assert(imageProperties.format === 'jpeg', 'Compression quality is exclusively supported for JPEG format.');
20
+ common_1.GotenbergUtils.assert(imageProperties.quality >= 0 && imageProperties.quality <= 100, 'Invalid compression quality. Please provide a value between 0 and 100.');
21
+ data.append('quality', imageProperties.quality);
22
+ }
23
+ if (imageProperties.omitBackground) {
24
+ data.append('omitBackground', String(imageProperties.omitBackground));
25
+ }
26
+ }
27
+ /**
28
+ * Customizes the FormData object based on the provided screenshot options.
29
+ *
30
+ * @param {FormData} data - The FormData object to be customized.
31
+ * @param {ScreenshotOptions} options - The screenshot options to apply to the FormData.
32
+ * @returns {Promise<void>} A Promise that resolves once the customization is complete.
33
+ */
34
+ static customize(data, options) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ if (options.header) {
37
+ const { header } = options;
38
+ yield common_1.GotenbergUtils.addFile(data, header, 'header.html');
39
+ }
40
+ if (options.footer) {
41
+ const { footer } = options;
42
+ yield common_1.GotenbergUtils.addFile(data, footer, 'footer.html');
43
+ }
44
+ if (options.emulatedMediaType) {
45
+ data.append('emulatedMediaType', options.emulatedMediaType);
46
+ }
47
+ if (options.properties) {
48
+ ScreenshotUtils.addImageProperties(data, options.properties);
49
+ }
50
+ if (options.waitDelay) {
51
+ data.append('waitDelay', options.waitDelay);
52
+ }
53
+ if (options.waitForExpression) {
54
+ data.append('waitForExpression', options.waitForExpression);
55
+ }
56
+ if (options.extraHttpHeaders) {
57
+ data.append('extraHttpHeaders', JSON.stringify(options.extraHttpHeaders));
58
+ }
59
+ if (options.failOnHttpStatusCodes) {
60
+ data.append('failOnHttpStatusCodes', JSON.stringify(options.failOnHttpStatusCodes));
61
+ }
62
+ if (options.failOnConsoleExceptions) {
63
+ data.append('failOnConsoleExceptions', String(options.failOnConsoleExceptions));
64
+ }
65
+ if (options.skipNetworkIdleEvent) {
66
+ data.append('skipNetworkIdleEvent', String(options.skipNetworkIdleEvent));
67
+ }
68
+ if (options.optimizeForSpeed) {
69
+ data.append('optimizeForSpeed', String(options.optimizeForSpeed));
70
+ }
71
+ });
72
+ }
73
+ }
74
+ exports.ScreenshotUtils = ScreenshotUtils;
75
+ //# sourceMappingURL=screenshot.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/screenshot.utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  export declare enum PdfFormat {
2
+ /**
3
+ * @deprecated Starting from Gotenberg version 7.6, LibreOffice no longer provides support for PDF/A-1a.
4
+ * @see {@link https://gotenberg.dev/docs/troubleshooting#pdfa-1a}
5
+ */
2
6
  A_1a = "PDF/A-1a",
3
7
  A_2b = "PDF/A-2b",
4
8
  A_3b = "PDF/A-3b"
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PdfFormat = void 0;
4
4
  var PdfFormat;
5
5
  (function (PdfFormat) {
6
+ /**
7
+ * @deprecated Starting from Gotenberg version 7.6, LibreOffice no longer provides support for PDF/A-1a.
8
+ * @see {@link https://gotenberg.dev/docs/troubleshooting#pdfa-1a}
9
+ */
6
10
  PdfFormat["A_1a"] = "PDF/A-1a";
7
11
  PdfFormat["A_2b"] = "PDF/A-2b";
8
12
  PdfFormat["A_3b"] = "PDF/A-3b";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAQX;AARD,WAAY,SAAS;IACjB;;;OAGG;IACH,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACrB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
@@ -1,3 +1,3 @@
1
1
  export { PdfFormat } from './constants';
2
2
  export { GotenbergUtils } from './gotenberg.utils';
3
- export { PathLikeOrReadStream } from './types';
3
+ export { PathLikeOrReadStream, Metadata } from './types';
@@ -1,3 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { PathLike, ReadStream } from 'fs';
3
3
  export type PathLikeOrReadStream = PathLike | ReadStream;
4
+ export type Metadata = {
5
+ [key: string]: boolean | number | string | string[];
6
+ };
@@ -81,6 +81,7 @@ exports.LIBRE_OFFICE_EXTENSIONS = [
81
81
  'odp',
82
82
  'odg',
83
83
  'dotx',
84
- 'xltx'
84
+ 'xltx',
85
+ 'key'
85
86
  ];
86
87
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/libre-office/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACnC,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;CACT,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/libre-office/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACnC,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;CACR,CAAC"}
@@ -12,7 +12,9 @@ export declare enum ChromiumRoute {
12
12
  * @enum {string}
13
13
  */
14
14
  declare enum PdfEngineRoute {
15
- MERGE = "merge"
15
+ MERGE = "merge",
16
+ READ_METADATA = "metadata/read",
17
+ WRITE_METADATA = "metadata/write"
16
18
  }
17
19
  /**
18
20
  * Enum representing the available routes for LibreOffice.
@@ -35,6 +37,11 @@ export declare class Chromiumly {
35
37
  * @type {string}
36
38
  */
37
39
  static readonly CHROMIUM_CONVERT_PATH = "forms/chromium/convert";
40
+ /**
41
+ * The path for Chromium-related screenshots.
42
+ * @type {string}
43
+ */
44
+ static readonly CHROMIUM_SCREENSHOT_PATH = "forms/chromium/screenshot";
38
45
  /**
39
46
  * The path for PDF engine-related operations.
40
47
  * @type {string}
@@ -60,6 +67,8 @@ export declare class Chromiumly {
60
67
  */
61
68
  static readonly PDF_ENGINE_ROUTES: {
62
69
  merge: PdfEngineRoute;
70
+ readMetadata: PdfEngineRoute;
71
+ writeMetadata: PdfEngineRoute;
63
72
  };
64
73
  /**
65
74
  * Routes for LibreOffice conversions.
@@ -19,6 +19,8 @@ var ChromiumRoute;
19
19
  var PdfEngineRoute;
20
20
  (function (PdfEngineRoute) {
21
21
  PdfEngineRoute["MERGE"] = "merge";
22
+ PdfEngineRoute["READ_METADATA"] = "metadata/read";
23
+ PdfEngineRoute["WRITE_METADATA"] = "metadata/write";
22
24
  })(PdfEngineRoute || (PdfEngineRoute = {}));
23
25
  /**
24
26
  * Enum representing the available routes for LibreOffice.
@@ -44,6 +46,11 @@ Chromiumly.GOTENBERG_ENDPOINT = gotenberg_1.Gotenberg.endpoint;
44
46
  * @type {string}
45
47
  */
46
48
  Chromiumly.CHROMIUM_CONVERT_PATH = 'forms/chromium/convert';
49
+ /**
50
+ * The path for Chromium-related screenshots.
51
+ * @type {string}
52
+ */
53
+ Chromiumly.CHROMIUM_SCREENSHOT_PATH = 'forms/chromium/screenshot';
47
54
  /**
48
55
  * The path for PDF engine-related operations.
49
56
  * @type {string}
@@ -68,7 +75,9 @@ Chromiumly.CHROMIUM_ROUTES = {
68
75
  * @type {Object}
69
76
  */
70
77
  Chromiumly.PDF_ENGINE_ROUTES = {
71
- merge: PdfEngineRoute.MERGE
78
+ merge: PdfEngineRoute.MERGE,
79
+ readMetadata: PdfEngineRoute.READ_METADATA,
80
+ writeMetadata: PdfEngineRoute.WRITE_METADATA
72
81
  };
73
82
  /**
74
83
  * Routes for LibreOffice conversions.
@@ -1 +1 @@
1
- {"version":3,"file":"main.config.js","sourceRoot":"","sources":["../src/main.config.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC;;;GAGG;AACH,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACzB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED;;;GAGG;AACH,IAAK,cAEJ;AAFD,WAAK,cAAc;IACf,iCAAe,CAAA;AACnB,CAAC,EAFI,cAAc,KAAd,cAAc,QAElB;AAED;;;GAGG;AACH,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACjB,uCAAmB,CAAA;AACvB,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED;;GAEG;AACH,MAAa,UAAU;;AAAvB,gCAkDC;AAjDG;;;GAGG;AACoB,6BAAkB,GAAG,qBAAS,CAAC,QAAQ,CAAC;AAE/D;;;GAGG;AACoB,gCAAqB,GAAG,wBAAwB,CAAC;AAExE;;;GAGG;AACoB,2BAAgB,GAAG,kBAAkB,CAAC;AAE7D;;;GAGG;AACoB,4BAAiB,GAAG,mBAAmB,CAAC;AAE/D;;;GAGG;AACoB,0BAAe,GAAG;IACrC,GAAG,EAAE,aAAa,CAAC,GAAG;IACtB,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC;AAEF;;;GAGG;AACoB,4BAAiB,GAAG;IACvC,KAAK,EAAE,cAAc,CAAC,KAAK;CAC9B,CAAC;AAEF;;;GAGG;AACoB,8BAAmB,GAAG;IACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;CACpC,CAAC"}
1
+ {"version":3,"file":"main.config.js","sourceRoot":"","sources":["../src/main.config.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC;;;GAGG;AACH,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACzB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED;;;GAGG;AACH,IAAK,cAIJ;AAJD,WAAK,cAAc;IACf,iCAAe,CAAA;IACf,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;AACrC,CAAC,EAJI,cAAc,KAAd,cAAc,QAIlB;AAED;;;GAGG;AACH,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACjB,uCAAmB,CAAA;AACvB,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED;;GAEG;AACH,MAAa,UAAU;;AAAvB,gCA0DC;AAzDG;;;GAGG;AACoB,6BAAkB,GAAG,qBAAS,CAAC,QAAQ,CAAC;AAE/D;;;GAGG;AACoB,gCAAqB,GAAG,wBAAwB,CAAC;AAExE;;;GAGG;AACoB,mCAAwB,GAC3C,2BAA2B,CAAC;AAChC;;;GAGG;AACoB,2BAAgB,GAAG,kBAAkB,CAAC;AAE7D;;;GAGG;AACoB,4BAAiB,GAAG,mBAAmB,CAAC;AAE/D;;;GAGG;AACoB,0BAAe,GAAG;IACrC,GAAG,EAAE,aAAa,CAAC,GAAG;IACtB,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC;AAEF;;;GAGG;AACoB,4BAAiB,GAAG;IACvC,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,YAAY,EAAE,cAAc,CAAC,aAAa;IAC1C,aAAa,EAAE,cAAc,CAAC,cAAc;CAC/C,CAAC;AAEF;;;GAGG;AACoB,8BAAmB,GAAG;IACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;CACpC,CAAC"}
package/dist/main.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { PdfFormat } from './common/constants';
2
- export { HtmlConverter, MarkdownConverter, UrlConverter } from './chromium';
2
+ export { HtmlConverter, HtmlScreenshot, MarkdownConverter, MarkdownScreenshot, UrlConverter, UrlScreenshot } from './chromium';
3
3
  export { PDFEngine } from './pdf-engines';
package/dist/main.js CHANGED
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PDFEngine = exports.UrlConverter = exports.MarkdownConverter = exports.HtmlConverter = exports.PdfFormat = void 0;
3
+ exports.PDFEngine = exports.UrlScreenshot = exports.UrlConverter = exports.MarkdownScreenshot = exports.MarkdownConverter = exports.HtmlScreenshot = exports.HtmlConverter = exports.PdfFormat = void 0;
4
4
  var constants_1 = require("./common/constants");
5
5
  Object.defineProperty(exports, "PdfFormat", { enumerable: true, get: function () { return constants_1.PdfFormat; } });
6
6
  var chromium_1 = require("./chromium");
7
7
  Object.defineProperty(exports, "HtmlConverter", { enumerable: true, get: function () { return chromium_1.HtmlConverter; } });
8
+ Object.defineProperty(exports, "HtmlScreenshot", { enumerable: true, get: function () { return chromium_1.HtmlScreenshot; } });
8
9
  Object.defineProperty(exports, "MarkdownConverter", { enumerable: true, get: function () { return chromium_1.MarkdownConverter; } });
10
+ Object.defineProperty(exports, "MarkdownScreenshot", { enumerable: true, get: function () { return chromium_1.MarkdownScreenshot; } });
9
11
  Object.defineProperty(exports, "UrlConverter", { enumerable: true, get: function () { return chromium_1.UrlConverter; } });
12
+ Object.defineProperty(exports, "UrlScreenshot", { enumerable: true, get: function () { return chromium_1.UrlScreenshot; } });
10
13
  var pdf_engines_1 = require("./pdf-engines");
11
14
  Object.defineProperty(exports, "PDFEngine", { enumerable: true, get: function () { return pdf_engines_1.PDFEngine; } });
12
15
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,uCAA4E;AAAnE,yGAAA,aAAa,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,wGAAA,YAAY,OAAA;AACvD,6CAA0C;AAAjC,wGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,uCAOoB;AANhB,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AAEjB,6CAA0C;AAAjC,wGAAA,SAAS,OAAA"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { PathLikeOrReadStream, PdfFormat } from '../common';
2
+ import { PathLikeOrReadStream, PdfFormat, Metadata } from '../common';
3
3
  import { PageProperties } from '../libre-office';
4
4
  /**
5
5
  * Class representing a PDF engine for various operations such as merging and conversion.
@@ -29,10 +29,32 @@ export declare class PDFEngine {
29
29
  static convert({ files, properties, pdfFormat, pdfUA, merge }: {
30
30
  files: PathLikeOrReadStream[];
31
31
  properties?: PageProperties;
32
+ /**
33
+ * @deprecated Starting from Gotenberg version 8.0.0, LibreOffice no longer provides support for pdfFormat.
34
+ * @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
35
+ */
32
36
  pdfFormat?: PdfFormat;
33
37
  pdfUA?: boolean;
34
38
  merge?: boolean;
35
39
  }): Promise<Buffer>;
40
+ /**
41
+ * Reads metadata from the provided files.
42
+ *
43
+ * @param {PathLikeOrReadStream[]} files An array of PathLikes or ReadStreams to the PDF files.
44
+ * @returns {Promise<Buffer>} A Promise resolving to the metadata buffer.
45
+ */
46
+ static readMetadata(files: PathLikeOrReadStream[]): Promise<Buffer>;
47
+ /**
48
+ * Writes metadata to the provided PDF files.
49
+ *
50
+ * @param {PathLikeOrReadStream[]} files - An array of PathLikes or ReadStreams to the PDF files.
51
+ * @param {Metadata} metadata - Metadata to be written.
52
+ * @returns {Promise<Buffer>} A Promise that resolves to the PDF file containing metadata as a buffer.
53
+ */
54
+ static writeMetadata({ files, metadata }: {
55
+ files: PathLikeOrReadStream[];
56
+ metadata: Metadata;
57
+ }): Promise<Buffer>;
36
58
  /**
37
59
  * Generates a PDF file from a buffer and saves it to the "__generated__" directory.
38
60
  *