unpdf 1.3.1 → 1.4.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 +1 -1
- package/dist/index.cjs +4 -1
- package/dist/index.d.cts +45 -1
- package/dist/index.d.mts +45 -1
- package/dist/index.d.ts +45 -1
- package/dist/index.mjs +4 -2
- package/dist/pdfjs.mjs +1 -1
- package/dist/types/src/display/annotation_layer.d.ts +28 -6
- package/dist/types/src/display/annotation_storage.d.ts +2 -0
- package/dist/types/src/display/api.d.ts +13 -7
- package/dist/types/src/display/canvas.d.ts +1 -1
- package/dist/types/src/display/canvas_dependency_tracker.d.ts +36 -20
- package/dist/types/src/display/display_utils.d.ts +22 -0
- package/dist/types/src/display/editor/annotation_editor_layer.d.ts +4 -2
- package/dist/types/src/display/editor/comment.d.ts +20 -5
- package/dist/types/src/display/editor/drawers/freedraw.d.ts +1 -0
- package/dist/types/src/display/editor/drawers/highlight.d.ts +2 -1
- package/dist/types/src/display/editor/editor.d.ts +67 -15
- package/dist/types/src/display/editor/freetext.d.ts +1 -1
- package/dist/types/src/display/editor/highlight.d.ts +3 -1
- package/dist/types/src/display/editor/ink.d.ts +2 -1
- package/dist/types/src/display/editor/signature.d.ts +0 -5
- package/dist/types/src/display/editor/toolbar.d.ts +3 -1
- package/dist/types/src/display/editor/tools.d.ts +21 -3
- package/dist/types/src/display/font_loader.d.ts +27 -1
- package/dist/types/src/display/pattern_helper.d.ts +2 -2
- package/dist/types/src/pdf.d.ts +5 -1
- package/dist/types/src/shared/obj-bin-transform.d.ts +64 -0
- package/dist/types/web/annotation_layer_builder.d.ts +6 -14
- package/dist/types/web/base_pdf_page_view.d.ts +1 -1
- package/dist/types/web/comment_manager.d.ts +20 -0
- package/dist/types/web/pdf_link_service.d.ts +2 -1
- package/dist/types/web/pdf_page_view.d.ts +7 -2
- package/dist/types/web/pdf_viewer.d.ts +10 -1
- package/package.json +15 -15
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ This library is also intended as a modern alternative to the unmaintained but st
|
|
|
18
18
|
## PDF.js Compatibility
|
|
19
19
|
|
|
20
20
|
> [!Tip]
|
|
21
|
-
> The serverless PDF.js bundle provided by `unpdf` is built from PDF.js v5.4.
|
|
21
|
+
> The serverless PDF.js bundle provided by `unpdf` is built from PDF.js v5.4.296.
|
|
22
22
|
|
|
23
23
|
You can use an [official PDF.js build](#official-or-legacy-pdfjs-build) by using the [`definePDFJSModule`](#definepdfjsmodule) method. This is useful if you want to use a specific version or a custom build of PDF.js.
|
|
24
24
|
|
package/dist/index.cjs
CHANGED
|
@@ -145,7 +145,9 @@ async function extractImages$1(data, pageNumber) {
|
|
|
145
145
|
continue;
|
|
146
146
|
}
|
|
147
147
|
const imageKey = operatorList.argsArray[i][0];
|
|
148
|
-
const image =
|
|
148
|
+
const image = await new Promise(
|
|
149
|
+
(resolve) => (imageKey.startsWith("g_") ? page.commonObjs : page.objs).get(imageKey, resolve)
|
|
150
|
+
);
|
|
149
151
|
if (!image || !image.data || !image.width || !image.height) {
|
|
150
152
|
continue;
|
|
151
153
|
}
|
|
@@ -326,6 +328,7 @@ const extractLinks = async (...args) => {
|
|
|
326
328
|
};
|
|
327
329
|
|
|
328
330
|
exports.configureUnPDF = configureUnPDF;
|
|
331
|
+
exports.createIsomorphicCanvasFactory = createIsomorphicCanvasFactory;
|
|
329
332
|
exports.definePDFJSModule = definePDFJSModule;
|
|
330
333
|
exports.extractImages = extractImages;
|
|
331
334
|
exports.extractLinks = extractLinks;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,51 @@
|
|
|
1
1
|
import * as _napi_rs_canvas from '@napi-rs/canvas';
|
|
2
|
+
import { Canvas, CanvasRenderingContext2D } from '@napi-rs/canvas';
|
|
2
3
|
import { DocumentInitParameters, PDFDocumentProxy } from './types/src/display/api';
|
|
3
4
|
import * as pdfjs_dist_types_src_display_metadata from './types/src/display/metadata';
|
|
4
5
|
import * as PDFJS from './types/src/pdf';
|
|
5
6
|
|
|
7
|
+
interface CanvasFactoryContext {
|
|
8
|
+
canvas?: HTMLCanvasElement | Canvas;
|
|
9
|
+
context?: CanvasRenderingContext2D | CanvasRenderingContext2D;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Derived from the PDF.js project by the Mozilla Foundation.
|
|
13
|
+
* @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
|
|
14
|
+
* @license Apache-2.0
|
|
15
|
+
*/
|
|
16
|
+
declare class BaseCanvasFactory {
|
|
17
|
+
#private;
|
|
18
|
+
constructor({ enableHWA }?: {
|
|
19
|
+
enableHWA?: boolean | undefined;
|
|
20
|
+
});
|
|
21
|
+
create(width: number, height: number): {
|
|
22
|
+
canvas: Canvas | HTMLCanvasElement;
|
|
23
|
+
context: _napi_rs_canvas.SKRSContext2D | globalThis.CanvasRenderingContext2D | null;
|
|
24
|
+
};
|
|
25
|
+
reset({ canvas }: CanvasFactoryContext, width: number, height: number): void;
|
|
26
|
+
destroy(context: CanvasFactoryContext): void;
|
|
27
|
+
_createCanvas(width: number, height: number): HTMLCanvasElement | Canvas;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Derived from the PDF.js project by the Mozilla Foundation.
|
|
31
|
+
* @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
|
|
32
|
+
* @license Apache-2.0
|
|
33
|
+
*/
|
|
34
|
+
declare class DOMCanvasFactory extends BaseCanvasFactory {
|
|
35
|
+
_document: Document;
|
|
36
|
+
constructor({ ownerDocument, enableHWA }?: {
|
|
37
|
+
ownerDocument?: Document | undefined;
|
|
38
|
+
enableHWA?: boolean | undefined;
|
|
39
|
+
});
|
|
40
|
+
_createCanvas(width: number, height: number): HTMLCanvasElement;
|
|
41
|
+
}
|
|
42
|
+
declare class NodeCanvasFactory extends BaseCanvasFactory {
|
|
43
|
+
constructor({ enableHWA }?: {
|
|
44
|
+
enableHWA?: boolean | undefined;
|
|
45
|
+
});
|
|
46
|
+
_createCanvas(width: number, height: number): Canvas;
|
|
47
|
+
}
|
|
48
|
+
|
|
6
49
|
interface ExtractedImageObject {
|
|
7
50
|
data: Uint8ClampedArray;
|
|
8
51
|
width: number;
|
|
@@ -43,6 +86,7 @@ declare function renderPageAsImage$1(data: DocumentInitParameters['data'] | PDFD
|
|
|
43
86
|
height?: number;
|
|
44
87
|
toDataURL: true;
|
|
45
88
|
}): Promise<string>;
|
|
89
|
+
declare function createIsomorphicCanvasFactory(canvasImport?: () => Promise<typeof _napi_rs_canvas>): Promise<typeof DOMCanvasFactory | typeof NodeCanvasFactory>;
|
|
46
90
|
|
|
47
91
|
declare function extractLinks$1(data: DocumentInitParameters['data'] | PDFDocumentProxy): Promise<{
|
|
48
92
|
totalPages: number;
|
|
@@ -105,4 +149,4 @@ declare const extractImages: typeof extractImages$1;
|
|
|
105
149
|
declare const renderPageAsImage: typeof renderPageAsImage$1;
|
|
106
150
|
declare const extractLinks: typeof extractLinks$1;
|
|
107
151
|
|
|
108
|
-
export { configureUnPDF, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
|
152
|
+
export { configureUnPDF, createIsomorphicCanvasFactory, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,51 @@
|
|
|
1
1
|
import * as _napi_rs_canvas from '@napi-rs/canvas';
|
|
2
|
+
import { Canvas, CanvasRenderingContext2D } from '@napi-rs/canvas';
|
|
2
3
|
import { DocumentInitParameters, PDFDocumentProxy } from './types/src/display/api';
|
|
3
4
|
import * as pdfjs_dist_types_src_display_metadata from './types/src/display/metadata';
|
|
4
5
|
import * as PDFJS from './types/src/pdf';
|
|
5
6
|
|
|
7
|
+
interface CanvasFactoryContext {
|
|
8
|
+
canvas?: HTMLCanvasElement | Canvas;
|
|
9
|
+
context?: CanvasRenderingContext2D | CanvasRenderingContext2D;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Derived from the PDF.js project by the Mozilla Foundation.
|
|
13
|
+
* @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
|
|
14
|
+
* @license Apache-2.0
|
|
15
|
+
*/
|
|
16
|
+
declare class BaseCanvasFactory {
|
|
17
|
+
#private;
|
|
18
|
+
constructor({ enableHWA }?: {
|
|
19
|
+
enableHWA?: boolean | undefined;
|
|
20
|
+
});
|
|
21
|
+
create(width: number, height: number): {
|
|
22
|
+
canvas: Canvas | HTMLCanvasElement;
|
|
23
|
+
context: _napi_rs_canvas.SKRSContext2D | globalThis.CanvasRenderingContext2D | null;
|
|
24
|
+
};
|
|
25
|
+
reset({ canvas }: CanvasFactoryContext, width: number, height: number): void;
|
|
26
|
+
destroy(context: CanvasFactoryContext): void;
|
|
27
|
+
_createCanvas(width: number, height: number): HTMLCanvasElement | Canvas;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Derived from the PDF.js project by the Mozilla Foundation.
|
|
31
|
+
* @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
|
|
32
|
+
* @license Apache-2.0
|
|
33
|
+
*/
|
|
34
|
+
declare class DOMCanvasFactory extends BaseCanvasFactory {
|
|
35
|
+
_document: Document;
|
|
36
|
+
constructor({ ownerDocument, enableHWA }?: {
|
|
37
|
+
ownerDocument?: Document | undefined;
|
|
38
|
+
enableHWA?: boolean | undefined;
|
|
39
|
+
});
|
|
40
|
+
_createCanvas(width: number, height: number): HTMLCanvasElement;
|
|
41
|
+
}
|
|
42
|
+
declare class NodeCanvasFactory extends BaseCanvasFactory {
|
|
43
|
+
constructor({ enableHWA }?: {
|
|
44
|
+
enableHWA?: boolean | undefined;
|
|
45
|
+
});
|
|
46
|
+
_createCanvas(width: number, height: number): Canvas;
|
|
47
|
+
}
|
|
48
|
+
|
|
6
49
|
interface ExtractedImageObject {
|
|
7
50
|
data: Uint8ClampedArray;
|
|
8
51
|
width: number;
|
|
@@ -43,6 +86,7 @@ declare function renderPageAsImage$1(data: DocumentInitParameters['data'] | PDFD
|
|
|
43
86
|
height?: number;
|
|
44
87
|
toDataURL: true;
|
|
45
88
|
}): Promise<string>;
|
|
89
|
+
declare function createIsomorphicCanvasFactory(canvasImport?: () => Promise<typeof _napi_rs_canvas>): Promise<typeof DOMCanvasFactory | typeof NodeCanvasFactory>;
|
|
46
90
|
|
|
47
91
|
declare function extractLinks$1(data: DocumentInitParameters['data'] | PDFDocumentProxy): Promise<{
|
|
48
92
|
totalPages: number;
|
|
@@ -105,4 +149,4 @@ declare const extractImages: typeof extractImages$1;
|
|
|
105
149
|
declare const renderPageAsImage: typeof renderPageAsImage$1;
|
|
106
150
|
declare const extractLinks: typeof extractLinks$1;
|
|
107
151
|
|
|
108
|
-
export { configureUnPDF, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
|
152
|
+
export { configureUnPDF, createIsomorphicCanvasFactory, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,51 @@
|
|
|
1
1
|
import * as _napi_rs_canvas from '@napi-rs/canvas';
|
|
2
|
+
import { Canvas, CanvasRenderingContext2D } from '@napi-rs/canvas';
|
|
2
3
|
import { DocumentInitParameters, PDFDocumentProxy } from './types/src/display/api';
|
|
3
4
|
import * as pdfjs_dist_types_src_display_metadata from './types/src/display/metadata';
|
|
4
5
|
import * as PDFJS from './types/src/pdf';
|
|
5
6
|
|
|
7
|
+
interface CanvasFactoryContext {
|
|
8
|
+
canvas?: HTMLCanvasElement | Canvas;
|
|
9
|
+
context?: CanvasRenderingContext2D | CanvasRenderingContext2D;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Derived from the PDF.js project by the Mozilla Foundation.
|
|
13
|
+
* @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
|
|
14
|
+
* @license Apache-2.0
|
|
15
|
+
*/
|
|
16
|
+
declare class BaseCanvasFactory {
|
|
17
|
+
#private;
|
|
18
|
+
constructor({ enableHWA }?: {
|
|
19
|
+
enableHWA?: boolean | undefined;
|
|
20
|
+
});
|
|
21
|
+
create(width: number, height: number): {
|
|
22
|
+
canvas: Canvas | HTMLCanvasElement;
|
|
23
|
+
context: _napi_rs_canvas.SKRSContext2D | globalThis.CanvasRenderingContext2D | null;
|
|
24
|
+
};
|
|
25
|
+
reset({ canvas }: CanvasFactoryContext, width: number, height: number): void;
|
|
26
|
+
destroy(context: CanvasFactoryContext): void;
|
|
27
|
+
_createCanvas(width: number, height: number): HTMLCanvasElement | Canvas;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Derived from the PDF.js project by the Mozilla Foundation.
|
|
31
|
+
* @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
|
|
32
|
+
* @license Apache-2.0
|
|
33
|
+
*/
|
|
34
|
+
declare class DOMCanvasFactory extends BaseCanvasFactory {
|
|
35
|
+
_document: Document;
|
|
36
|
+
constructor({ ownerDocument, enableHWA }?: {
|
|
37
|
+
ownerDocument?: Document | undefined;
|
|
38
|
+
enableHWA?: boolean | undefined;
|
|
39
|
+
});
|
|
40
|
+
_createCanvas(width: number, height: number): HTMLCanvasElement;
|
|
41
|
+
}
|
|
42
|
+
declare class NodeCanvasFactory extends BaseCanvasFactory {
|
|
43
|
+
constructor({ enableHWA }?: {
|
|
44
|
+
enableHWA?: boolean | undefined;
|
|
45
|
+
});
|
|
46
|
+
_createCanvas(width: number, height: number): Canvas;
|
|
47
|
+
}
|
|
48
|
+
|
|
6
49
|
interface ExtractedImageObject {
|
|
7
50
|
data: Uint8ClampedArray;
|
|
8
51
|
width: number;
|
|
@@ -43,6 +86,7 @@ declare function renderPageAsImage$1(data: DocumentInitParameters['data'] | PDFD
|
|
|
43
86
|
height?: number;
|
|
44
87
|
toDataURL: true;
|
|
45
88
|
}): Promise<string>;
|
|
89
|
+
declare function createIsomorphicCanvasFactory(canvasImport?: () => Promise<typeof _napi_rs_canvas>): Promise<typeof DOMCanvasFactory | typeof NodeCanvasFactory>;
|
|
46
90
|
|
|
47
91
|
declare function extractLinks$1(data: DocumentInitParameters['data'] | PDFDocumentProxy): Promise<{
|
|
48
92
|
totalPages: number;
|
|
@@ -105,4 +149,4 @@ declare const extractImages: typeof extractImages$1;
|
|
|
105
149
|
declare const renderPageAsImage: typeof renderPageAsImage$1;
|
|
106
150
|
declare const extractLinks: typeof extractLinks$1;
|
|
107
151
|
|
|
108
|
-
export { configureUnPDF, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
|
152
|
+
export { configureUnPDF, createIsomorphicCanvasFactory, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
package/dist/index.mjs
CHANGED
|
@@ -143,7 +143,9 @@ async function extractImages$1(data, pageNumber) {
|
|
|
143
143
|
continue;
|
|
144
144
|
}
|
|
145
145
|
const imageKey = operatorList.argsArray[i][0];
|
|
146
|
-
const image =
|
|
146
|
+
const image = await new Promise(
|
|
147
|
+
(resolve) => (imageKey.startsWith("g_") ? page.commonObjs : page.objs).get(imageKey, resolve)
|
|
148
|
+
);
|
|
147
149
|
if (!image || !image.data || !image.width || !image.height) {
|
|
148
150
|
continue;
|
|
149
151
|
}
|
|
@@ -323,4 +325,4 @@ const extractLinks = async (...args) => {
|
|
|
323
325
|
return await extractLinks$1(...args);
|
|
324
326
|
};
|
|
325
327
|
|
|
326
|
-
export { configureUnPDF, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|
|
328
|
+
export { configureUnPDF, createIsomorphicCanvasFactory, definePDFJSModule, extractImages, extractLinks, extractText, getDocumentProxy, getMeta, getResolvedPDFJS, renderPageAsImage, resolvePDFJSImport };
|