@iqx-limited/quick-pdf 1.0.7 → 1.0.8
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 +24 -0
- package/dist/install-playwright.d.ts +1 -0
- package/dist/install-playwright.js +42 -0
- package/dist/install-playwright.js.map +1 -0
- package/dist/modules/html2pdf.js.map +1 -1
- package/dist/src/canvas.d.ts +14 -0
- package/dist/src/canvas.js +37 -0
- package/dist/src/canvas.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/modules/html2pdf.d.ts +6 -0
- package/dist/src/modules/html2pdf.js +59 -0
- package/dist/src/modules/html2pdf.js.map +1 -0
- package/dist/src/modules/img2pdf.d.ts +7 -0
- package/dist/src/modules/img2pdf.js +64 -0
- package/dist/src/modules/img2pdf.js.map +1 -0
- package/dist/src/modules/pdf2img.d.ts +11 -0
- package/dist/src/modules/pdf2img.js +61 -0
- package/dist/src/modules/pdf2img.js.map +1 -0
- package/dist/src/utilies.d.ts +3 -0
- package/dist/src/utilies.js +37 -0
- package/dist/src/utilies.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -23,6 +23,30 @@ This project provides a set of utilities for converting various file formats wit
|
|
|
23
23
|
html2pdf(input: string | URL)
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
Validation occurs on the html string passed. The Error Object returned is:
|
|
27
|
+
```typescript
|
|
28
|
+
{
|
|
29
|
+
valid: boolean,
|
|
30
|
+
count: {
|
|
31
|
+
errors: number,
|
|
32
|
+
warnings: number
|
|
33
|
+
},
|
|
34
|
+
validation: [ {
|
|
35
|
+
file: string,
|
|
36
|
+
count: {
|
|
37
|
+
errors: number,
|
|
38
|
+
warnings: number
|
|
39
|
+
},
|
|
40
|
+
messages: [ {
|
|
41
|
+
message: string,
|
|
42
|
+
line: number,
|
|
43
|
+
column: number,
|
|
44
|
+
ruleId: string
|
|
45
|
+
} ]
|
|
46
|
+
} ]
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
26
50
|
### Parameters:
|
|
27
51
|
|
|
28
52
|
| Parameter | Type | Description | Data that can be passed |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { existsSync, rmSync } from "fs";
|
|
2
|
+
import { execSync } from "child_process";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { homedir } from "os";
|
|
5
|
+
const playwrightCacheDir = join(homedir(), ".cache", "ms-playwright");
|
|
6
|
+
function isChromeInstalled() {
|
|
7
|
+
try {
|
|
8
|
+
if (process.platform === "win32") {
|
|
9
|
+
const possiblePaths = [
|
|
10
|
+
"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
|
|
11
|
+
"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
|
|
12
|
+
];
|
|
13
|
+
if (possiblePaths.some(path => existsSync(path))) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
throw new Error("Chrome not found");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
execSync("command -v google-chrome", { stdio: "ignore" });
|
|
22
|
+
console.log(temp);
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
console.error(e);
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (isChromeInstalled()) {
|
|
32
|
+
console.log("Google Chrome is installed. Skipping Playwright browser install...");
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
if (existsSync(playwrightCacheDir)) {
|
|
36
|
+
console.log("Deleting existing Playwright cache...");
|
|
37
|
+
rmSync(playwrightCacheDir, { recursive: true, force: true });
|
|
38
|
+
}
|
|
39
|
+
console.log("Google Chrome is not installed. Installing Playwright browsers...");
|
|
40
|
+
execSync("npx playwright install", { stdio: "inherit" });
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=install-playwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-playwright.js","sourceRoot":"","sources":["../install-playwright.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAG5B,MAAM,kBAAkB,GAAG,IAAI,CAAG,OAAO,EAAI,EAAE,QAAQ,EAAE,eAAe,CAAE,CAAA;AAG1E,SAAS,iBAAiB;IACxB,IAAI,CAAC;QAEH,IAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAG,CAAC;YAEnC,MAAM,aAAa,GAAG;gBACpB,4DAA4D;gBAC5D,kEAAkE;aACnE,CAAA;YACD,IAAK,aAAa,CAAC,IAAI,CAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAG,IAAI,CAAE,CAAE,EAAG,CAAC;gBACzD,OAAO,IAAI,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAG,kBAAkB,CAAE,CAAA;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAG,0BAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAE,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAG,IAAI,CAAE,CAAA;QACtB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAQ,CAAC,EAAG,CAAC;QACb,OAAO,CAAC,KAAK,CAAG,CAAC,CAAE,CAAA;QACnB,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAGD,IAAK,iBAAiB,EAAI,EAAG,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAG,oEAAoE,CAAE,CAAA;AACtF,CAAC;KAAM,CAAC;IAEN,IAAK,UAAU,CAAG,kBAAkB,CAAE,EAAG,CAAC;QACxC,OAAO,CAAC,GAAG,CAAG,uCAAuC,CAAE,CAAA;QACvD,MAAM,CAAG,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAE,CAAA;IACjE,CAAC;IACD,OAAO,CAAC,GAAG,CAAG,mEAAmE,CAAE,CAAA;IACnF,QAAQ,CAAG,wBAAwB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAE,CAAA;AAC7D,CAAC"}
|
|
@@ -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;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,
|
|
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,CAAE,CAAA;QACL,CAAC;IACH,CAAC,CAAE,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Canvas, CanvasRenderingContext2D } from "canvas";
|
|
2
|
+
type Factory = {
|
|
3
|
+
canvas: Canvas | null;
|
|
4
|
+
context: CanvasRenderingContext2D | null;
|
|
5
|
+
};
|
|
6
|
+
export declare class CanvasFactory {
|
|
7
|
+
create(width: number, height: number, transparent: boolean): {
|
|
8
|
+
canvas: Canvas;
|
|
9
|
+
context: CanvasRenderingContext2D;
|
|
10
|
+
};
|
|
11
|
+
reset(factory: Factory, width: number, height: number): void;
|
|
12
|
+
destroy(factory: Factory): void;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Canvas } from "canvas";
|
|
2
|
+
export class CanvasFactory {
|
|
3
|
+
create(width, height, transparent) {
|
|
4
|
+
if (width <= 0 || height <= 0) {
|
|
5
|
+
throw new Error("Invalid canvas size");
|
|
6
|
+
}
|
|
7
|
+
const canvas = new Canvas(width, height);
|
|
8
|
+
const context = canvas.getContext("2d");
|
|
9
|
+
if (transparent) {
|
|
10
|
+
context.clearRect(0, 0, width, height);
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
canvas,
|
|
14
|
+
context
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
reset(factory, width, height) {
|
|
18
|
+
if (!factory.canvas) {
|
|
19
|
+
throw new Error("Canvas is not specified");
|
|
20
|
+
}
|
|
21
|
+
if (width <= 0 || height <= 0) {
|
|
22
|
+
throw new Error("Invalid canvas size");
|
|
23
|
+
}
|
|
24
|
+
factory.canvas.width = width;
|
|
25
|
+
factory.canvas.height = height;
|
|
26
|
+
}
|
|
27
|
+
destroy(factory) {
|
|
28
|
+
if (!factory.canvas) {
|
|
29
|
+
throw new Error("Canvas is not specified");
|
|
30
|
+
}
|
|
31
|
+
factory.canvas.width = 0;
|
|
32
|
+
factory.canvas.height = 0;
|
|
33
|
+
factory.canvas = null;
|
|
34
|
+
factory.context = null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=canvas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/canvas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAA4B,MAAM,QAAQ,CAAA;AAOzD,MAAM,OAAO,aAAa;IAWjB,MAAM,CAAG,KAAa,EAAE,MAAc,EAAE,WAAoB;QACjE,IAAK,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAG,CAAC;YAChC,MAAM,IAAI,KAAK,CAAG,qBAAqB,CAAE,CAAA;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAG,KAAK,EAAE,MAAM,CAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAG,IAAI,CAAE,CAAA;QAE1C,IAAK,WAAW,EAAG,CAAC;YAClB,OAAO,CAAC,SAAS,CAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAE,CAAA;QAC3C,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO;SACR,CAAA;IACH,CAAC;IAEM,KAAK,CAAG,OAAgB,EAAE,KAAa,EAAE,MAAc;QAC5D,IAAK,CAAC,OAAO,CAAC,MAAM,EAAG,CAAC;YACtB,MAAM,IAAI,KAAK,CAAG,yBAAyB,CAAE,CAAA;QAC/C,CAAC;QAED,IAAK,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAG,CAAC;YAChC,MAAM,IAAI,KAAK,CAAG,qBAAqB,CAAE,CAAA;QAC3C,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAChC,CAAC;IAEM,OAAO,CAAG,OAAgB;QAC/B,IAAK,CAAC,OAAO,CAAC,MAAM,EAAG,CAAC;YACtB,MAAM,IAAI,KAAK,CAAG,yBAAyB,CAAE,CAAA;QAC/C,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QACxB,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;QACrB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { satisfies } from "semver";
|
|
2
|
+
const requiredVersion = ">=22.0.0";
|
|
3
|
+
if (!satisfies(process.version, requiredVersion)) {
|
|
4
|
+
console.error(`\nError: Node.js version ${requiredVersion} is required. You are using ${process.version}.\n`);
|
|
5
|
+
process.exit(1);
|
|
6
|
+
}
|
|
7
|
+
export * from "./modules/pdf2img.js";
|
|
8
|
+
export * from "./modules/img2pdf.js";
|
|
9
|
+
export * from "./modules/html2pdf.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,eAAe,GAAG,UAAU,CAAA;AAElC,IAAK,CAAC,SAAS,CAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAE,EAAG,CAAC;IACtD,OAAO,CAAC,KAAK,CACX,4BAA4B,eAAe,+BAA+B,OAAO,CAAC,OAAO,KAAK,CAC/F,CAAA;IACD,OAAO,CAAC,IAAI,CAAG,CAAC,CAAE,CAAA;AACpB,CAAC;AAED,cAAc,sBAAsB,CAAA;AAEpC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { HtmlValidate } from "html-validate/node";
|
|
3
|
+
import { chromium } from "playwright";
|
|
4
|
+
import { fetchHtmlFromUrl, readHtmlFromFilePath } from "../utilies.js";
|
|
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
|
+
});
|
|
12
|
+
let htmlContent = input.toString();
|
|
13
|
+
if (htmlContent.startsWith("http://") || htmlContent.startsWith("https://")) {
|
|
14
|
+
htmlContent = await fetchHtmlFromUrl(htmlContent);
|
|
15
|
+
}
|
|
16
|
+
else if (existsSync(input)) {
|
|
17
|
+
htmlContent = await readHtmlFromFilePath(htmlContent);
|
|
18
|
+
}
|
|
19
|
+
return validator.validateString(htmlContent).then(async (res) => {
|
|
20
|
+
if (res.valid) {
|
|
21
|
+
const browser = await chromium.launch();
|
|
22
|
+
const page = await browser.newPage();
|
|
23
|
+
await page.setContent(htmlContent, { waitUntil: "load" });
|
|
24
|
+
const pdfBuffer = await page.pdf({ format: "A4", printBackground: true, scale: options.scale ?? 1 });
|
|
25
|
+
await browser.close();
|
|
26
|
+
if (options.base64 ?? false) {
|
|
27
|
+
return pdfBuffer.toString("base64");
|
|
28
|
+
}
|
|
29
|
+
return pdfBuffer;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
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
|
+
};
|
|
52
|
+
})
|
|
53
|
+
};
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=html2pdf.js.map
|
|
@@ -0,0 +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;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,CAAE,CAAA;QACL,CAAC;IACH,CAAC,CAAE,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { fileTypeFromBuffer } from "file-type";
|
|
2
|
+
import { imageSize } from "image-size";
|
|
3
|
+
import PDFDocument from "pdfkit";
|
|
4
|
+
import { getBuffer } from "../utilies.js";
|
|
5
|
+
export const img2pdf = async (input, options = {}) => {
|
|
6
|
+
return new Promise((resolve, reject) => {
|
|
7
|
+
getBuffer(input).then(async (buf) => {
|
|
8
|
+
const type = await fileTypeFromBuffer(buf);
|
|
9
|
+
if (type?.mime !== "image/jpeg" && type?.mime !== "image/png") {
|
|
10
|
+
console.error(`ERROR: Provided File is not a JPEG or a PNG.`);
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
const pdfBuffers = [];
|
|
14
|
+
const imgSize = imageSize(buf);
|
|
15
|
+
const landscape = imgSize.width && imgSize.height ? imgSize.width > imgSize.height : false;
|
|
16
|
+
const doc = new PDFDocument({
|
|
17
|
+
size: "a4",
|
|
18
|
+
layout: landscape ? "landscape" : "portrait",
|
|
19
|
+
margins: {
|
|
20
|
+
top: 0,
|
|
21
|
+
bottom: 0,
|
|
22
|
+
left: 0,
|
|
23
|
+
right: 0
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
doc.on("data", (data) => {
|
|
27
|
+
pdfBuffers.push(data);
|
|
28
|
+
});
|
|
29
|
+
doc.on("end", () => {
|
|
30
|
+
resolve(Buffer.concat(pdfBuffers));
|
|
31
|
+
});
|
|
32
|
+
doc.fontSize(options.fontSize ?? 10);
|
|
33
|
+
const topMargin = options.header ? 20 : 0;
|
|
34
|
+
const bottomMargin = options.footer ? 20 : 0;
|
|
35
|
+
const sidePadding = 20;
|
|
36
|
+
const imageHeight = doc.page.height - topMargin - bottomMargin;
|
|
37
|
+
if (options.header) {
|
|
38
|
+
doc.text(options.header, sidePadding, topMargin / 2 - 6, {
|
|
39
|
+
align: "center",
|
|
40
|
+
baseline: "top",
|
|
41
|
+
width: doc.page.width - 2 * sidePadding,
|
|
42
|
+
height: topMargin - 5,
|
|
43
|
+
ellipsis: true
|
|
44
|
+
}).moveDown(0.5);
|
|
45
|
+
}
|
|
46
|
+
doc.image(buf, 0, topMargin, {
|
|
47
|
+
width: doc.page.width,
|
|
48
|
+
height: imageHeight
|
|
49
|
+
});
|
|
50
|
+
if (options.footer) {
|
|
51
|
+
doc.text(options.footer, sidePadding, doc.page.height - bottomMargin / 2 - 6, {
|
|
52
|
+
align: "center",
|
|
53
|
+
width: doc.page.width - 2 * sidePadding,
|
|
54
|
+
height: bottomMargin - 5,
|
|
55
|
+
ellipsis: true
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
doc.end();
|
|
59
|
+
}).catch((e) => {
|
|
60
|
+
reject(e);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=img2pdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"img2pdf.js","sourceRoot":"","sources":["../../../src/modules/img2pdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Options = {
|
|
2
|
+
scale?: number;
|
|
3
|
+
password?: string;
|
|
4
|
+
mime?: "image/png" | "image/jpeg";
|
|
5
|
+
};
|
|
6
|
+
export declare const pdf2img: (input: Buffer | string | URL, options?: Options) => Promise<{
|
|
7
|
+
length: number;
|
|
8
|
+
metadata: any;
|
|
9
|
+
pages: Buffer[];
|
|
10
|
+
}>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const originalLog = console.log;
|
|
2
|
+
console.log = function (message, ...args) {
|
|
3
|
+
if (message && message === `Warning: applyPath2DToCanvasRenderingContext: "TypeError: Cannot assign to read only property 'clip' of object '#<CanvasRenderingContext2D>'".`) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
originalLog.apply(console, [message, ...args]);
|
|
7
|
+
};
|
|
8
|
+
import { CanvasFactory } from "../canvas.js";
|
|
9
|
+
import { getBuffer } from "../utilies.js";
|
|
10
|
+
import { getDocument } from "pdfjs-dist/legacy/build/pdf.mjs";
|
|
11
|
+
import { fileTypeFromBuffer } from "file-type";
|
|
12
|
+
import { fileURLToPath } from "url";
|
|
13
|
+
import { resolve, dirname, join, sep } from "path";
|
|
14
|
+
import sharp from "sharp";
|
|
15
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
+
const __dirname = dirname(__filename);
|
|
17
|
+
export const pdf2img = async (input, options = {}) => {
|
|
18
|
+
const buffer = await getBuffer(input);
|
|
19
|
+
const type = await fileTypeFromBuffer(buffer);
|
|
20
|
+
if (type?.mime !== "application/pdf") {
|
|
21
|
+
console.error(`ERROR: Provided File is not a PDF.`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const pdfjsPath = resolve(__dirname, "..", "..", "node_modules", "pdfjs-dist");
|
|
25
|
+
const canvasFactory = new CanvasFactory();
|
|
26
|
+
const newoptions = {
|
|
27
|
+
password: options.password ?? undefined,
|
|
28
|
+
standardFontDataUrl: join(pdfjsPath, `standard_fonts${sep}`),
|
|
29
|
+
cMapUrl: join(pdfjsPath, `cmaps${sep}`),
|
|
30
|
+
isEvalSupported: false,
|
|
31
|
+
CanvasFactory: CanvasFactory,
|
|
32
|
+
verbosity: 0,
|
|
33
|
+
data: Uint8Array.from(buffer)
|
|
34
|
+
};
|
|
35
|
+
const pdfDocument = await getDocument(newoptions).promise;
|
|
36
|
+
const metadata = await pdfDocument.getMetadata();
|
|
37
|
+
const pages = [];
|
|
38
|
+
for (let i = 1; i <= pdfDocument.numPages; i++) {
|
|
39
|
+
pages.push(await getPage(i));
|
|
40
|
+
}
|
|
41
|
+
async function getPage(pageNumber) {
|
|
42
|
+
const page = await pdfDocument.getPage(pageNumber);
|
|
43
|
+
const viewport = page.getViewport({ scale: options.scale ?? 300 / 72 });
|
|
44
|
+
const { canvas, context } = canvasFactory.create(viewport.width, viewport.height, true);
|
|
45
|
+
await page.render({
|
|
46
|
+
canvasContext: context,
|
|
47
|
+
viewport
|
|
48
|
+
}).promise;
|
|
49
|
+
const imageBuffer = canvas.toBuffer();
|
|
50
|
+
const processedBuffer = await sharp(imageBuffer)
|
|
51
|
+
.toFormat(options.mime === "image/jpeg" ? "jpeg" : "png")
|
|
52
|
+
.toBuffer();
|
|
53
|
+
return processedBuffer;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
length: pdfDocument.numPages,
|
|
57
|
+
metadata: metadata.info,
|
|
58
|
+
pages
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=pdf2img.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf2img.js","sourceRoot":"","sources":["../../../src/modules/pdf2img.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "fs";
|
|
2
|
+
export async function getBuffer(input) {
|
|
3
|
+
if (input instanceof Buffer) {
|
|
4
|
+
return input;
|
|
5
|
+
}
|
|
6
|
+
return fetch(input.toString())
|
|
7
|
+
.then(res => {
|
|
8
|
+
if (res.ok) {
|
|
9
|
+
return res.arrayBuffer();
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
console.error("ERROR: Failed to Fetch the File");
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
.then(array => Buffer.from(array))
|
|
17
|
+
.catch(() => {
|
|
18
|
+
if (existsSync(input.toString())) {
|
|
19
|
+
return readFileSync(input.toString());
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
console.error(`ERROR: '${input.toString()}' Not Found`);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export const fetchHtmlFromUrl = async (url) => {
|
|
28
|
+
const response = await fetch(url);
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
throw new Error(`Failed to fetch content from URL: ${url}`);
|
|
31
|
+
}
|
|
32
|
+
return await response.text();
|
|
33
|
+
};
|
|
34
|
+
export const readHtmlFromFilePath = async (filePath) => {
|
|
35
|
+
return readFileSync(filePath, "utf-8");
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=utilies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilies.js","sourceRoot":"","sources":["../../src/utilies.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAY7C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAG,KAA4B;IAC5D,IAAK,KAAK,YAAY,MAAM,EAAG,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,KAAK,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE;SAChC,IAAI,CAAG,GAAG,CAAC,EAAE;QACZ,IAAK,GAAG,CAAC,EAAE,EAAG,CAAC;YACb,OAAO,GAAG,CAAC,WAAW,EAAI,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAG,iCAAiC,CAAE,CAAA;YACnD,OAAO,CAAC,IAAI,CAAG,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC,CAAE;SACF,IAAI,CAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAG,KAAK,CAAE,CAAE;SACvC,KAAK,CAAG,GAAI,EAAE;QACb,IAAK,UAAU,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE,EAAG,CAAC;YACxC,OAAO,YAAY,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAG,WAAW,KAAK,CAAC,QAAQ,EAAI,aAAa,CAAE,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAG,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC,CAAE,CAAA;AACP,CAAC;AASD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAG,GAAW,EAAG,EAAE;IACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAG,GAAG,CAAE,CAAA;IACpC,IAAK,CAAC,QAAQ,CAAC,EAAE,EAAG,CAAC;QACnB,MAAM,IAAI,KAAK,CAAG,qCAAqC,GAAG,EAAE,CAAE,CAAA;IAChE,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAI,CAAA;AAChC,CAAC,CAAA;AASD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAG,QAAgB,EAAG,EAAE;IAC/D,OAAO,YAAY,CAAG,QAAQ,EAAE,OAAO,CAAE,CAAA;AAC3C,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iqx-limited/quick-pdf",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"author": "IQX",
|
|
5
5
|
"description": "Converting PDFs to images (📃 to 📸)",
|
|
6
6
|
"type": "module",
|
|
@@ -25,9 +25,10 @@
|
|
|
25
25
|
],
|
|
26
26
|
"repository": "https://github.com/IQXLimited/quickpdf",
|
|
27
27
|
"scripts": {
|
|
28
|
-
"build": "npx tsc --build",
|
|
28
|
+
"build": "npx tsc --build && cp install-playwright.js dist/install-playwright.js",
|
|
29
29
|
"lint": "npx --yes eslint",
|
|
30
|
-
"test": "npx --yes tsx test.ts"
|
|
30
|
+
"test": "npx --yes tsx test.ts",
|
|
31
|
+
"postinstall": "node ./install-playwright.js"
|
|
31
32
|
},
|
|
32
33
|
"engines": {
|
|
33
34
|
"node": ">=22.0.0"
|