afpp 1.7.0 → 1.8.0-beta.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 CHANGED
@@ -1,6 +1,7 @@
1
1
  # afpp
2
2
 
3
3
  ![Version](https://img.shields.io/github/v/release/l2ysho/afpp)
4
+ ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/l2ysho/afpp/release.yml)
4
5
  [![codecov](https://codecov.io/github/l2ysho/afpp/graph/badge.svg?token=2PE32I4M9K)](https://codecov.io/github/l2ysho/afpp)
5
6
  ![Node](https://img.shields.io/badge/node-%3E%3D%2018.x-brightgreen.svg)
6
7
  ![npm Downloads](https://img.shields.io/npm/dt/afpp.svg)
@@ -1,5 +1,5 @@
1
1
  export type ParsePdfCallback<T> = (content: Buffer | string, pageNumber: number, pageCount: number) => Promise<T> | T;
2
- type ParseOptions = {
2
+ interface ParseOptions {
3
3
  /**
4
4
  * Password for encrypted pdf files.
5
5
  */
@@ -8,7 +8,7 @@ type ParseOptions = {
8
8
  * Scale of a page if content is not text.
9
9
  */
10
10
  scale: number;
11
- };
11
+ }
12
12
  /**
13
13
  * Converts a PDF file from various input formats (Buffer, Uint8Array, string path, or URL). Pages are returned in mixed array of strings (text content) and buffers (image content) with in callback function.
14
14
  *
@@ -26,5 +26,5 @@ type ParseOptions = {
26
26
  *
27
27
  * @throws {Error} Throws an error if the input type is invalid.
28
28
  */
29
- export declare const parsePdf: <T>(input: Buffer | URL | Uint8Array | string, options: ParseOptions, callback: ParsePdfCallback<T>) => Promise<T[]>;
29
+ export declare const parsePdf: <T>(input: Buffer | string | Uint8Array | URL, options: ParseOptions, callback: ParsePdfCallback<T>) => Promise<T[]>;
30
30
  export {};
package/dist/parsePdf.js CHANGED
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.parsePdf = void 0;
4
- /* eslint-disable no-underscore-dangle */
5
7
  const promises_1 = require("node:fs/promises");
6
8
  const canvas_1 = require("@napi-rs/canvas");
9
+ const p_limit_1 = __importDefault(require("p-limit"));
10
+ const promiseLimit = (0, p_limit_1.default)(1);
7
11
  const parsePdfFileBuffer = async (options, callback) => import('pdfjs-dist/legacy/build/pdf.mjs').then(async (pdfjsLib) => {
8
12
  const loadingTask = pdfjsLib.getDocument({
9
13
  ...options,
@@ -12,9 +16,10 @@ const parsePdfFileBuffer = async (options, callback) => import('pdfjs-dist/legac
12
16
  const pdfDocument = await loadingTask.promise;
13
17
  const { numPages } = pdfDocument;
14
18
  const pageContents = Array.from({ length: numPages }, () => null);
19
+ // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
15
20
  const pagePromises = [];
16
21
  for (let pageNum = 1; pageNum <= numPages; pageNum += 1) {
17
- pagePromises.push(pdfDocument.getPage(pageNum).then(async (page) => {
22
+ pagePromises.push(promiseLimit(() => pdfDocument.getPage(pageNum).then(async (page) => {
18
23
  const textContent = await page.getTextContent({
19
24
  includeMarkedContent: false,
20
25
  });
@@ -25,13 +30,17 @@ const parsePdfFileBuffer = async (options, callback) => import('pdfjs-dist/legac
25
30
  const context = canvas.getContext('2d');
26
31
  await page.render({ canvasContext: context, viewport }).promise;
27
32
  const imageBuffer = await canvas.encode('png');
33
+ // eslint-disable-next-line promise/no-callback-in-promise
28
34
  pageContents[pageNum - 1] = await callback(imageBuffer, pageNum, numPages);
35
+ return page;
29
36
  }
30
37
  else {
31
38
  const pageText = items.map((item) => item.str || '').join(' ');
39
+ // eslint-disable-next-line promise/no-callback-in-promise
32
40
  pageContents[pageNum - 1] = await callback(pageText, pageNum, numPages);
41
+ return page;
33
42
  }
34
- }));
43
+ })));
35
44
  }
36
45
  await Promise.all(pagePromises);
37
46
  return pageContents;
@@ -1 +1 @@
1
- {"version":3,"file":"parsePdf.js","sourceRoot":"","sources":["../src/parsePdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsePdf.js","sourceRoot":"","sources":["../src/parsePdf.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- type ParseOptions = {
1
+ interface ParseOptions {
2
2
  password?: string;
3
- };
3
+ }
4
4
  /**
5
5
  * Converts a PDF file from various input formats (Buffer, Uint8Array, string path, or URL) to an array of image buffers.
6
6
  *
@@ -17,5 +17,5 @@ type ParseOptions = {
17
17
  *
18
18
  * @throws {Error} Throws an error if the input type is invalid.
19
19
  */
20
- export declare const pdf2image: (input: Buffer | URL | Uint8Array | string, options?: ParseOptions) => Promise<Buffer[]>;
20
+ export declare const pdf2image: (input: Buffer | string | Uint8Array | URL, options?: ParseOptions) => Promise<Buffer<ArrayBufferLike>[]>;
21
21
  export {};
package/dist/pdf2image.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pdf2image = void 0;
4
- /* eslint-disable no-underscore-dangle */
5
4
  const promises_1 = require("node:fs/promises");
6
5
  const canvas_1 = require("@napi-rs/canvas");
7
6
  const parsePdfFileBuffer = async (options) => import('pdfjs-dist/legacy/build/pdf.mjs').then(async (pdfjsLib) => {
@@ -12,6 +11,7 @@ const parsePdfFileBuffer = async (options) => import('pdfjs-dist/legacy/build/pd
12
11
  const pdfDocument = await loadingTask.promise;
13
12
  const { numPages } = pdfDocument;
14
13
  const pageContents = new Array(numPages).fill(Buffer.from(''));
14
+ // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
15
15
  const pagePromises = [];
16
16
  for (let pageNum = 1; pageNum <= numPages; pageNum += 1) {
17
17
  pagePromises.push(pdfDocument.getPage(pageNum).then(async (page) => {
@@ -21,6 +21,7 @@ const parsePdfFileBuffer = async (options) => import('pdfjs-dist/legacy/build/pd
21
21
  await page.render({ canvasContext: context, viewport }).promise;
22
22
  const imageBuffer = await canvas.encode('png');
23
23
  pageContents[pageNum - 1] = imageBuffer;
24
+ return;
24
25
  }));
25
26
  }
26
27
  await Promise.all(pagePromises);
@@ -1 +1 @@
1
- {"version":3,"file":"pdf2image.js","sourceRoot":"","sources":["../src/pdf2image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf2image.js","sourceRoot":"","sources":["../src/pdf2image.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- type ParseOptions = {
1
+ interface ParseOptions {
2
2
  password?: string;
3
- };
3
+ }
4
4
  /**
5
5
  * Converts a PDF file from various input formats (Buffer, Uint8Array, string path, or URL) to a string.
6
6
  *
@@ -17,5 +17,5 @@ type ParseOptions = {
17
17
  *
18
18
  * @throws {Error} Throws an error if the input type is invalid.
19
19
  */
20
- export declare const pdf2string: (input: Buffer | URL | Uint8Array | string, options?: ParseOptions) => Promise<string[]>;
20
+ export declare const pdf2string: (input: Buffer | string | Uint8Array | URL, options?: ParseOptions) => Promise<string[]>;
21
21
  export {};
@@ -10,6 +10,7 @@ const parsePdfFileBuffer = async (options) => import('pdfjs-dist/legacy/build/pd
10
10
  const pdfDocument = await loadingTask.promise;
11
11
  const { numPages } = pdfDocument;
12
12
  const pageContents = new Array(numPages).fill('');
13
+ // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
13
14
  const pagePromises = [];
14
15
  for (let pageNum = 1; pageNum <= numPages; pageNum += 1) {
15
16
  pagePromises.push(pdfDocument.getPage(pageNum).then(async (page) => {
@@ -25,6 +26,7 @@ const parsePdfFileBuffer = async (options) => import('pdfjs-dist/legacy/build/pd
25
26
  const pageText = items.map((item) => item.str || '').join(' ');
26
27
  pageContents[pageNum - 1] = pageText;
27
28
  }
29
+ return;
28
30
  }));
29
31
  }
30
32
  await Promise.all(pagePromises);
@@ -1 +1 @@
1
- {"version":3,"file":"pdf2string.js","sourceRoot":"","sources":["../src/pdf2string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf2string.js","sourceRoot":"","sources":["../src/pdf2string.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afpp",
3
- "version": "1.7.0",
3
+ "version": "1.8.0-beta.1",
4
4
  "description": "another f*cking pdf parser",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -24,6 +24,10 @@
24
24
  "type": "git",
25
25
  "url": "git+ssh://git@github.com/l2ysho/afpp.git"
26
26
  },
27
+ "engines": {
28
+ "node": "v22.14.0",
29
+ "npm": "10.9.2"
30
+ },
27
31
  "keywords": [
28
32
  "pdf",
29
33
  "parse-pdf",
@@ -42,34 +46,31 @@
42
46
  },
43
47
  "homepage": "https://github.com/l2ysho/afpp#readme",
44
48
  "devDependencies": {
45
- "@commitlint/cli": "19.5.0",
46
- "@commitlint/config-conventional": "19.5.0",
47
- "@types/node": "22.5.5",
48
- "@typescript-eslint/eslint-plugin": "7.18.0",
49
- "@typescript-eslint/parser": "7.18.0",
49
+ "@commitlint/cli": "19.8.0",
50
+ "@commitlint/config-conventional": "19.8.0",
51
+ "@types/node": "22.14.0",
50
52
  "@voxpelli/node-test-pretty-reporter": "1.1.2",
51
- "c8": "10.1.2",
52
- "commitizen": "4.3.0",
53
+ "c8": "10.1.3",
54
+ "commitizen": "4.3.1",
53
55
  "cz-conventional-changelog": "3.3.0",
54
- "eslint": "8.56.0",
55
- "eslint-config-airbnb": "19.0.4",
56
- "eslint-config-airbnb-base": "15.0.0",
57
- "eslint-config-airbnb-typescript": "18.0.0",
58
- "eslint-config-prettier": "9.1.0",
59
- "eslint-import-resolver-typescript": "3.6.1",
60
- "eslint-plugin-import": "2.29.1",
61
- "eslint-plugin-no-relative-import-paths": "1.5.5",
62
- "eslint-plugin-perfectionist": "2.11.0",
63
- "eslint-plugin-prettier": "5.2.1",
64
- "husky": "9.1.6",
65
- "lint-staged": "15.2.10",
66
- "semantic-release": "24.1.1",
67
- "tsc-alias": "1.8.10",
68
- "tsx": "4.19.2",
69
- "typescript": "5.7.3"
56
+ "eslint": "9.24.0",
57
+ "eslint-config-prettier": "10.1.1",
58
+ "eslint-plugin-import": "2.31.0",
59
+ "eslint-plugin-perfectionist": "4.11.0",
60
+ "eslint-plugin-prettier": "5.2.6",
61
+ "eslint-plugin-promise": "7.2.1",
62
+ "husky": "9.1.7",
63
+ "lint-staged": "15.5.0",
64
+ "prettier": "3.5.3",
65
+ "semantic-release": "24.2.3",
66
+ "tsc-alias": "1.8.13",
67
+ "tsx": "4.19.3",
68
+ "typescript": "5.8.3",
69
+ "typescript-eslint": "8.29.0"
70
70
  },
71
71
  "dependencies": {
72
- "@napi-rs/canvas": "0.1.68",
72
+ "@napi-rs/canvas": "0.1.69",
73
+ "p-limit": "6.2.0",
73
74
  "pdfjs-dist": "5.1.91"
74
75
  }
75
76
  }