chromiumly 3.2.1 → 3.3.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 +21 -2
- package/dist/chromium/converters/converter.js +1 -1
- package/dist/chromium/converters/converter.js.map +1 -1
- package/dist/chromium/converters/html.converter.js +1 -1
- package/dist/chromium/converters/html.converter.js.map +1 -1
- package/dist/chromium/converters/markdown.converter.js +1 -1
- package/dist/chromium/converters/markdown.converter.js.map +1 -1
- package/dist/chromium/converters/url.converter.js +1 -1
- package/dist/chromium/converters/url.converter.js.map +1 -1
- package/dist/chromium/screenshots/html.screenshot.js +1 -1
- package/dist/chromium/screenshots/html.screenshot.js.map +1 -1
- package/dist/chromium/screenshots/markdown.screenshot.js +1 -1
- package/dist/chromium/screenshots/markdown.screenshot.js.map +1 -1
- package/dist/chromium/screenshots/screenshot.js +1 -1
- package/dist/chromium/screenshots/screenshot.js.map +1 -1
- package/dist/chromium/screenshots/url.screenshot.js +1 -1
- package/dist/chromium/screenshots/url.screenshot.js.map +1 -1
- package/dist/gotenberg.d.ts +1 -1
- package/dist/gotenberg.js +4 -2
- package/dist/gotenberg.js.map +1 -1
- package/dist/libre-office/libre-office.js +2 -2
- package/dist/libre-office/libre-office.js.map +1 -1
- package/dist/main.config.d.ts +30 -3
- package/dist/main.config.js +42 -3
- package/dist/main.config.js.map +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.js +3 -1
- package/dist/main.js.map +1 -1
- package/dist/pdf-engines/pdf-engines.js +8 -8
- package/dist/pdf-engines/pdf-engines.js.map +1 -1
- package/dist/pdf-engines/utils/pdf-engines.utils.js +5 -5
- package/dist/pdf-engines/utils/pdf-engines.utils.js.map +1 -1
- package/package.json +16 -11
- package/src/.prettierrc.yml +0 -4
- package/src/chromium/converters/converter.ts +0 -22
- package/src/chromium/converters/html.converter.ts +0 -134
- package/src/chromium/converters/markdown.converter.ts +0 -129
- package/src/chromium/converters/tests/html.converter.test.ts +0 -190
- package/src/chromium/converters/tests/markdown.converter.test.ts +0 -187
- package/src/chromium/converters/tests/url.converter.test.ts +0 -164
- package/src/chromium/converters/url.converter.ts +0 -125
- package/src/chromium/index.ts +0 -6
- package/src/chromium/interfaces/common.types.ts +0 -15
- package/src/chromium/interfaces/converter.types.ts +0 -45
- package/src/chromium/interfaces/screenshot.types.ts +0 -15
- package/src/chromium/screenshots/html.screenshot.ts +0 -105
- package/src/chromium/screenshots/markdown.screenshot.ts +0 -100
- package/src/chromium/screenshots/screenshot.ts +0 -22
- package/src/chromium/screenshots/tests/html.screenshot.test.ts +0 -192
- package/src/chromium/screenshots/tests/markdown.screenshot.test.ts +0 -176
- package/src/chromium/screenshots/tests/url.screenshot.test.ts +0 -166
- package/src/chromium/screenshots/url.screenshot.ts +0 -96
- package/src/chromium/utils/converter.utils.ts +0 -187
- package/src/chromium/utils/screenshot.utils.ts +0 -127
- package/src/chromium/utils/tests/converter.utils.test.ts +0 -496
- package/src/chromium/utils/tests/screenshot.utils.test.ts +0 -338
- package/src/common/constants.ts +0 -9
- package/src/common/gotenberg.utils.ts +0 -86
- package/src/common/index.ts +0 -3
- package/src/common/tests/gotenberg.utils.test.ts +0 -141
- package/src/common/types.ts +0 -7
- package/src/gotenberg.ts +0 -54
- package/src/libre-office/index.ts +0 -1
- package/src/libre-office/interfaces/libre-office.types.ts +0 -156
- package/src/libre-office/libre-office.ts +0 -61
- package/src/libre-office/tests/libre-office.test.ts +0 -56
- package/src/libre-office/utils/constants.ts +0 -132
- package/src/libre-office/utils/libre-office.utils.ts +0 -128
- package/src/libre-office/utils/tests/libre-office.utils.test.ts +0 -156
- package/src/main.config.ts +0 -106
- package/src/main.ts +0 -11
- package/src/pdf-engines/index.ts +0 -1
- package/src/pdf-engines/interfaces/pdf-engines.types.ts +0 -10
- package/src/pdf-engines/pdf-engines.ts +0 -156
- package/src/pdf-engines/tests/pdf.engine.test.ts +0 -163
- package/src/pdf-engines/utils/pdf-engines.utils.ts +0 -68
- package/src/pdf-engines/utils/tests/pdf-engines.utils.test.ts +0 -71
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import FormData from 'form-data';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
ConversionOptions,
|
|
5
|
-
PageProperties
|
|
6
|
-
} from '../interfaces/converter.types';
|
|
7
|
-
import { GotenbergUtils } from '../../common';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Utility class for handling common tasks related to conversion.
|
|
11
|
-
*/
|
|
12
|
-
export class ConverterUtils {
|
|
13
|
-
/**
|
|
14
|
-
* Adds page properties to the FormData object based on the provided PageProperties.
|
|
15
|
-
*
|
|
16
|
-
* @param {FormData} data - The FormData object to which page properties will be added.
|
|
17
|
-
* @param {PageProperties} pageProperties - The page properties to be added to the FormData.
|
|
18
|
-
*/
|
|
19
|
-
public static addPageProperties(
|
|
20
|
-
data: FormData,
|
|
21
|
-
pageProperties: PageProperties
|
|
22
|
-
): void {
|
|
23
|
-
if (pageProperties.singlePage) {
|
|
24
|
-
data.append('singlePage', String(pageProperties.singlePage));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (pageProperties.size) {
|
|
28
|
-
GotenbergUtils.assert(
|
|
29
|
-
pageProperties.size.width >= 1.0 &&
|
|
30
|
-
pageProperties.size.height >= 1.5,
|
|
31
|
-
'size is smaller than the minimum printing requirements (i.e. 1.0 x 1.5 in)'
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
data.append('paperWidth', pageProperties.size.width);
|
|
35
|
-
data.append('paperHeight', pageProperties.size.height);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (pageProperties.margins) {
|
|
39
|
-
GotenbergUtils.assert(
|
|
40
|
-
pageProperties.margins.top >= 0 &&
|
|
41
|
-
pageProperties.margins.bottom >= 0 &&
|
|
42
|
-
pageProperties.margins.left >= 0 &&
|
|
43
|
-
pageProperties.margins.left >= 0,
|
|
44
|
-
'negative margins are not allowed'
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
data.append('marginTop', pageProperties.margins.top);
|
|
48
|
-
data.append('marginBottom', pageProperties.margins.bottom);
|
|
49
|
-
data.append('marginLeft', pageProperties.margins.left);
|
|
50
|
-
data.append('marginRight', pageProperties.margins.right);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (pageProperties.preferCssPageSize) {
|
|
54
|
-
data.append(
|
|
55
|
-
'preferCssPageSize',
|
|
56
|
-
String(pageProperties.preferCssPageSize)
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (pageProperties.printBackground) {
|
|
61
|
-
data.append(
|
|
62
|
-
'printBackground',
|
|
63
|
-
String(pageProperties.printBackground)
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (pageProperties.omitBackground) {
|
|
68
|
-
data.append(
|
|
69
|
-
'omitBackground',
|
|
70
|
-
String(pageProperties.omitBackground)
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (pageProperties.landscape) {
|
|
75
|
-
data.append('landscape', String(pageProperties.landscape));
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (pageProperties.scale) {
|
|
79
|
-
GotenbergUtils.assert(
|
|
80
|
-
pageProperties.scale >= 0.1 && pageProperties.scale <= 2.0,
|
|
81
|
-
'scale is outside of [0.1 - 2] range'
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
data.append('scale', pageProperties.scale);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (pageProperties.nativePageRanges) {
|
|
88
|
-
GotenbergUtils.assert(
|
|
89
|
-
pageProperties.nativePageRanges.from > 0 &&
|
|
90
|
-
pageProperties.nativePageRanges.to > 0 &&
|
|
91
|
-
pageProperties.nativePageRanges.to >=
|
|
92
|
-
pageProperties.nativePageRanges.from,
|
|
93
|
-
'page ranges syntax error'
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
data.append(
|
|
97
|
-
'nativePageRanges',
|
|
98
|
-
`${pageProperties.nativePageRanges.from}-${pageProperties.nativePageRanges.to}`
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Customizes the FormData object based on the provided conversion options.
|
|
105
|
-
*
|
|
106
|
-
* @param {FormData} data - The FormData object to be customized.
|
|
107
|
-
* @param {ConversionOptions} options - The conversion options to apply to the FormData.
|
|
108
|
-
* @returns {Promise<void>} A Promise that resolves once the customization is complete.
|
|
109
|
-
*/
|
|
110
|
-
public static async customize(
|
|
111
|
-
data: FormData,
|
|
112
|
-
options: ConversionOptions
|
|
113
|
-
): Promise<void> {
|
|
114
|
-
if (options.pdfFormat) {
|
|
115
|
-
data.append('pdfa', options.pdfFormat);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (options.pdfUA) {
|
|
119
|
-
data.append('pdfua', String(options.pdfUA));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if (options.header) {
|
|
123
|
-
const { header } = options;
|
|
124
|
-
await GotenbergUtils.addFile(data, header, 'header.html');
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (options.footer) {
|
|
128
|
-
const { footer } = options;
|
|
129
|
-
await GotenbergUtils.addFile(data, footer, 'footer.html');
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (options.emulatedMediaType) {
|
|
133
|
-
data.append('emulatedMediaType', options.emulatedMediaType);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
if (options.properties) {
|
|
137
|
-
ConverterUtils.addPageProperties(data, options.properties);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (options.waitDelay) {
|
|
141
|
-
data.append('waitDelay', options.waitDelay);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
if (options.waitForExpression) {
|
|
145
|
-
data.append('waitForExpression', options.waitForExpression);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
if (options.userAgent) {
|
|
149
|
-
data.append('userAgent', options.userAgent);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (options.extraHttpHeaders) {
|
|
153
|
-
data.append(
|
|
154
|
-
'extraHttpHeaders',
|
|
155
|
-
JSON.stringify(options.extraHttpHeaders)
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if (options.failOnHttpStatusCodes) {
|
|
160
|
-
data.append(
|
|
161
|
-
'failOnHttpStatusCodes',
|
|
162
|
-
JSON.stringify(options.failOnHttpStatusCodes)
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
if (options.failOnConsoleExceptions) {
|
|
167
|
-
data.append(
|
|
168
|
-
'failOnConsoleExceptions',
|
|
169
|
-
String(options.failOnConsoleExceptions)
|
|
170
|
-
);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (options.skipNetworkIdleEvent) {
|
|
174
|
-
data.append(
|
|
175
|
-
'skipNetworkIdleEvent',
|
|
176
|
-
String(options.skipNetworkIdleEvent)
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
if (options.metadata) {
|
|
180
|
-
data.append('metadata', JSON.stringify(options.metadata));
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
if (options.cookies) {
|
|
184
|
-
data.append('cookies', JSON.stringify(options.cookies));
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ImageProperties,
|
|
3
|
-
ScreenshotOptions
|
|
4
|
-
} from './../interfaces/screenshot.types';
|
|
5
|
-
import FormData from 'form-data';
|
|
6
|
-
|
|
7
|
-
import { GotenbergUtils } from '../../common';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Utility class for handling common tasks related to screenshot.
|
|
11
|
-
*/
|
|
12
|
-
export class ScreenshotUtils {
|
|
13
|
-
/**
|
|
14
|
-
* Adds page properties to the FormData object based on the provided imageProperties.
|
|
15
|
-
*
|
|
16
|
-
* @param {FormData} data - The FormData object to which page properties will be added.
|
|
17
|
-
* @param {ImageProperties} imageProperties - The page properties to be added to the FormData.
|
|
18
|
-
*/
|
|
19
|
-
public static addImageProperties(
|
|
20
|
-
data: FormData,
|
|
21
|
-
imageProperties: ImageProperties
|
|
22
|
-
): void {
|
|
23
|
-
data.append('format', imageProperties.format);
|
|
24
|
-
|
|
25
|
-
if (imageProperties.quality) {
|
|
26
|
-
GotenbergUtils.assert(
|
|
27
|
-
imageProperties.format === 'jpeg',
|
|
28
|
-
'Compression quality is exclusively supported for JPEG format.'
|
|
29
|
-
);
|
|
30
|
-
GotenbergUtils.assert(
|
|
31
|
-
imageProperties.quality >= 0 && imageProperties.quality <= 100,
|
|
32
|
-
'Invalid compression quality. Please provide a value between 0 and 100.'
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
data.append('quality', imageProperties.quality);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (imageProperties.omitBackground) {
|
|
39
|
-
data.append(
|
|
40
|
-
'omitBackground',
|
|
41
|
-
String(imageProperties.omitBackground)
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (imageProperties.width) {
|
|
46
|
-
data.append('width', imageProperties.width);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (imageProperties.height) {
|
|
50
|
-
data.append('height', imageProperties.height);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (imageProperties.clip) {
|
|
54
|
-
data.append('clip', String(imageProperties.clip));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Customizes the FormData object based on the provided screenshot options.
|
|
60
|
-
*
|
|
61
|
-
* @param {FormData} data - The FormData object to be customized.
|
|
62
|
-
* @param {ScreenshotOptions} options - The screenshot options to apply to the FormData.
|
|
63
|
-
* @returns {Promise<void>} A Promise that resolves once the customization is complete.
|
|
64
|
-
*/
|
|
65
|
-
public static async customize(
|
|
66
|
-
data: FormData,
|
|
67
|
-
options: ScreenshotOptions
|
|
68
|
-
): Promise<void> {
|
|
69
|
-
if (options.header) {
|
|
70
|
-
const { header } = options;
|
|
71
|
-
await GotenbergUtils.addFile(data, header, 'header.html');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (options.footer) {
|
|
75
|
-
const { footer } = options;
|
|
76
|
-
await GotenbergUtils.addFile(data, footer, 'footer.html');
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (options.emulatedMediaType) {
|
|
80
|
-
data.append('emulatedMediaType', options.emulatedMediaType);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (options.properties) {
|
|
84
|
-
ScreenshotUtils.addImageProperties(data, options.properties);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (options.waitDelay) {
|
|
88
|
-
data.append('waitDelay', options.waitDelay);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (options.waitForExpression) {
|
|
92
|
-
data.append('waitForExpression', options.waitForExpression);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (options.extraHttpHeaders) {
|
|
96
|
-
data.append(
|
|
97
|
-
'extraHttpHeaders',
|
|
98
|
-
JSON.stringify(options.extraHttpHeaders)
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
if (options.failOnHttpStatusCodes) {
|
|
103
|
-
data.append(
|
|
104
|
-
'failOnHttpStatusCodes',
|
|
105
|
-
JSON.stringify(options.failOnHttpStatusCodes)
|
|
106
|
-
);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (options.failOnConsoleExceptions) {
|
|
110
|
-
data.append(
|
|
111
|
-
'failOnConsoleExceptions',
|
|
112
|
-
String(options.failOnConsoleExceptions)
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (options.skipNetworkIdleEvent) {
|
|
117
|
-
data.append(
|
|
118
|
-
'skipNetworkIdleEvent',
|
|
119
|
-
String(options.skipNetworkIdleEvent)
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (options.optimizeForSpeed) {
|
|
124
|
-
data.append('optimizeForSpeed', String(options.optimizeForSpeed));
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|