chromiumly 2.10.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -29
- package/dist/libre-office/index.d.ts +1 -2
- package/dist/libre-office/index.js +3 -3
- package/dist/libre-office/index.js.map +1 -1
- package/dist/libre-office/interfaces/libre-office.types.d.ts +18 -0
- package/dist/libre-office/libre-office.d.ts +27 -0
- package/dist/libre-office/libre-office.js +41 -0
- package/dist/libre-office/libre-office.js.map +1 -0
- package/dist/libre-office/utils/libre-office.utils.d.ts +10 -2
- package/dist/libre-office/utils/libre-office.utils.js +47 -26
- package/dist/libre-office/utils/libre-office.utils.js.map +1 -1
- package/dist/main.d.ts +2 -1
- package/dist/main.js +4 -2
- package/dist/main.js.map +1 -1
- package/dist/pdf-engines/index.d.ts +1 -1
- package/dist/pdf-engines/index.js +3 -3
- package/dist/pdf-engines/index.js.map +1 -1
- package/dist/pdf-engines/interfaces/pdf-engines.types.d.ts +8 -0
- package/dist/pdf-engines/interfaces/pdf-engines.types.js +3 -0
- package/dist/pdf-engines/interfaces/pdf-engines.types.js.map +1 -0
- package/dist/pdf-engines/{pdf.engine.d.ts → pdf-engines.d.ts} +9 -15
- package/dist/pdf-engines/{pdf.engine.js → pdf-engines.js} +22 -28
- package/dist/pdf-engines/pdf-engines.js.map +1 -0
- package/dist/pdf-engines/utils/{engine.utils.d.ts → pdf-engines.utils.d.ts} +10 -1
- package/dist/pdf-engines/utils/{engine.utils.js → pdf-engines.utils.js} +24 -4
- package/dist/pdf-engines/utils/pdf-engines.utils.js.map +1 -0
- package/package.json +3 -4
- package/src/chromium/interfaces/common.types.ts +1 -1
- package/src/libre-office/index.ts +1 -2
- package/src/libre-office/interfaces/libre-office.types.ts +150 -0
- package/src/libre-office/libre-office.ts +56 -0
- package/src/libre-office/tests/libre-office.test.ts +56 -0
- package/src/libre-office/utils/libre-office.utils.ts +61 -32
- package/src/libre-office/utils/tests/libre-office.utils.test.ts +9 -10
- package/src/main.ts +2 -1
- package/src/pdf-engines/index.ts +1 -1
- package/src/pdf-engines/interfaces/pdf-engines.types.ts +10 -0
- package/src/pdf-engines/{pdf.engine.ts → pdf-engines.ts} +27 -39
- package/src/pdf-engines/tests/pdf.engine.test.ts +20 -19
- package/src/pdf-engines/utils/{engine.utils.ts → pdf-engines.utils.ts} +29 -1
- package/src/pdf-engines/utils/tests/{engine.utils.test.ts → pdf-engines.utils.test.ts} +6 -7
- package/dist/pdf-engines/pdf.engine.js.map +0 -1
- package/dist/pdf-engines/utils/engine.utils.js.map +0 -1
package/src/pdf-engines/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { PDFEngines } from './pdf-engines';
|
|
@@ -10,13 +10,12 @@ import {
|
|
|
10
10
|
PdfFormat,
|
|
11
11
|
Metadata
|
|
12
12
|
} from '../common';
|
|
13
|
-
import {
|
|
14
|
-
import { PDFEngineUtils } from './utils/engine.utils';
|
|
13
|
+
import { PDFEnginesUtils } from './utils/pdf-engines.utils';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
|
-
* Class
|
|
16
|
+
* Class uses PDF engines for various operations such as merging and conversion.
|
|
18
17
|
*/
|
|
19
|
-
export class
|
|
18
|
+
export class PDFEngines {
|
|
20
19
|
/**
|
|
21
20
|
* Merges multiple PDF files into a single PDF document.
|
|
22
21
|
*
|
|
@@ -25,12 +24,23 @@ export class PDFEngine {
|
|
|
25
24
|
* @returns {Promise<Buffer>} A Promise resolving to the merged PDF content as a Buffer.
|
|
26
25
|
*/
|
|
27
26
|
public static async merge({
|
|
28
|
-
files
|
|
27
|
+
files,
|
|
28
|
+
pdfa,
|
|
29
|
+
pdfUA,
|
|
30
|
+
metadata
|
|
29
31
|
}: {
|
|
30
32
|
files: PathLikeOrReadStream[];
|
|
33
|
+
pdfa?: PdfFormat;
|
|
34
|
+
pdfUA?: boolean;
|
|
35
|
+
metadata?: Metadata;
|
|
31
36
|
}): Promise<Buffer> {
|
|
32
37
|
const data = new FormData();
|
|
33
|
-
await
|
|
38
|
+
await PDFEnginesUtils.addFiles(files, data);
|
|
39
|
+
await PDFEnginesUtils.customize(data, {
|
|
40
|
+
pdfa,
|
|
41
|
+
pdfUA,
|
|
42
|
+
metadata
|
|
43
|
+
});
|
|
34
44
|
const endpoint = `${Chromiumly.GOTENBERG_ENDPOINT}/${Chromiumly.PDF_ENGINES_PATH}/${Chromiumly.PDF_ENGINE_ROUTES.merge}`;
|
|
35
45
|
return GotenbergUtils.fetch(endpoint, data);
|
|
36
46
|
}
|
|
@@ -40,48 +50,26 @@ export class PDFEngine {
|
|
|
40
50
|
*
|
|
41
51
|
* @param {Object} options - Options for the conversion operation.
|
|
42
52
|
* @param {PathLikeOrReadStream[]} options.files - An array of PathLikes or ReadStreams to the files to be converted to PDF.
|
|
43
|
-
* @param {
|
|
44
|
-
* @param {PdfFormat} [options.pdfFormat] - PDF format options.
|
|
53
|
+
* @param {pdfa} [options.pdfa] - PDF format options.
|
|
45
54
|
* @param {boolean} [options.pdfUA] - Indicates whether to generate PDF/UA compliant output.
|
|
46
|
-
* @param {boolean} [options.merge] - Indicates whether to merge the resulting PDFs.
|
|
47
55
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
48
56
|
*/
|
|
49
57
|
public static async convert({
|
|
50
58
|
files,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
pdfUA,
|
|
54
|
-
merge
|
|
59
|
+
pdfa,
|
|
60
|
+
pdfUA
|
|
55
61
|
}: {
|
|
56
62
|
files: PathLikeOrReadStream[];
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @deprecated Starting from Gotenberg version 8.0.0, LibreOffice no longer provides support for pdfFormat.
|
|
60
|
-
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
61
|
-
*/
|
|
62
|
-
pdfFormat?: PdfFormat;
|
|
63
|
+
pdfa?: PdfFormat;
|
|
63
64
|
pdfUA?: boolean;
|
|
64
|
-
merge?: boolean;
|
|
65
65
|
}): Promise<Buffer> {
|
|
66
66
|
const data = new FormData();
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
data.append('pdfUA', String(pdfUA));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (merge) {
|
|
77
|
-
data.append('merge', String(merge));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (properties) {
|
|
81
|
-
LibreOfficeUtils.addPageProperties(data, properties);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
await LibreOfficeUtils.addFiles(files, data);
|
|
68
|
+
await PDFEnginesUtils.addFiles(files, data);
|
|
69
|
+
await PDFEnginesUtils.customize(data, {
|
|
70
|
+
pdfa,
|
|
71
|
+
pdfUA
|
|
72
|
+
});
|
|
85
73
|
|
|
86
74
|
const endpoint = `${Chromiumly.GOTENBERG_ENDPOINT}/${Chromiumly.LIBRE_OFFICE_PATH}/${Chromiumly.LIBRE_OFFICE_ROUTES.convert}`;
|
|
87
75
|
|
|
@@ -99,7 +87,7 @@ export class PDFEngine {
|
|
|
99
87
|
): Promise<Buffer> {
|
|
100
88
|
const data = new FormData();
|
|
101
89
|
|
|
102
|
-
await
|
|
90
|
+
await PDFEnginesUtils.addFiles(files, data);
|
|
103
91
|
|
|
104
92
|
const endpoint = `${Chromiumly.GOTENBERG_ENDPOINT}/${Chromiumly.PDF_ENGINES_PATH}/${Chromiumly.PDF_ENGINE_ROUTES.readMetadata}`;
|
|
105
93
|
|
|
@@ -123,7 +111,7 @@ export class PDFEngine {
|
|
|
123
111
|
const data = new FormData();
|
|
124
112
|
data.append('metadata', JSON.stringify(metadata));
|
|
125
113
|
|
|
126
|
-
await
|
|
114
|
+
await PDFEnginesUtils.addFiles(files, data);
|
|
127
115
|
|
|
128
116
|
const endpoint = `${Chromiumly.GOTENBERG_ENDPOINT}/${Chromiumly.PDF_ENGINES_PATH}/${Chromiumly.PDF_ENGINE_ROUTES.writeMetadata}`;
|
|
129
117
|
|
|
@@ -6,12 +6,12 @@ import fetch from 'node-fetch';
|
|
|
6
6
|
import path from 'path';
|
|
7
7
|
|
|
8
8
|
import { PdfFormat } from '../../common';
|
|
9
|
-
import {
|
|
9
|
+
import { PDFEngines } from '../pdf-engines';
|
|
10
10
|
|
|
11
11
|
const { Response } = jest.requireActual('node-fetch');
|
|
12
12
|
jest.mock('node-fetch', () => jest.fn());
|
|
13
13
|
|
|
14
|
-
describe('
|
|
14
|
+
describe('PDFEngines', () => {
|
|
15
15
|
const mockPromisesAccess = jest.spyOn(promises, 'access');
|
|
16
16
|
const mockFetch = fetch as jest.MockedFunction<typeof fetch>;
|
|
17
17
|
const mockFormDataAppend = jest.spyOn(FormData.prototype, 'append');
|
|
@@ -31,8 +31,8 @@ describe('PDFEngine', () => {
|
|
|
31
31
|
it('should return a buffer', async () => {
|
|
32
32
|
mockPromisesAccess.mockResolvedValue();
|
|
33
33
|
mockFetch.mockResolvedValue(new Response('content'));
|
|
34
|
-
const buffer = await
|
|
35
|
-
files: ['path/to/
|
|
34
|
+
const buffer = await PDFEngines.convert({
|
|
35
|
+
files: ['path/to/file_1.pdf', 'path/to/file_2.pdf']
|
|
36
36
|
});
|
|
37
37
|
expect(buffer).toEqual(Buffer.from('content'));
|
|
38
38
|
expect(mockFormDataAppend).toHaveBeenCalledTimes(2);
|
|
@@ -43,15 +43,13 @@ describe('PDFEngine', () => {
|
|
|
43
43
|
it('should return a buffer', async () => {
|
|
44
44
|
mockPromisesAccess.mockResolvedValue();
|
|
45
45
|
mockFetch.mockResolvedValue(new Response('content'));
|
|
46
|
-
const buffer = await
|
|
47
|
-
files: ['path/to/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
pdfUA: true,
|
|
51
|
-
merge: true
|
|
46
|
+
const buffer = await PDFEngines.convert({
|
|
47
|
+
files: ['path/to/file_1.pdf', 'path/to/file_2.pdf'],
|
|
48
|
+
pdfa: PdfFormat.A_2b,
|
|
49
|
+
pdfUA: true
|
|
52
50
|
});
|
|
53
51
|
expect(buffer).toEqual(Buffer.from('content'));
|
|
54
|
-
expect(mockFormDataAppend).toHaveBeenCalledTimes(
|
|
52
|
+
expect(mockFormDataAppend).toHaveBeenCalledTimes(4);
|
|
55
53
|
});
|
|
56
54
|
});
|
|
57
55
|
});
|
|
@@ -60,11 +58,14 @@ describe('PDFEngine', () => {
|
|
|
60
58
|
it('should return a buffer', async () => {
|
|
61
59
|
mockPromisesAccess.mockResolvedValue();
|
|
62
60
|
mockFetch.mockResolvedValue(new Response('content'));
|
|
63
|
-
const buffer = await
|
|
64
|
-
files: ['path/to/file.pdf', 'path/to/another-file.pdf']
|
|
61
|
+
const buffer = await PDFEngines.merge({
|
|
62
|
+
files: ['path/to/file.pdf', 'path/to/another-file.pdf'],
|
|
63
|
+
pdfa: PdfFormat.A_2b,
|
|
64
|
+
pdfUA: true,
|
|
65
|
+
metadata: { Author: 'John Doe' }
|
|
65
66
|
});
|
|
66
67
|
expect(buffer).toEqual(Buffer.from('content'));
|
|
67
|
-
expect(mockFormDataAppend).toHaveBeenCalledTimes(
|
|
68
|
+
expect(mockFormDataAppend).toHaveBeenCalledTimes(5);
|
|
68
69
|
});
|
|
69
70
|
});
|
|
70
71
|
|
|
@@ -72,7 +73,7 @@ describe('PDFEngine', () => {
|
|
|
72
73
|
it('should return a buffer', async () => {
|
|
73
74
|
mockPromisesAccess.mockResolvedValue();
|
|
74
75
|
mockFetch.mockResolvedValue(new Response('content'));
|
|
75
|
-
const buffer = await
|
|
76
|
+
const buffer = await PDFEngines.readMetadata(['path/to/file.pdf']);
|
|
76
77
|
expect(buffer).toEqual(Buffer.from('content'));
|
|
77
78
|
expect(mockFormDataAppend).toHaveBeenCalledTimes(1);
|
|
78
79
|
});
|
|
@@ -82,7 +83,7 @@ describe('PDFEngine', () => {
|
|
|
82
83
|
it('should return a buffer', async () => {
|
|
83
84
|
mockPromisesAccess.mockResolvedValue();
|
|
84
85
|
mockFetch.mockResolvedValue(new Response('content'));
|
|
85
|
-
const buffer = await
|
|
86
|
+
const buffer = await PDFEngines.writeMetadata({
|
|
86
87
|
files: ['path/to/file.pdf'],
|
|
87
88
|
metadata: {
|
|
88
89
|
Author: 'John Doe',
|
|
@@ -127,7 +128,7 @@ describe('PDFEngine', () => {
|
|
|
127
128
|
.spyOn(fs, 'writeFile')
|
|
128
129
|
.mockResolvedValueOnce();
|
|
129
130
|
|
|
130
|
-
await
|
|
131
|
+
await PDFEngines.generate(mockFilename, mockBuffer);
|
|
131
132
|
|
|
132
133
|
expect(mockPromisesMkDir).toHaveBeenCalledWith(mockGeneratedDir, {
|
|
133
134
|
recursive: true
|
|
@@ -145,7 +146,7 @@ describe('PDFEngine', () => {
|
|
|
145
146
|
);
|
|
146
147
|
|
|
147
148
|
await expect(
|
|
148
|
-
|
|
149
|
+
PDFEngines.generate(mockFilename, mockBuffer)
|
|
149
150
|
).rejects.toThrow('Cannot create directory');
|
|
150
151
|
});
|
|
151
152
|
|
|
@@ -155,7 +156,7 @@ describe('PDFEngine', () => {
|
|
|
155
156
|
);
|
|
156
157
|
|
|
157
158
|
await expect(
|
|
158
|
-
|
|
159
|
+
PDFEngines.generate(mockFilename, mockBuffer)
|
|
159
160
|
).rejects.toThrow('Failed to write to file');
|
|
160
161
|
});
|
|
161
162
|
});
|
|
@@ -3,11 +3,15 @@ import path from 'path';
|
|
|
3
3
|
|
|
4
4
|
import FormData from 'form-data';
|
|
5
5
|
import { PathLikeOrReadStream } from '../../common';
|
|
6
|
+
import {
|
|
7
|
+
ConversionOptions,
|
|
8
|
+
MergeOptions
|
|
9
|
+
} from '../interfaces/pdf-engines.types';
|
|
6
10
|
|
|
7
11
|
/**
|
|
8
12
|
* Utility class for handling common tasks related to PDF engine operations.
|
|
9
13
|
*/
|
|
10
|
-
export class
|
|
14
|
+
export class PDFEnginesUtils {
|
|
11
15
|
/**
|
|
12
16
|
* Adds PDF files to the FormData object.
|
|
13
17
|
*
|
|
@@ -37,4 +41,28 @@ export class PDFEngineUtils {
|
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Customizes the FormData object based on the provided conversion options.
|
|
47
|
+
*
|
|
48
|
+
* @param {FormData} data - The FormData object to be customized.
|
|
49
|
+
* @param {ConversionOptions | MergeOptions} options - The options to apply to the FormData.
|
|
50
|
+
* @returns {Promise<void>} A Promise that resolves once the customization is complete.
|
|
51
|
+
*/
|
|
52
|
+
public static async customize(
|
|
53
|
+
data: FormData,
|
|
54
|
+
options: ConversionOptions | MergeOptions
|
|
55
|
+
): Promise<void> {
|
|
56
|
+
if (options.pdfa) {
|
|
57
|
+
data.append('pdfa', options.pdfa);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (options.pdfUA) {
|
|
61
|
+
data.append('pdfUA', String(options.pdfUA));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if ('metadata' in options && options.metadata) {
|
|
65
|
+
data.append('metadata', JSON.stringify(options.metadata));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
40
68
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2
2
|
import { createReadStream, promises } from 'fs';
|
|
3
3
|
import FormData from 'form-data';
|
|
4
|
+
import { PDFEnginesUtils } from '../pdf-engines.utils';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
describe('PDFEngineUtils', () => {
|
|
6
|
+
describe('PDFEnginesUtils', () => {
|
|
8
7
|
const mockPromisesAccess = jest.spyOn(promises, 'access');
|
|
9
8
|
const mockFormDataAppend = jest.spyOn(FormData.prototype, 'append');
|
|
10
9
|
const data = new FormData();
|
|
@@ -24,7 +23,7 @@ describe('PDFEngineUtils', () => {
|
|
|
24
23
|
describe('when files parameter contains paths', () => {
|
|
25
24
|
it('should append each file to data', async () => {
|
|
26
25
|
mockPromisesAccess.mockResolvedValue();
|
|
27
|
-
await
|
|
26
|
+
await PDFEnginesUtils.addFiles(
|
|
28
27
|
['path/to/file.pdf', 'path/to/another-file.pdf'],
|
|
29
28
|
data
|
|
30
29
|
);
|
|
@@ -34,7 +33,7 @@ describe('PDFEngineUtils', () => {
|
|
|
34
33
|
describe('when files parameter contains a buffer', () => {
|
|
35
34
|
it('should append each file to data', async () => {
|
|
36
35
|
mockPromisesAccess.mockResolvedValue();
|
|
37
|
-
await
|
|
36
|
+
await PDFEnginesUtils.addFiles(
|
|
38
37
|
[Buffer.from('data'), 'path/to/another-file.pdf'],
|
|
39
38
|
data
|
|
40
39
|
);
|
|
@@ -47,7 +46,7 @@ describe('PDFEngineUtils', () => {
|
|
|
47
46
|
it('should throw an error', async () => {
|
|
48
47
|
mockPromisesAccess.mockResolvedValue();
|
|
49
48
|
await expect(() =>
|
|
50
|
-
|
|
49
|
+
PDFEnginesUtils.addFiles(
|
|
51
50
|
['path/to/file.docx', 'path/to/file.pdf'],
|
|
52
51
|
data
|
|
53
52
|
)
|
|
@@ -61,7 +60,7 @@ describe('PDFEngineUtils', () => {
|
|
|
61
60
|
"ENOENT: no such file or directory, access 'path/to/index.html'";
|
|
62
61
|
mockPromisesAccess.mockRejectedValue(new Error(errorMessage));
|
|
63
62
|
await expect(() =>
|
|
64
|
-
|
|
63
|
+
PDFEnginesUtils.addFiles(
|
|
65
64
|
['path/to/file.pdf', 'path/to/another-file.pdf'],
|
|
66
65
|
data
|
|
67
66
|
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.engine.js","sourceRoot":"","sources":["../../src/pdf-engines/pdf.engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.utils.js","sourceRoot":"","sources":["../../../src/pdf-engines/utils/engine.utils.ts"],"names":[],"mappings":";;;;AAAA,2BAAuE;AACvE,wDAAwB;AAKxB;;GAEG;AACH,MAAa,cAAc;IACvB;;;;;;OAMG;IACI,MAAM,CAAO,QAAQ,CACxB,KAA6B,EAC7B,IAAc;;YAEd,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;gBAClC,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,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAA,qBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mBAAmB,CAAC,CAAC;oBACrD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;KAAA;CACJ;AA9BD,wCA8BC"}
|