chromiumly 3.10.0 → 3.11.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.
- package/README.md +89 -40
- package/dist/chromium/converters/html.converter.d.ts +2 -1
- package/dist/chromium/converters/html.converter.js +4 -2
- package/dist/chromium/converters/html.converter.js.map +1 -1
- package/dist/chromium/converters/markdown.converter.d.ts +2 -1
- package/dist/chromium/converters/markdown.converter.js +3 -1
- package/dist/chromium/converters/markdown.converter.js.map +1 -1
- package/dist/chromium/converters/url.converter.d.ts +2 -1
- package/dist/chromium/converters/url.converter.js +4 -2
- package/dist/chromium/converters/url.converter.js.map +1 -1
- package/dist/chromium/interfaces/converter.types.d.ts +2 -0
- package/dist/chromium/utils/converter.utils.js +8 -0
- package/dist/chromium/utils/converter.utils.js.map +1 -1
- package/dist/common/types.d.ts +5 -0
- package/dist/libre-office/interfaces/libre-office.types.d.ts +2 -1
- package/dist/libre-office/libre-office.d.ts +2 -1
- package/dist/libre-office/libre-office.js +4 -2
- package/dist/libre-office/libre-office.js.map +1 -1
- package/dist/libre-office/utils/libre-office.utils.js +12 -2
- package/dist/libre-office/utils/libre-office.utils.js.map +1 -1
- package/dist/main.config.d.ts +3 -1
- package/dist/main.config.js +3 -1
- package/dist/main.config.js.map +1 -1
- package/dist/pdf-engines/pdf-engines.d.ts +16 -3
- package/dist/pdf-engines/pdf-engines.js +25 -2
- package/dist/pdf-engines/pdf-engines.js.map +1 -1
- package/dist/pdf-engines/utils/pdf-engines.utils.js +3 -2
- package/dist/pdf-engines/utils/pdf-engines.utils.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/logo.png" alt="Chromiumly Logo" width="128" height="auto">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
5
|

|
|
4
6
|
[](https://codecov.io/gh/cherfia/chromiumly)
|
|
@@ -13,35 +15,31 @@ a variety of document formats to PDF files.
|
|
|
13
15
|
|
|
14
16
|
# Table of Contents
|
|
15
17
|
|
|
16
|
-
1. [
|
|
17
|
-
- [
|
|
18
|
+
1. [Getting Started](#getting-started)
|
|
19
|
+
- [Installation](#installation)
|
|
18
20
|
- [Prerequisites](#prerequisites)
|
|
19
|
-
- [
|
|
20
|
-
2. [
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
|
|
24
|
-
3. [Basic Authentication](#basic-authentication)
|
|
25
|
-
4. [Modules](#modules)
|
|
26
|
-
|
|
21
|
+
- [Configuration](#configuration)
|
|
22
|
+
2. [Authentication](#authentication)
|
|
23
|
+
- [Basic Authentication](#basic-authentication)
|
|
24
|
+
- [Advanced Authentication](#advanced-authentication)
|
|
25
|
+
3. [Core Features](#core-features)
|
|
27
26
|
- [Chromium](#chromium)
|
|
28
27
|
- [URL](#url)
|
|
29
28
|
- [HTML](#html)
|
|
30
29
|
- [Markdown](#markdown)
|
|
31
|
-
- [Customization](#customization)
|
|
32
|
-
- [Conversion](#conversion)
|
|
33
30
|
- [Screenshot](#screenshot)
|
|
34
31
|
- [LibreOffice](#libreoffice)
|
|
35
|
-
- [
|
|
36
|
-
- [
|
|
37
|
-
- [
|
|
38
|
-
- [
|
|
39
|
-
- [
|
|
40
|
-
|
|
32
|
+
- [PDF Engines](#pdf-engines)
|
|
33
|
+
- [Format Conversion](#format-conversion)
|
|
34
|
+
- [Merging](#merging)
|
|
35
|
+
- [Metadata Management](#metadata-management)
|
|
36
|
+
- [File Generation](#file-generation)
|
|
37
|
+
- [PDF Splitting](#pdf-splitting)
|
|
38
|
+
4. [Usage Example](#snippet)
|
|
41
39
|
|
|
42
|
-
|
|
40
|
+
## Getting Started
|
|
43
41
|
|
|
44
|
-
|
|
42
|
+
### Installation
|
|
45
43
|
|
|
46
44
|
Using npm:
|
|
47
45
|
|
|
@@ -55,7 +53,7 @@ Using yarn:
|
|
|
55
53
|
yarn add chromiumly
|
|
56
54
|
```
|
|
57
55
|
|
|
58
|
-
|
|
56
|
+
### Prerequisites
|
|
59
57
|
|
|
60
58
|
Before attempting to use Chromiumly, be sure you install [Docker](https://www.docker.com/) if you have not already done
|
|
61
59
|
so.
|
|
@@ -66,8 +64,6 @@ After that, you can start a default Docker container of [Gotenberg](https://gote
|
|
|
66
64
|
docker run --rm -p 3000:3000 gotenberg/gotenberg:8
|
|
67
65
|
```
|
|
68
66
|
|
|
69
|
-
## Get Started
|
|
70
|
-
|
|
71
67
|
### Configuration
|
|
72
68
|
|
|
73
69
|
Chromiumly supports configurations via both [dotenv](https://www.npmjs.com/package/dotenv)
|
|
@@ -97,6 +93,8 @@ import { Chromiumly } from "chromiumly";
|
|
|
97
93
|
Chromiumly.configure({ endpoint: "http://localhost:3000" });
|
|
98
94
|
```
|
|
99
95
|
|
|
96
|
+
## Authentication
|
|
97
|
+
|
|
100
98
|
### Basic Authentication
|
|
101
99
|
|
|
102
100
|
Gotenberg introduces basic authentication support starting from version [8.4.0](https://github.com/gotenberg/gotenberg/releases/tag/v8.4.0). Suppose you are running a Docker container using the command below:
|
|
@@ -143,7 +141,7 @@ Chromiumly.configure({
|
|
|
143
141
|
});
|
|
144
142
|
```
|
|
145
143
|
|
|
146
|
-
### Advanced Authentication
|
|
144
|
+
### Advanced Authentication
|
|
147
145
|
|
|
148
146
|
To implement advanced authentication or add custom HTTP headers to your requests, you can use the `customHttpHeaders` option within the `configure` method. This allows you to pass additional headers, such as authentication tokens or custom metadata, with each API call.
|
|
149
147
|
|
|
@@ -161,16 +159,14 @@ Chromiumly.configure({
|
|
|
161
159
|
});
|
|
162
160
|
```
|
|
163
161
|
|
|
164
|
-
##
|
|
165
|
-
|
|
166
|
-
## Modules
|
|
162
|
+
## Core Features
|
|
167
163
|
|
|
168
164
|
Chromiumly introduces different classes that serve as wrappers to
|
|
169
165
|
Gotenberg's [routes](https://gotenberg.dev/docs/routes). These classes encompass methods featuring an
|
|
170
166
|
input file parameter, such as `html`, `header`, `footer`, and `markdown`, capable of accepting inputs in the form of a
|
|
171
167
|
`string` (i.e. file path), `Buffer`, or `ReadStream`.
|
|
172
168
|
|
|
173
|
-
###
|
|
169
|
+
### Chromium
|
|
174
170
|
|
|
175
171
|
There are three different classes that come with a single method (i.e.`convert`) which calls one of
|
|
176
172
|
Chromium's [Conversion routes](https://gotenberg.dev/docs/routes#convert-with-chromium) to convert `html` and `markdown` files, or
|
|
@@ -244,11 +240,7 @@ const buffer = await screenshot.capture({
|
|
|
244
240
|
});
|
|
245
241
|
```
|
|
246
242
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
#### Conversion
|
|
250
|
-
|
|
251
|
-
`convert()` method takes an optional `properties` parameter of the following type which dictates how the PDF generated
|
|
243
|
+
Each `convert()` method takes an optional `properties` parameter of the following type which dictates how the PDF generated
|
|
252
244
|
file will look like.
|
|
253
245
|
|
|
254
246
|
```typescript
|
|
@@ -293,6 +285,7 @@ type ConversionOptions = {
|
|
|
293
285
|
metadata?: Metadata; // Metadata to be written.
|
|
294
286
|
cookies?: Cookie[]; // Cookies to be written.
|
|
295
287
|
downloadFrom?: DownloadFrom; //Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
288
|
+
split?: SplitOptions; // Split the PDF file into multiple files.
|
|
296
289
|
};
|
|
297
290
|
```
|
|
298
291
|
|
|
@@ -360,11 +353,11 @@ Similarly to Chromium's route `convert` method, this method takes the following
|
|
|
360
353
|
- `quality`: specifies the quality of the JPG export. The value ranges from 1 to 100, with higher values producing higher-quality images and larger file sizes.
|
|
361
354
|
- `maxImageResolution`: specifies if all images will be reduced to the specified DPI value. Possible values are: `75`, `150`, `300`, `600`, and `1200`.
|
|
362
355
|
|
|
363
|
-
###
|
|
356
|
+
### PDF Engines
|
|
364
357
|
|
|
365
358
|
The `PDFEngines` class interacts with Gotenberg's [PDF Engines](https://gotenberg.dev/docs/routes#convert-into-pdfa--pdfua-route) routes to manupilate PDF files.
|
|
366
359
|
|
|
367
|
-
####
|
|
360
|
+
#### Format Conversion
|
|
368
361
|
|
|
369
362
|
This method interacts with [PDF Engines](https://gotenberg.dev/docs/routes#convert-into-pdfa--pdfua-route) convertion route to transform PDF files into the requested PDF/A format and/or PDF/UA.
|
|
370
363
|
|
|
@@ -378,7 +371,7 @@ const buffer = await PDFEngines.convert({
|
|
|
378
371
|
});
|
|
379
372
|
```
|
|
380
373
|
|
|
381
|
-
####
|
|
374
|
+
#### Merging
|
|
382
375
|
|
|
383
376
|
This method interacts with [PDF Engines](https://gotenberg.dev/docs/routes#merge-pdfs-route) merge route which gathers different
|
|
384
377
|
engines that can manipulate and merge PDF files such
|
|
@@ -395,7 +388,9 @@ const buffer = await PDFEngines.merge({
|
|
|
395
388
|
});
|
|
396
389
|
```
|
|
397
390
|
|
|
398
|
-
####
|
|
391
|
+
#### Metadata Management
|
|
392
|
+
|
|
393
|
+
##### readMetadata
|
|
399
394
|
|
|
400
395
|
This method reads metadata from the provided PDF files.
|
|
401
396
|
|
|
@@ -408,7 +403,7 @@ const metadataBuffer = await PDFEngines.readMetadata([
|
|
|
408
403
|
]);
|
|
409
404
|
```
|
|
410
405
|
|
|
411
|
-
|
|
406
|
+
##### writeMetadata
|
|
412
407
|
|
|
413
408
|
This method writes metadata to the provided PDF files.
|
|
414
409
|
|
|
@@ -430,13 +425,50 @@ const buffer = await PDFEngines.writeMetadata({
|
|
|
430
425
|
|
|
431
426
|
Please consider referring to [ExifTool](https://exiftool.org/TagNames/XMP.html#pdf) for a comprehensive list of accessible metadata options.
|
|
432
427
|
|
|
433
|
-
####
|
|
428
|
+
#### File Generation
|
|
434
429
|
|
|
435
430
|
It is just a generic complementary method that takes the `buffer` returned by the `convert` method, and a
|
|
436
431
|
chosen `filename` to generate the PDF file.
|
|
437
432
|
|
|
438
433
|
Please note that all the PDF files can be found `__generated__` folder in the root folder of your project.
|
|
439
434
|
|
|
435
|
+
### PDF Splitting
|
|
436
|
+
|
|
437
|
+
Each [Chromium](#chromium) and [LibreOffice](#libreoffice) route has a `split` parameter that allows splitting the PDF file into multiple files. The `split` parameter is an object with the following properties:
|
|
438
|
+
|
|
439
|
+
- `mode`: the mode of the split. It can be `pages` or `intervals`.
|
|
440
|
+
- `span`: the span of the split. It is a string that represents the range of pages to split.
|
|
441
|
+
- `unify`: a boolean that allows unifying the split files. Only works when `mode` is `pages`.
|
|
442
|
+
|
|
443
|
+
```typescript
|
|
444
|
+
import { UrlConverter } from "chromiumly";
|
|
445
|
+
const buffer = await UrlConverter.convert({
|
|
446
|
+
url: "https://www.example.com/",
|
|
447
|
+
split: {
|
|
448
|
+
mode: "pages",
|
|
449
|
+
span: "1-2",
|
|
450
|
+
unify: true,
|
|
451
|
+
},
|
|
452
|
+
});
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
On the other hand, PDFEngines' has a `split` method that interacts with [PDF Engines](https://gotenberg.dev/docs/routes#split-pdfs-route) split route which splits PDF files into multiple files.
|
|
456
|
+
|
|
457
|
+
```typescript
|
|
458
|
+
import { PDFEngines } from "chromiumly";
|
|
459
|
+
|
|
460
|
+
const buffer = await PDFEngines.split({
|
|
461
|
+
files: ["path/to/file_1.pdf", "path/to/file_2.pdf"],
|
|
462
|
+
options: {
|
|
463
|
+
mode: "pages",
|
|
464
|
+
span: "1-2",
|
|
465
|
+
unify: true,
|
|
466
|
+
},
|
|
467
|
+
});
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
> ⚠️ **Note**: Gotenberg does not currently validate the `span` value when `mode` is set to `pages`, as the validation depends on the chosen engine for the split feature. See [PDF Engines module configuration](https://gotenberg.dev/docs/configuration#pdf-engines) for more details.
|
|
471
|
+
|
|
440
472
|
## Snippet
|
|
441
473
|
|
|
442
474
|
The following is a short snippet of how to use the library.
|
|
@@ -448,6 +480,23 @@ async function run() {
|
|
|
448
480
|
const urlConverter = new UrlConverter();
|
|
449
481
|
const buffer = await urlConverter.convert({
|
|
450
482
|
url: "https://gotenberg.dev/",
|
|
483
|
+
properties: {
|
|
484
|
+
singlePage: true,
|
|
485
|
+
size: {
|
|
486
|
+
width: 8.5,
|
|
487
|
+
height: 11,
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
emulatedMediaType: "screen",
|
|
491
|
+
failOnHttpStatusCodes: [404],
|
|
492
|
+
failOnConsoleExceptions: true,
|
|
493
|
+
skipNetworkIdleEvent: false,
|
|
494
|
+
optimizeForSpeed: true,
|
|
495
|
+
split: {
|
|
496
|
+
mode: "pages",
|
|
497
|
+
span: "1-2",
|
|
498
|
+
unify: true,
|
|
499
|
+
},
|
|
451
500
|
});
|
|
452
501
|
|
|
453
502
|
await PDFEngines.generate("gotenberg.pdf", buffer);
|
|
@@ -36,7 +36,8 @@ export declare class HtmlConverter extends Converter {
|
|
|
36
36
|
* @param {Metadata} options.metadata - Metadata to be written.
|
|
37
37
|
* @param {Cookie[]} options.cookies - Cookies to be written.
|
|
38
38
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
39
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
39
40
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
40
41
|
*/
|
|
41
|
-
convert({ html, assets, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom }: HtmlConversionOptions): Promise<Buffer>;
|
|
42
|
+
convert({ html, assets, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom, split }: HtmlConversionOptions): Promise<Buffer>;
|
|
42
43
|
}
|
|
@@ -45,10 +45,11 @@ class HtmlConverter extends converter_1.Converter {
|
|
|
45
45
|
* @param {Metadata} options.metadata - Metadata to be written.
|
|
46
46
|
* @param {Cookie[]} options.cookies - Cookies to be written.
|
|
47
47
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
48
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
48
49
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
49
50
|
*/
|
|
50
51
|
convert(_a) {
|
|
51
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* ({ html, assets, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom }) {
|
|
52
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ html, assets, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom, split }) {
|
|
52
53
|
const data = new form_data_1.default();
|
|
53
54
|
yield common_1.GotenbergUtils.addFile(data, html, 'index.html');
|
|
54
55
|
if (assets === null || assets === void 0 ? void 0 : assets.length) {
|
|
@@ -73,7 +74,8 @@ class HtmlConverter extends converter_1.Converter {
|
|
|
73
74
|
generateDocumentOutline,
|
|
74
75
|
metadata,
|
|
75
76
|
cookies,
|
|
76
|
-
downloadFrom
|
|
77
|
+
downloadFrom,
|
|
78
|
+
split
|
|
77
79
|
});
|
|
78
80
|
return common_1.GotenbergUtils.fetch(this.endpoint, data, main_config_1.Chromiumly.getGotenbergApiBasicAuthUsername(), main_config_1.Chromiumly.getGotenbergApiBasicAuthPassword(), main_config_1.Chromiumly.getCustomHttpHeaders());
|
|
79
81
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/html.converter.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,yCAA8C;AAE9C,8DAA0D;AAC1D,2CAAwC;AACxC,mDAA8D;AAE9D;;;;;GAKG;AACH,MAAa,aAAc,SAAQ,qBAAS;IACxC;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"html.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/html.converter.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,yCAA8C;AAE9C,8DAA0D;AAC1D,2CAAwC;AACxC,mDAA8D;AAE9D;;;;;GAKG;AACH,MAAa,aAAc,SAAQ,qBAAS;IACxC;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,OAAO;qEAAC,EACV,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,EACe;YACpB,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,MAAM,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAEvD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;gBACjB,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAC1B,uBAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAC3C,CACJ,CAAC;YACN,CAAC;YAED,MAAM,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBACjC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,qBAAqB;gBACrB,uBAAuB;gBACvB,6BAA6B;gBAC7B,2BAA2B;gBAC3B,oBAAoB;gBACpB,uBAAuB;gBACvB,QAAQ;gBACR,OAAO;gBACP,YAAY;gBACZ,KAAK;aACR,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,oBAAoB,EAAE,CACpC,CAAC;QACN,CAAC;KAAA;CACJ;AAvGD,sCAuGC"}
|
|
@@ -37,7 +37,8 @@ export declare class MarkdownConverter extends Converter {
|
|
|
37
37
|
* @param {Metadata} options.metadata - Metadata to be written.
|
|
38
38
|
* @param {Cookie[]} options.cookies - Cookies to be written.
|
|
39
39
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
40
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
40
41
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
41
42
|
*/
|
|
42
|
-
convert({ html, markdown, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom }: MarkdownConversionOptions): Promise<Buffer>;
|
|
43
|
+
convert({ html, markdown, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom, split }: MarkdownConversionOptions): Promise<Buffer>;
|
|
43
44
|
}
|
|
@@ -46,10 +46,11 @@ class MarkdownConverter extends converter_1.Converter {
|
|
|
46
46
|
* @param {Metadata} options.metadata - Metadata to be written.
|
|
47
47
|
* @param {Cookie[]} options.cookies - Cookies to be written.
|
|
48
48
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
49
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
49
50
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
50
51
|
*/
|
|
51
52
|
convert(_a) {
|
|
52
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* ({ html, markdown, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom }) {
|
|
53
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ html, markdown, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnConsoleExceptions, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, skipNetworkIdleEvent, generateDocumentOutline, metadata, cookies, downloadFrom, split }) {
|
|
53
54
|
const data = new form_data_1.default();
|
|
54
55
|
yield common_1.GotenbergUtils.addFile(data, html, 'index.html');
|
|
55
56
|
yield common_1.GotenbergUtils.addFile(data, markdown, 'file.md');
|
|
@@ -70,6 +71,7 @@ class MarkdownConverter extends converter_1.Converter {
|
|
|
70
71
|
metadata,
|
|
71
72
|
cookies,
|
|
72
73
|
downloadFrom,
|
|
74
|
+
split,
|
|
73
75
|
failOnResourceHttpStatusCodes,
|
|
74
76
|
failOnResourceLoadingFailed,
|
|
75
77
|
generateDocumentOutline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/markdown.converter.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,yCAA8C;AAE9C,8DAA0D;AAC1D,2CAAwC;AACxC,mDAA8D;AAE9D;;;;;GAKG;AACH,MAAa,iBAAkB,SAAQ,qBAAS;IAC5C;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"markdown.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/markdown.converter.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,yCAA8C;AAE9C,8DAA0D;AAC1D,2CAAwC;AACxC,mDAA8D;AAE9D;;;;;GAKG;AACH,MAAa,iBAAkB,SAAQ,qBAAS;IAC5C;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,OAAO;qEAAC,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,EACmB;YACxB,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,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBACjC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,qBAAqB;gBACrB,uBAAuB;gBACvB,oBAAoB;gBACpB,QAAQ;gBACR,OAAO;gBACP,YAAY;gBACZ,KAAK;gBACL,6BAA6B;gBAC7B,2BAA2B;gBAC3B,uBAAuB;aAC1B,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,oBAAoB,EAAE,CACpC,CAAC;QACN,CAAC;KAAA;CACJ;AAlGD,8CAkGC"}
|
|
@@ -36,7 +36,8 @@ export declare class UrlConverter extends Converter {
|
|
|
36
36
|
* @param {Metadata} options.metadata - Metadata to be written.
|
|
37
37
|
* @param {Cookie[]} options.cookies - Cookies to be written.
|
|
38
38
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
39
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
39
40
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
40
41
|
*/
|
|
41
|
-
convert({ url, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, failOnConsoleExceptions, skipNetworkIdleEvent, metadata, cookies, downloadFrom, generateDocumentOutline }: UrlConversionOptions): Promise<Buffer>;
|
|
42
|
+
convert({ url, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, failOnConsoleExceptions, skipNetworkIdleEvent, metadata, cookies, downloadFrom, generateDocumentOutline, split }: UrlConversionOptions): Promise<Buffer>;
|
|
42
43
|
}
|
|
@@ -46,10 +46,11 @@ class UrlConverter extends converter_1.Converter {
|
|
|
46
46
|
* @param {Metadata} options.metadata - Metadata to be written.
|
|
47
47
|
* @param {Cookie[]} options.cookies - Cookies to be written.
|
|
48
48
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
49
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
49
50
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
50
51
|
*/
|
|
51
52
|
convert(_a) {
|
|
52
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* ({ url, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, failOnConsoleExceptions, skipNetworkIdleEvent, metadata, cookies, downloadFrom, generateDocumentOutline }) {
|
|
53
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ url, header, footer, properties, pdfFormat, pdfUA, emulatedMediaType, waitDelay, waitForExpression, userAgent, extraHttpHeaders, failOnHttpStatusCodes, failOnResourceHttpStatusCodes, failOnResourceLoadingFailed, failOnConsoleExceptions, skipNetworkIdleEvent, metadata, cookies, downloadFrom, generateDocumentOutline, split }) {
|
|
53
54
|
const _url = new url_1.URL(url);
|
|
54
55
|
const data = new form_data_1.default();
|
|
55
56
|
data.append('url', _url.href);
|
|
@@ -72,7 +73,8 @@ class UrlConverter extends converter_1.Converter {
|
|
|
72
73
|
downloadFrom,
|
|
73
74
|
failOnResourceHttpStatusCodes,
|
|
74
75
|
failOnResourceLoadingFailed,
|
|
75
|
-
generateDocumentOutline
|
|
76
|
+
generateDocumentOutline,
|
|
77
|
+
split
|
|
76
78
|
});
|
|
77
79
|
return common_1.GotenbergUtils.fetch(this.endpoint, data, main_config_1.Chromiumly.getGotenbergApiBasicAuthUsername(), main_config_1.Chromiumly.getGotenbergApiBasicAuthPassword(), main_config_1.Chromiumly.getCustomHttpHeaders());
|
|
78
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/url.converter.ts"],"names":[],"mappings":";;;;AAAA,6BAA0B;AAC1B,kEAAiC;AACjC,yCAA8C;AAE9C,8DAA0D;AAC1D,2CAAwC;AACxC,mDAA8D;AAE9D;;;;;GAKG;AACH,MAAa,YAAa,SAAQ,qBAAS;IACvC;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"url.converter.js","sourceRoot":"","sources":["../../../src/chromium/converters/url.converter.ts"],"names":[],"mappings":";;;;AAAA,6BAA0B;AAC1B,kEAAiC;AACjC,yCAA8C;AAE9C,8DAA0D;AAC1D,2CAAwC;AACxC,mDAA8D;AAE9D;;;;;GAKG;AACH,MAAa,YAAa,SAAQ,qBAAS;IACvC;;;OAGG;IACH;QACI,KAAK,CAAC,2BAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,OAAO;qEAAC,EACV,GAAG,EACH,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,KAAK,EACc;YACnB,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,gCAAc,CAAC,SAAS,CAAC,IAAI,EAAE;gBACjC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,KAAK;gBACL,iBAAiB;gBACjB,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,qBAAqB;gBACrB,uBAAuB;gBACvB,oBAAoB;gBACpB,QAAQ;gBACR,OAAO;gBACP,YAAY;gBACZ,6BAA6B;gBAC7B,2BAA2B;gBAC3B,uBAAuB;gBACvB,KAAK;aACR,CAAC,CAAC;YAEH,OAAO,uBAAc,CAAC,KAAK,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,oBAAoB,EAAE,CACpC,CAAC;QACN,CAAC;KAAA;CACJ;AA/FD,oCA+FC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Metadata, PathLikeOrReadStream, PdfFormat } from '../../common';
|
|
2
|
+
import { Split } from '../../common/types';
|
|
2
3
|
import { ChromiumOptions, Cookie } from './common.types';
|
|
3
4
|
type PageSize = {
|
|
4
5
|
width: number;
|
|
@@ -39,6 +40,7 @@ export type ConversionOptions = ChromiumOptions & {
|
|
|
39
40
|
userAgent?: string;
|
|
40
41
|
metadata?: Metadata;
|
|
41
42
|
cookies?: Cookie[];
|
|
43
|
+
split?: Split;
|
|
42
44
|
};
|
|
43
45
|
export type HtmlConversionOptions = ConversionOptions & {
|
|
44
46
|
html: PathLikeOrReadStream;
|
|
@@ -125,6 +125,14 @@ class ConverterUtils {
|
|
|
125
125
|
if (options.generateDocumentOutline) {
|
|
126
126
|
data.append('generateDocumentOutline', String(options.generateDocumentOutline));
|
|
127
127
|
}
|
|
128
|
+
if (options.split) {
|
|
129
|
+
data.append('splitMode', options.split.mode);
|
|
130
|
+
data.append('splitSpan', options.split.span);
|
|
131
|
+
if (options.split.unify) {
|
|
132
|
+
common_1.GotenbergUtils.assert(options.split.mode === 'pages', 'split unify is only supported for pages mode');
|
|
133
|
+
data.append('splitUnify', String(options.split.unify));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
128
136
|
});
|
|
129
137
|
}
|
|
130
138
|
}
|
|
@@ -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,6BAA6B,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CACP,+BAA+B,EAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CACxD,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CACP,6BAA6B,EAC7B,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAC9C,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,KAAK,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CACP,sBAAsB,EACtB,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CACvC,CAAC;YACN,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACtE,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;QACL,CAAC;KAAA;CACJ;
|
|
1
|
+
{"version":3,"file":"converter.utils.js","sourceRoot":"","sources":["../../../src/chromium/utils/converter.utils.ts"],"names":[],"mappings":"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"}
|
package/dist/common/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReadStream } from 'fs';
|
|
2
2
|
import { Metadata, PdfFormat } from '../../common';
|
|
3
|
-
import { DownloadFrom } from '../../common/types';
|
|
3
|
+
import { DownloadFrom, Split } from '../../common/types';
|
|
4
4
|
type FileExtension = '123' | '602' | 'abw' | 'bib' | 'bmp' | 'cdr' | 'cgm' | 'cmx' | 'csv' | 'cwk' | 'dbf' | 'dif' | 'doc' | 'docm' | 'docx' | 'dot' | 'dotm' | 'dotx' | 'dxf' | 'emf' | 'eps' | 'epub' | 'fodg' | 'fodp' | 'fods' | 'fodt' | 'fopd' | 'gif' | 'htm' | 'html' | 'hwp' | 'jpeg' | 'jpg' | 'key' | 'ltx' | 'lwp' | 'mcw' | 'met' | 'mml' | 'mw' | 'numbers' | 'odd' | 'odg' | 'odm' | 'odp' | 'ods' | 'odt' | 'otg' | 'oth' | 'otp' | 'ots' | 'ott' | 'pages' | 'pbm' | 'pcd' | 'pct' | 'pcx' | 'pdb' | 'pdf' | 'pgm' | 'png' | 'pot' | 'potm' | 'potx' | 'ppm' | 'pps' | 'ppt' | 'pptm' | 'pptx' | 'psd' | 'psw' | 'pub' | 'pwp' | 'pxl' | 'ras' | 'rtf' | 'sda' | 'sdc' | 'sdd' | 'sdp' | 'sdw' | 'sgl' | 'slk' | 'smf' | 'stc' | 'std' | 'sti' | 'stw' | 'svg' | 'svm' | 'swf' | 'sxc' | 'sxd' | 'sxg' | 'sxi' | 'sxm' | 'sxw' | 'tga' | 'tif' | 'tiff' | 'txt' | 'uof' | 'uop' | 'uos' | 'uot' | 'vdx' | 'vor' | 'vsd' | 'vsdm' | 'vsdx' | 'wb2' | 'wk1' | 'wks' | 'wmf' | 'wpd' | 'wpg' | 'wps' | 'xbm' | 'xhtml' | 'xls' | 'xlsb' | 'xlsm' | 'xlsx' | 'xlt' | 'xltm' | 'xltx' | 'xlw' | 'xml' | 'xpm' | 'zabw';
|
|
5
5
|
type FileInfo = {
|
|
6
6
|
data: Buffer | ReadStream;
|
|
@@ -41,5 +41,6 @@ export type ConversionOptions = {
|
|
|
41
41
|
quality?: number;
|
|
42
42
|
maxImageResolution?: 75 | 150 | 300 | 600 | 1200;
|
|
43
43
|
downloadFrom?: DownloadFrom;
|
|
44
|
+
split?: Split;
|
|
44
45
|
};
|
|
45
46
|
export {};
|
|
@@ -17,10 +17,11 @@ export declare class LibreOffice {
|
|
|
17
17
|
* @param {boolean} [options.reduceImageResolution] - Indicates whether to reduce image resolution.
|
|
18
18
|
* @param {number} [options.quality] - Quality of the JPG export.
|
|
19
19
|
* @param {75 | 150 | 300 | 600 | 1200} [options.maxImageResolution] - Maximum image resolution for the converted PDF.
|
|
20
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
20
21
|
*
|
|
21
22
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
22
23
|
*/
|
|
23
|
-
static convert({ files, properties, pdfa, pdfUA, merge, metadata, losslessImageCompression, reduceImageResolution, quality, maxImageResolution }: {
|
|
24
|
+
static convert({ files, properties, pdfa, pdfUA, merge, metadata, losslessImageCompression, reduceImageResolution, quality, maxImageResolution, split }: {
|
|
24
25
|
files: PathLikeOrReadStream[];
|
|
25
26
|
} & ConversionOptions): Promise<Buffer>;
|
|
26
27
|
}
|
|
@@ -24,11 +24,12 @@ class LibreOffice {
|
|
|
24
24
|
* @param {boolean} [options.reduceImageResolution] - Indicates whether to reduce image resolution.
|
|
25
25
|
* @param {number} [options.quality] - Quality of the JPG export.
|
|
26
26
|
* @param {75 | 150 | 300 | 600 | 1200} [options.maxImageResolution] - Maximum image resolution for the converted PDF.
|
|
27
|
+
* @param {Split} [options.split] - Split the PDF into multiple files.
|
|
27
28
|
*
|
|
28
29
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
29
30
|
*/
|
|
30
31
|
static convert(_a) {
|
|
31
|
-
return tslib_1.__awaiter(this, arguments, void 0, function* ({ files, properties, pdfa, pdfUA, merge, metadata, losslessImageCompression, reduceImageResolution, quality, maxImageResolution }) {
|
|
32
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ files, properties, pdfa, pdfUA, merge, metadata, losslessImageCompression, reduceImageResolution, quality, maxImageResolution, split }) {
|
|
32
33
|
const data = new form_data_1.default();
|
|
33
34
|
yield libre_office_utils_1.LibreOfficeUtils.addFiles(files, data);
|
|
34
35
|
yield libre_office_utils_1.LibreOfficeUtils.customize(data, {
|
|
@@ -40,7 +41,8 @@ class LibreOffice {
|
|
|
40
41
|
losslessImageCompression,
|
|
41
42
|
reduceImageResolution,
|
|
42
43
|
quality,
|
|
43
|
-
maxImageResolution
|
|
44
|
+
maxImageResolution,
|
|
45
|
+
split
|
|
44
46
|
});
|
|
45
47
|
const endpoint = `${main_config_1.Chromiumly.getGotenbergEndpoint()}/${main_config_1.Chromiumly.LIBRE_OFFICE_PATH}/${main_config_1.Chromiumly.LIBRE_OFFICE_ROUTES.convert}`;
|
|
46
48
|
return common_1.GotenbergUtils.fetch(endpoint, data, main_config_1.Chromiumly.getGotenbergApiBasicAuthUsername(), main_config_1.Chromiumly.getGotenbergApiBasicAuthPassword(), main_config_1.Chromiumly.getCustomHttpHeaders());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libre-office.js","sourceRoot":"","sources":["../../src/libre-office/libre-office.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,gDAA4C;AAC5C,sCAA2C;AAK3C,mEAA8D;AAE9D;;GAEG;AACH,MAAa,WAAW;IACpB
|
|
1
|
+
{"version":3,"file":"libre-office.js","sourceRoot":"","sources":["../../src/libre-office/libre-office.ts"],"names":[],"mappings":";;;;AAAA,kEAAiC;AAEjC,gDAA4C;AAC5C,sCAA2C;AAK3C,mEAA8D;AAE9D;;GAEG;AACH,MAAa,WAAW;IACpB;;;;;;;;;;;;;;;;;OAiBG;IACI,MAAM,CAAO,OAAO;qEAAC,EACxB,KAAK,EACL,UAAU,EACV,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,wBAAwB,EACxB,qBAAqB,EACrB,OAAO,EACP,kBAAkB,EAClB,KAAK,EAC+C;YACpD,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAE5B,MAAM,qCAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,qCAAgB,CAAC,SAAS,CAAC,IAAI,EAAE;gBACnC,UAAU;gBACV,KAAK;gBACL,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,wBAAwB;gBACxB,qBAAqB;gBACrB,OAAO;gBACP,kBAAkB;gBAClB,KAAK;aACR,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,GAAG,wBAAU,CAAC,oBAAoB,EAAE,IAAI,wBAAU,CAAC,iBAAiB,IAAI,wBAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAElI,OAAO,uBAAc,CAAC,KAAK,CACvB,QAAQ,EACR,IAAI,EACJ,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,oBAAoB,EAAE,CACpC,CAAC;QACN,CAAC;KAAA;CACJ;AA1DD,kCA0DC"}
|
|
@@ -34,12 +34,14 @@ class LibreOfficeUtils {
|
|
|
34
34
|
*/
|
|
35
35
|
static addFiles(files, data) {
|
|
36
36
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
|
|
37
|
+
const paddingLength = String(files.length).length + 1;
|
|
38
|
+
yield Promise.all(files.map((file, index) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
38
39
|
const fileInfo = yield this.getFileInfo(file);
|
|
39
40
|
if (!constants_1.LIBRE_OFFICE_EXTENSIONS.includes(fileInfo.ext)) {
|
|
40
41
|
throw new Error(`${fileInfo.ext} is not supported`);
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
+
const filename = `file${String(index + 1).padStart(paddingLength, '0')}.${fileInfo.ext}`;
|
|
44
|
+
data.append('files', fileInfo.data, filename);
|
|
43
45
|
})));
|
|
44
46
|
});
|
|
45
47
|
}
|
|
@@ -150,6 +152,14 @@ class LibreOfficeUtils {
|
|
|
150
152
|
if (options.properties) {
|
|
151
153
|
LibreOfficeUtils.addPageProperties(data, options.properties);
|
|
152
154
|
}
|
|
155
|
+
if (options.split) {
|
|
156
|
+
data.append('splitMode', options.split.mode);
|
|
157
|
+
data.append('splitSpan', options.split.span);
|
|
158
|
+
if (options.split.unify) {
|
|
159
|
+
common_1.GotenbergUtils.assert(options.split.mode === 'pages', 'split unify is only supported for pages mode');
|
|
160
|
+
data.append('splitUnify', String(options.split.unify));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
153
163
|
});
|
|
154
164
|
}
|
|
155
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libre-office.utils.js","sourceRoot":"","sources":["../../../src/libre-office/utils/libre-office.utils.ts"],"names":[],"mappings":";;;;AAAA,2BAA2D;AAC3D,wDAAwB;AAIxB,yCAA8C;AAC9C,2CAAsD;AAOtD;;GAEG;AACH,MAAa,gBAAgB;IACjB,MAAM,CAAO,WAAW,CAAC,IAA0B;;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO;oBACH,IAAI,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC;oBAC5B,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBACvC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9C,CAAC;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACI,MAAM,CAAO,QAAQ,CACxB,KAA6B,EAC7B,IAAc;;YAEd,MAAM,OAAO,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"libre-office.utils.js","sourceRoot":"","sources":["../../../src/libre-office/utils/libre-office.utils.ts"],"names":[],"mappings":"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"}
|
package/dist/main.config.d.ts
CHANGED
|
@@ -15,7 +15,8 @@ declare enum PdfEngineRoute {
|
|
|
15
15
|
CONVERT = "convert",
|
|
16
16
|
MERGE = "merge",
|
|
17
17
|
READ_METADATA = "metadata/read",
|
|
18
|
-
WRITE_METADATA = "metadata/write"
|
|
18
|
+
WRITE_METADATA = "metadata/write",
|
|
19
|
+
SPLIT = "split"
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
22
|
* Enum representing the available routes for LibreOffice.
|
|
@@ -86,6 +87,7 @@ export declare class Chromiumly {
|
|
|
86
87
|
merge: PdfEngineRoute;
|
|
87
88
|
readMetadata: PdfEngineRoute;
|
|
88
89
|
writeMetadata: PdfEngineRoute;
|
|
90
|
+
split: PdfEngineRoute;
|
|
89
91
|
};
|
|
90
92
|
/**
|
|
91
93
|
* Routes for LibreOffice conversions.
|
package/dist/main.config.js
CHANGED
|
@@ -22,6 +22,7 @@ var PdfEngineRoute;
|
|
|
22
22
|
PdfEngineRoute["MERGE"] = "merge";
|
|
23
23
|
PdfEngineRoute["READ_METADATA"] = "metadata/read";
|
|
24
24
|
PdfEngineRoute["WRITE_METADATA"] = "metadata/write";
|
|
25
|
+
PdfEngineRoute["SPLIT"] = "split";
|
|
25
26
|
})(PdfEngineRoute || (PdfEngineRoute = {}));
|
|
26
27
|
/**
|
|
27
28
|
* Enum representing the available routes for LibreOffice.
|
|
@@ -139,7 +140,8 @@ Chromiumly.PDF_ENGINE_ROUTES = {
|
|
|
139
140
|
convert: PdfEngineRoute.CONVERT,
|
|
140
141
|
merge: PdfEngineRoute.MERGE,
|
|
141
142
|
readMetadata: PdfEngineRoute.READ_METADATA,
|
|
142
|
-
writeMetadata: PdfEngineRoute.WRITE_METADATA
|
|
143
|
+
writeMetadata: PdfEngineRoute.WRITE_METADATA,
|
|
144
|
+
split: PdfEngineRoute.SPLIT
|
|
143
145
|
};
|
|
144
146
|
/**
|
|
145
147
|
* Routes for LibreOffice conversions.
|
package/dist/main.config.js.map
CHANGED
|
@@ -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,
|
|
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,cAMJ;AAND,WAAK,cAAc;IACf,qCAAmB,CAAA;IACnB,iCAAe,CAAA;IACf,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,iCAAe,CAAA;AACnB,CAAC,EANI,cAAc,KAAd,cAAc,QAMlB;AAED;;;GAGG;AACH,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACjB,uCAAmB,CAAA;AACvB,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED;;GAEG;AACH,MAAa,UAAU;IAkFnB;;;;;;;OAOG;IACI,MAAM,CAAC,SAAS,CAAC,MAKvB;QACG,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEzC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,QAAQ,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,QAAQ,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACtD,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACvB,MAAM,IAAI,KAAK,CACX,yKAAyK,CAC5K,CAAC;QACN,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,gCAAgC;QAC1C,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,gCAAgC;QAC1C,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;;AA/IL,gCAgJC;AA/IG;;;GAGG;AACY,4BAAiB,GAAuB,qBAAS,CAAC,QAAQ,CAAC;AAE1E;;;GAGG;AACY,wCAA6B,GACxC,qBAAS,CAAC,QAAQ,CAAC;AAEvB;;;GAGG;AACY,wCAA6B,GACxC,qBAAS,CAAC,QAAQ,CAAC;AAQvB;;;GAGG;AACoB,gCAAqB,GAAG,wBAAwB,CAAC;AAExE;;;GAGG;AACoB,mCAAwB,GAC3C,2BAA2B,CAAC;AAEhC;;;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,OAAO,EAAE,cAAc,CAAC,OAAO;IAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,YAAY,EAAE,cAAc,CAAC,aAAa;IAC1C,aAAa,EAAE,cAAc,CAAC,cAAc;IAC5C,KAAK,EAAE,cAAc,CAAC,KAAK;CAC9B,CAAC;AAEF;;;GAGG;AACoB,8BAAmB,GAAG;IACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;CACpC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PathLikeOrReadStream, PdfFormat, Metadata } from '../common';
|
|
2
|
-
import { DownloadFrom } from '../common/types';
|
|
2
|
+
import { DownloadFrom, Split } from '../common/types';
|
|
3
3
|
/**
|
|
4
4
|
* Class uses PDF engines for various operations such as merging and conversion.
|
|
5
5
|
*/
|
|
@@ -25,8 +25,9 @@ export declare class PDFEngines {
|
|
|
25
25
|
/**
|
|
26
26
|
* Converts various document formats to PDF.
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
* @param {
|
|
28
|
+
* @param {Object} options - Options for the conversion operation.
|
|
29
|
+
* @param {PathLikeOrReadStream[]} options.files - An array of PathLikes or ReadStreams to the files to be converted to PDF.
|
|
30
|
+
* @param {PdfFormat} [options.pdfa] - PDF format options.
|
|
30
31
|
* @param {boolean} [options.pdfUA] - Indicates whether to generate PDF/UA compliant output.
|
|
31
32
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
32
33
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
@@ -37,6 +38,18 @@ export declare class PDFEngines {
|
|
|
37
38
|
pdfUA?: boolean;
|
|
38
39
|
downloadFrom?: DownloadFrom;
|
|
39
40
|
}): Promise<Buffer>;
|
|
41
|
+
/**
|
|
42
|
+
* Splits a PDF file into multiple PDF files.
|
|
43
|
+
*
|
|
44
|
+
* @param {Object} options - Options for the split operation.
|
|
45
|
+
* @param {PathLikeOrReadStream[]} options.files - An array of PathLikes or ReadStreams to the PDF files to be split.
|
|
46
|
+
* @param {Split} options.options - Split configuration specifying mode ('pages' or 'intervals'), span, and unify options.
|
|
47
|
+
* @returns {Promise<Buffer>} A Promise resolving to the split PDF content as a Buffer.
|
|
48
|
+
*/
|
|
49
|
+
static split({ files, options }: {
|
|
50
|
+
files: PathLikeOrReadStream[];
|
|
51
|
+
options: Split;
|
|
52
|
+
}): Promise<Buffer>;
|
|
40
53
|
/**
|
|
41
54
|
* Reads metadata from the provided files.
|
|
42
55
|
*
|
|
@@ -40,8 +40,9 @@ class PDFEngines {
|
|
|
40
40
|
/**
|
|
41
41
|
* Converts various document formats to PDF.
|
|
42
42
|
*
|
|
43
|
-
*
|
|
44
|
-
* @param {
|
|
43
|
+
* @param {Object} options - Options for the conversion operation.
|
|
44
|
+
* @param {PathLikeOrReadStream[]} options.files - An array of PathLikes or ReadStreams to the files to be converted to PDF.
|
|
45
|
+
* @param {PdfFormat} [options.pdfa] - PDF format options.
|
|
45
46
|
* @param {boolean} [options.pdfUA] - Indicates whether to generate PDF/UA compliant output.
|
|
46
47
|
* @param {DownloadFrom} [options.downloadFrom] - Download a file from a URL. It must return a Content-Disposition header with a filename parameter.
|
|
47
48
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
@@ -59,6 +60,28 @@ class PDFEngines {
|
|
|
59
60
|
return common_1.GotenbergUtils.fetch(endpoint, data, main_config_1.Chromiumly.getGotenbergApiBasicAuthUsername(), main_config_1.Chromiumly.getGotenbergApiBasicAuthPassword(), main_config_1.Chromiumly.getCustomHttpHeaders());
|
|
60
61
|
});
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Splits a PDF file into multiple PDF files.
|
|
65
|
+
*
|
|
66
|
+
* @param {Object} options - Options for the split operation.
|
|
67
|
+
* @param {PathLikeOrReadStream[]} options.files - An array of PathLikes or ReadStreams to the PDF files to be split.
|
|
68
|
+
* @param {Split} options.options - Split configuration specifying mode ('pages' or 'intervals'), span, and unify options.
|
|
69
|
+
* @returns {Promise<Buffer>} A Promise resolving to the split PDF content as a Buffer.
|
|
70
|
+
*/
|
|
71
|
+
static split(_a) {
|
|
72
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ files, options }) {
|
|
73
|
+
const data = new form_data_1.default();
|
|
74
|
+
yield pdf_engines_utils_1.PDFEnginesUtils.addFiles(files, data);
|
|
75
|
+
data.append('splitMode', options.mode);
|
|
76
|
+
data.append('splitSpan', options.span);
|
|
77
|
+
if (options.unify) {
|
|
78
|
+
common_1.GotenbergUtils.assert(options.mode === 'pages', 'split unify is only supported for pages mode');
|
|
79
|
+
data.append('splitUnify', String(options.unify));
|
|
80
|
+
}
|
|
81
|
+
const endpoint = `${main_config_1.Chromiumly.getGotenbergEndpoint()}/${main_config_1.Chromiumly.PDF_ENGINES_PATH}/${main_config_1.Chromiumly.PDF_ENGINE_ROUTES.split}`;
|
|
82
|
+
return common_1.GotenbergUtils.fetch(endpoint, data, main_config_1.Chromiumly.getGotenbergApiBasicAuthUsername(), main_config_1.Chromiumly.getGotenbergApiBasicAuthPassword(), main_config_1.Chromiumly.getCustomHttpHeaders());
|
|
83
|
+
});
|
|
84
|
+
}
|
|
62
85
|
/**
|
|
63
86
|
* Reads metadata from the provided files.
|
|
64
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-engines.js","sourceRoot":"","sources":["../../src/pdf-engines/pdf-engines.ts"],"names":[],"mappings":";;;;AAAA,2BAA8B;AAC9B,wDAAwB;AAExB,kEAAiC;AAEjC,gDAA4C;AAC5C,sCAKmB;AACnB,iEAA4D;AAG5D;;GAEG;AACH,MAAa,UAAU;IACnB;;;;;;;;;;OAUG;IACI,MAAM,CAAO,KAAK;qEAAC,EACtB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EAOf;YACG,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAC5B,MAAM,mCAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,mCAAe,CAAC,SAAS,CAAC,IAAI,EAAE;gBAClC,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,YAAY;aACf,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,wBAAU,CAAC,oBAAoB,EAAE,IAAI,wBAAU,CAAC,gBAAgB,IAAI,wBAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC7H,OAAO,uBAAc,CAAC,KAAK,CACvB,QAAQ,EACR,IAAI,EACJ,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,gCAAgC,EAAE,EAC7C,wBAAU,CAAC,oBAAoB,EAAE,CACpC,CAAC;QACN,CAAC;KAAA;IAED
|
|
1
|
+
{"version":3,"file":"pdf-engines.js","sourceRoot":"","sources":["../../src/pdf-engines/pdf-engines.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,9 @@ class PDFEnginesUtils {
|
|
|
18
18
|
*/
|
|
19
19
|
static addFiles(files, data) {
|
|
20
20
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const paddingLength = String(files.length).length + 1;
|
|
22
|
+
yield Promise.all(files.map((file, index) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const filename = `file${String(index + 1).padStart(paddingLength, '0')}.pdf`;
|
|
23
24
|
if (Buffer.isBuffer(file)) {
|
|
24
25
|
data.append('files', file, filename);
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-engines.utils.js","sourceRoot":"","sources":["../../../src/pdf-engines/utils/pdf-engines.utils.ts"],"names":[],"mappings":";;;;AAAA,2BAAuE;AACvE,wDAAwB;AAGxB,yCAAoE;AAMpE;;GAEG;AACH,MAAa,eAAe;IACxB;;;;;;OAMG;IACI,MAAM,CAAO,QAAQ,CACxB,KAA6B,EAC7B,IAAc;;YAEd,MAAM,OAAO,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"pdf-engines.utils.js","sourceRoot":"","sources":["../../../src/pdf-engines/utils/pdf-engines.utils.ts"],"names":[],"mappings":";;;;AAAA,2BAAuE;AACvE,wDAAwB;AAGxB,yCAAoE;AAMpE;;GAEG;AACH,MAAa,eAAe;IACxB;;;;;;OAMG;IACI,MAAM,CAAO,QAAQ,CACxB,KAA6B,EAC7B,IAAc;;YAEd,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,MAAM,OAAO,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;gBAC7E,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,IAAI,YAAY,eAAU,EAAE,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,MAAM,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM,SAAS,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjD,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC1C,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mBAAmB,CAAC,CAAC;oBACrD,CAAC;gBACL,CAAC;YACL,CAAC,CAAA,CAAC,CACL,CAAC;QACN,CAAC;KAAA;IAED;;;;;;OAMG;IACI,MAAM,CAAO,SAAS,CACzB,IAAc,EACd,OAAyC;;YAEzC,uBAAc,CAAC,MAAM,CACjB,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EACjC,gDAAgD,CACnD,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,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,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;KAAA;CACJ;AAlED,0CAkEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chromiumly",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"description": "A lightweight Typescript library that interacts with Gotenberg's different modules to convert a variety of document formats to PDF files.",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"types": "dist/main.d.ts",
|
|
@@ -48,15 +48,15 @@
|
|
|
48
48
|
"@commitlint/cli": "^19.0.3",
|
|
49
49
|
"@commitlint/config-conventional": "^19.0.3",
|
|
50
50
|
"@commitlint/cz-commitlint": "^19.0.3",
|
|
51
|
-
"@release-it/conventional-changelog": "
|
|
51
|
+
"@release-it/conventional-changelog": "10.0.0",
|
|
52
52
|
"@types/config": "3.3.5",
|
|
53
53
|
"@types/dotenv": "8.2.3",
|
|
54
54
|
"@types/form-data": "2.5.2",
|
|
55
55
|
"@types/jest": "29.5.14",
|
|
56
|
-
"@types/node": "22.10.
|
|
56
|
+
"@types/node": "22.10.5",
|
|
57
57
|
"@types/node-fetch": "2.6.12",
|
|
58
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
59
|
-
"@typescript-eslint/parser": "8.
|
|
58
|
+
"@typescript-eslint/eslint-plugin": "8.19.0",
|
|
59
|
+
"@typescript-eslint/parser": "8.19.0",
|
|
60
60
|
"commitizen": "4.3.1",
|
|
61
61
|
"eslint": "8.57.0",
|
|
62
62
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"jest-junit": "16.0.0",
|
|
67
67
|
"lint-staged": "^15.2.2",
|
|
68
68
|
"prettier": "3.4.2",
|
|
69
|
-
"release-it": "
|
|
69
|
+
"release-it": "18.1.1",
|
|
70
70
|
"ts-jest": "29.2.5",
|
|
71
71
|
"ts-node": "10.9.2",
|
|
72
72
|
"tslib": "2.8.1",
|