@iqx-limited/quick-pdf 1.0.6 → 1.0.7
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.
|
@@ -1 +1,6 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Options = {
|
|
2
|
+
base64?: boolean;
|
|
3
|
+
rules?: object;
|
|
4
|
+
scale?: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const html2pdf: (input: string | URL, options?: Options) => Promise<string | Buffer>;
|
package/dist/modules/html2pdf.js
CHANGED
|
@@ -2,8 +2,13 @@ import { existsSync } from "fs";
|
|
|
2
2
|
import { HtmlValidate } from "html-validate/node";
|
|
3
3
|
import { chromium } from "playwright";
|
|
4
4
|
import { fetchHtmlFromUrl, readHtmlFromFilePath } from "../utilies.js";
|
|
5
|
-
export const html2pdf = async (input,
|
|
6
|
-
const validator = new HtmlValidate(
|
|
5
|
+
export const html2pdf = async (input, options = {}) => {
|
|
6
|
+
const validator = new HtmlValidate(options.rules ?? {
|
|
7
|
+
extends: ["html-validate:standard"],
|
|
8
|
+
rules: {
|
|
9
|
+
"no-trailing-whitespace": "off"
|
|
10
|
+
}
|
|
11
|
+
});
|
|
7
12
|
let htmlContent = input.toString();
|
|
8
13
|
if (htmlContent.startsWith("http://") || htmlContent.startsWith("https://")) {
|
|
9
14
|
htmlContent = await fetchHtmlFromUrl(htmlContent);
|
|
@@ -16,25 +21,38 @@ export const html2pdf = async (input, base64) => {
|
|
|
16
21
|
const browser = await chromium.launch();
|
|
17
22
|
const page = await browser.newPage();
|
|
18
23
|
await page.setContent(htmlContent, { waitUntil: "load" });
|
|
19
|
-
const pdfBuffer = await page.pdf({ format: "A4", printBackground: true });
|
|
24
|
+
const pdfBuffer = await page.pdf({ format: "A4", printBackground: true, scale: options.scale ?? 1 });
|
|
20
25
|
await browser.close();
|
|
21
|
-
if (base64) {
|
|
26
|
+
if (options.base64 ?? false) {
|
|
22
27
|
return pdfBuffer.toString("base64");
|
|
23
28
|
}
|
|
24
29
|
return pdfBuffer;
|
|
25
30
|
}
|
|
26
31
|
else {
|
|
27
|
-
return Promise.reject(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
return Promise.reject({
|
|
33
|
+
valid: false,
|
|
34
|
+
count: {
|
|
35
|
+
errors: res.errorCount,
|
|
36
|
+
warnings: res.warningCount
|
|
37
|
+
},
|
|
38
|
+
validation: res.results.map(res => {
|
|
39
|
+
return {
|
|
40
|
+
file: res.filePath,
|
|
41
|
+
count: {
|
|
42
|
+
errors: res.errorCount,
|
|
43
|
+
warnings: res.warningCount
|
|
44
|
+
},
|
|
45
|
+
messages: res.messages.map(msg => {
|
|
46
|
+
return {
|
|
47
|
+
message: msg.message,
|
|
48
|
+
line: msg.line,
|
|
49
|
+
column: msg.column,
|
|
50
|
+
ruleId: msg.ruleId
|
|
51
|
+
};
|
|
34
52
|
})
|
|
35
|
-
|
|
53
|
+
};
|
|
36
54
|
})
|
|
37
|
-
|
|
55
|
+
});
|
|
38
56
|
}
|
|
39
57
|
});
|
|
40
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html2pdf.js","sourceRoot":"","sources":["../../src/modules/html2pdf.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"html2pdf.js","sourceRoot":"","sources":["../../src/modules/html2pdf.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AA2BtE,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAmB,EACnB,UAAmB,EAAG,EACtB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,YAAY,CAAG,OAAO,CAAC,KAAK,IAAI;QACpD,OAAO,EAAE,CAAE,wBAAwB,CAAE;QACrC,KAAK,EAAE;YACL,wBAAwB,EAAE,KAAK;SAChC;KACF,CAAE,CAAA;IAEH,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAG,CAAA;IAGnC,IAAK,WAAW,CAAC,UAAU,CAAG,SAAS,CAAE,IAAI,WAAW,CAAC,UAAU,CAAG,UAAU,CAAE,EAAG,CAAC;QACpF,WAAW,GAAG,MAAM,gBAAgB,CAAG,WAAW,CAAE,CAAA;IACtD,CAAC;SAEI,IAAK,UAAU,CAAG,KAAK,CAAE,EAAG,CAAC;QAChC,WAAW,GAAG,MAAM,oBAAoB,CAAG,WAAW,CAAE,CAAA;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC,cAAc,CAAG,WAAW,CAAE,CAAC,IAAI,CAAG,KAAK,EAAG,GAAG,EAAG,EAAE;QACrE,IAAK,GAAG,CAAC,KAAK,EAAG,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAG,CAAA;YACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAG,CAAA;YACrC,MAAM,IAAI,CAAC,UAAU,CAAG,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAE,CAAA;YAC5D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAE,CAAA;YACvG,MAAM,OAAO,CAAC,KAAK,EAAI,CAAA;YACvB,IAAK,OAAO,CAAC,MAAM,IAAI,KAAK,EAAG,CAAC;gBAC9B,OAAO,SAAS,CAAC,QAAQ,CAAG,QAAQ,CAAE,CAAA;YACxC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;aAAM,CAAC;YAEN,OAAO,OAAO,CAAC,MAAM,CAAG;gBACtB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE;oBACL,MAAM,EAAE,GAAG,CAAC,UAAU;oBACtB,QAAQ,EAAE,GAAG,CAAC,YAAY;iBAC3B;gBACD,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAG,GAAG,CAAC,EAAE;oBAClC,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAClB,KAAK,EAAE;4BACL,MAAM,EAAE,GAAG,CAAC,UAAU;4BACtB,QAAQ,EAAE,GAAG,CAAC,YAAY;yBAC3B;wBACD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAG,GAAG,CAAC,EAAE;4BACjC,OAAO;gCACL,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,MAAM,EAAE,GAAG,CAAC,MAAM;6BACnB,CAAA;wBACH,CAAC,CAAE;qBACJ,CAAA;gBACH,CAAC,CAAE;aACJ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAE,CAAA;AACL,CAAC,CAAA"}
|