@iqx-limited/quick-pdf 1.1.11 → 1.2.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 +4 -3
- package/dist/modules/pdf2img.js +6 -8
- package/dist/modules/pdf2img.js.map +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
# QuickPDF
|
|
1
|
+
# QuickPDF [](https://github.com/IQXLimited/quickpdf/actions/workflows/publish.yml)
|
|
2
|
+
|
|
2
3
|
Handling PDFs in NodeJS (📃 to 🖼️)
|
|
3
4
|
|
|
4
5
|
This project provides a set of utilities for converting various file formats without the need for additional dependencies. It supports multiple file types and leverages technologies like `Puppeteer` and `PDFKit` for file processing.
|
|
@@ -7,13 +8,13 @@ This project provides a set of utilities for converting various file formats wit
|
|
|
7
8
|
|
|
8
9
|
- **HTML to PDF**: Converts HTML content (from a URL or file path) into a PDF.
|
|
9
10
|
- **Image to PDF**: Converts images (JPEG, PNG) into a PDF, with optional headers and footers.
|
|
10
|
-
- **PDF to Image**: Converts PDF files to image formats (JPEG or PNG) using `
|
|
11
|
+
- **PDF to Image**: Converts PDF files to image formats (JPEG or PNG) using `Puppeteer` and `Firefox`.
|
|
11
12
|
- **Utilities**: Includes helper functions to fetch and read HTML files and read files from local directories.
|
|
12
13
|
|
|
13
14
|
## Requirements
|
|
14
15
|
|
|
15
16
|
- **Node.js**: This project is built with Node.js and uses ES modules. NodeJS > v22 required.
|
|
16
|
-
-
|
|
17
|
+
- Firefox is a dependency of this project, used via Puppeteer. To install browsers via cli run `npx puppeteer browsers install firefox`.
|
|
17
18
|
|
|
18
19
|
# Operations Available in the Package
|
|
19
20
|
|
package/dist/modules/pdf2img.js
CHANGED
|
@@ -13,12 +13,7 @@ const pagePool = await Promise.all(Array.from({ length: pagePoolSize }, async ()
|
|
|
13
13
|
const page = await firefoxBrowser.newPage();
|
|
14
14
|
await page.setRequestInterception(true);
|
|
15
15
|
await page.setDefaultNavigationTimeout(10000);
|
|
16
|
-
page.
|
|
17
|
-
const contentType = response.headers()["content-type"];
|
|
18
|
-
if (!contentType || !contentType.includes("application/pdf")) {
|
|
19
|
-
throw new Error("Input is not a valid PDF file");
|
|
20
|
-
}
|
|
21
|
-
});
|
|
16
|
+
await page.goto("about:blank");
|
|
22
17
|
page.on("request", request => {
|
|
23
18
|
resourceCount++;
|
|
24
19
|
if (resourceCount > RESOURCE_LIMIT) {
|
|
@@ -46,9 +41,11 @@ export const pdf2img = async (input, options = {}) => {
|
|
|
46
41
|
page = await firefoxBrowser.newPage();
|
|
47
42
|
}
|
|
48
43
|
let path = "";
|
|
44
|
+
let address = "";
|
|
49
45
|
let tempFile = false;
|
|
50
46
|
if (Buffer.isBuffer(input)) {
|
|
51
47
|
path = resolve(__dirname, "temp.pdf");
|
|
48
|
+
address = pathToFileURL(path).toString();
|
|
52
49
|
tempFile = true;
|
|
53
50
|
await writeFile(path, input);
|
|
54
51
|
}
|
|
@@ -57,11 +54,12 @@ export const pdf2img = async (input, options = {}) => {
|
|
|
57
54
|
path = input;
|
|
58
55
|
}
|
|
59
56
|
else {
|
|
60
|
-
path =
|
|
57
|
+
path = resolve(input.toString());
|
|
58
|
+
address = pathToFileURL(path).toString();
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
try {
|
|
64
|
-
await page.goto(
|
|
62
|
+
await page.goto(address);
|
|
65
63
|
if (options.password) {
|
|
66
64
|
try {
|
|
67
65
|
await page.waitForSelector('input[type="password"]', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf2img.js","sourceRoot":"","sources":["../../src/modules/pdf2img.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/D,MAAM,UAAU,GAAG,aAAa,CAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,CAAA;AACpD,MAAM,SAAS,GAAG,OAAO,CAAG,UAAU,CAAE,CAAA;AAExC,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,IAAI,aAAa,GAAG,CAAC,CAAA;AAErB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAG,KAAK,CAAC,IAAI,CAAG,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,IAAK,EAAE;IACtF,MAAM,cAAc,EAAI,CAAA;IACxB,IAAK,cAAc,EAAG,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAI,CAAA;QAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAG,IAAI,CAAE,CAAA;QAC1C,MAAM,IAAI,CAAC,2BAA2B,CAAG,KAAK,CAAE,CAAA;QAChD,
|
|
1
|
+
{"version":3,"file":"pdf2img.js","sourceRoot":"","sources":["../../src/modules/pdf2img.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iqx-limited/quick-pdf",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"author": "IQX",
|
|
5
5
|
"description": "Converting PDFs to images (📃 to 📸)",
|
|
6
6
|
"type": "module",
|
|
@@ -36,20 +36,20 @@
|
|
|
36
36
|
"engineStrict": true,
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"file-type": "^19.6.0",
|
|
39
|
-
"html-validate": "^
|
|
40
|
-
"image-size": "^1.
|
|
39
|
+
"html-validate": "^9.1.1",
|
|
40
|
+
"image-size": "^1.2.0",
|
|
41
41
|
"path2d-polyfill": "^3.1.3",
|
|
42
|
-
"pdfkit": "^0.
|
|
43
|
-
"puppeteer": "^23.
|
|
42
|
+
"pdfkit": "^0.16.0",
|
|
43
|
+
"puppeteer": "^23.11.1",
|
|
44
44
|
"semver": "^7.6.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@stylistic/eslint-plugin": "^2.
|
|
48
|
-
"@types/node": "^22.10.
|
|
49
|
-
"@types/pdfkit": "^0.13.
|
|
47
|
+
"@stylistic/eslint-plugin": "^2.12.1",
|
|
48
|
+
"@types/node": "^22.10.5",
|
|
49
|
+
"@types/pdfkit": "^0.13.8",
|
|
50
50
|
"@types/semver": "^7.5.8",
|
|
51
|
-
"eslint": "^9.
|
|
51
|
+
"eslint": "^9.17.0",
|
|
52
52
|
"typescript": "^5.7.2",
|
|
53
|
-
"typescript-eslint": "^8.
|
|
53
|
+
"typescript-eslint": "^8.19.1"
|
|
54
54
|
}
|
|
55
55
|
}
|