unpdf 1.9.0 → 2.0.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/dist/index.d.cts DELETED
@@ -1,192 +0,0 @@
1
- import { DocumentInitParameters, PDFDocumentProxy } from "./types/src/display/api.js";
2
- import { Canvas, SKRSContext2D } from "@napi-rs/canvas";
3
- import * as PDFJS from "./types/src/pdf.js";
4
- //#region src/_internal/canvas.d.ts
5
- interface CanvasFactoryContext {
6
- canvas?: HTMLCanvasElement | Canvas;
7
- context?: CanvasRenderingContext2D | SKRSContext2D | null;
8
- }
9
- /**
10
- * Derived from the PDF.js project by the Mozilla Foundation.
11
- * @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
12
- * @license Apache-2.0
13
- */
14
- declare class BaseCanvasFactory {
15
- #private;
16
- constructor({ enableHWA }?: {
17
- enableHWA?: boolean | undefined;
18
- });
19
- create(width: number, height: number): {
20
- canvas: Canvas | HTMLCanvasElement;
21
- context: SKRSContext2D | CanvasRenderingContext2D | null;
22
- };
23
- reset({ canvas }: CanvasFactoryContext, width: number, height: number): void;
24
- destroy(context: CanvasFactoryContext): void;
25
- _createCanvas(width: number, height: number): HTMLCanvasElement | Canvas;
26
- }
27
- /**
28
- * Derived from the PDF.js project by the Mozilla Foundation.
29
- * @see https://github.com/mozilla/pdf.js/blob/b8de9a372f9bbf7e33adb362eeae5ef1919dba73/src/display/canvas_factory.js#L18
30
- * @license Apache-2.0
31
- */
32
- declare class DOMCanvasFactory extends BaseCanvasFactory {
33
- _document: Document;
34
- constructor({ ownerDocument, enableHWA }?: {
35
- ownerDocument?: Document | undefined;
36
- enableHWA?: boolean | undefined;
37
- });
38
- _createCanvas(width: number, height: number): HTMLCanvasElement;
39
- }
40
- declare class NodeCanvasFactory extends BaseCanvasFactory {
41
- constructor({ enableHWA }?: {
42
- enableHWA?: boolean | undefined;
43
- });
44
- _createCanvas(width: number, height: number): Canvas;
45
- }
46
- //#endregion
47
- //#region src/image.d.ts
48
- interface ExtractedImageObject {
49
- data: Uint8ClampedArray;
50
- width: number;
51
- height: number;
52
- channels: 1 | 3 | 4;
53
- key: string;
54
- }
55
- /**
56
- * Extracts images from a specific page of a PDF document, including necessary metadata,
57
- * such as width, height, and calculated color channels.
58
- *
59
- * @example
60
- * const imagesData = await extractImages(pdf, pageNum)
61
- *
62
- * for (const imgData of imagesData) {
63
- * const imageIndex = totalImagesProcessed + 1
64
- * await sharp(imgData.data, {
65
- * raw: { width: imgData.width, height: imgData.height, channels: imgData.channels }
66
- * })
67
- * .png()
68
- * .toFile(`${imageIndex}.png`)
69
- * }
70
- */
71
- declare function extractImages$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, pageNumber: number): Promise<ExtractedImageObject[]>;
72
- declare function renderPageAsImage$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, pageNumber: number, options?: {
73
- canvasImport?: () => Promise<typeof import('@napi-rs/canvas')>;
74
- /** @default 1.0 */
75
- scale?: number;
76
- width?: number;
77
- height?: number;
78
- toDataURL?: false;
79
- }): Promise<ArrayBuffer>;
80
- declare function renderPageAsImage$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, pageNumber: number, options: {
81
- canvasImport?: () => Promise<typeof import('@napi-rs/canvas')>;
82
- /** @default 1.0 */
83
- scale?: number;
84
- width?: number;
85
- height?: number;
86
- toDataURL: true;
87
- }): Promise<string>;
88
- export declare function createIsomorphicCanvasFactory(canvasImport?: () => Promise<typeof import('@napi-rs/canvas')>): Promise<typeof DOMCanvasFactory | typeof NodeCanvasFactory>;
89
- //#endregion
90
- //#region src/links.d.ts
91
- declare function extractLinks$1(data: DocumentInitParameters['data'] | PDFDocumentProxy): Promise<{
92
- totalPages: number;
93
- links: string[];
94
- }>;
95
- //#endregion
96
- //#region src/meta.d.ts
97
- declare function getMeta$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, options?: {
98
- parseDates?: boolean;
99
- }): Promise<{
100
- info: Record<string, any>;
101
- metadata: import("./types/src/display/metadata.js").Metadata;
102
- }>;
103
- //#endregion
104
- //#region src/text.d.ts
105
- interface StructuredTextItem {
106
- /** Text content. */
107
- str: string;
108
- /** X position in PDF coordinate space (origin: bottom-left). */
109
- x: number;
110
- /** Y position in PDF coordinate space (origin: bottom-left). */
111
- y: number;
112
- /** Width in device space. */
113
- width: number;
114
- /** Height in device space. */
115
- height: number;
116
- /** Font size derived from the transformation matrix. */
117
- fontSize: number;
118
- /** Font family resolved from the page's style table, empty when unknown. */
119
- fontFamily: string;
120
- /** Text direction: `"ltr"`, `"rtl"`, or `"ttb"`. */
121
- dir: string;
122
- /** Whether the text item is followed by a line break. */
123
- hasEOL: boolean;
124
- }
125
- declare function extractTextItems$1(data: DocumentInitParameters['data'] | PDFDocumentProxy): Promise<{
126
- totalPages: number;
127
- items: StructuredTextItem[][];
128
- }>;
129
- declare function extractText$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, options?: {
130
- mergePages?: false;
131
- }): Promise<{
132
- totalPages: number;
133
- text: string[];
134
- }>;
135
- declare function extractText$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, options: {
136
- mergePages: true;
137
- }): Promise<{
138
- totalPages: number;
139
- text: string;
140
- }>;
141
- declare function extractText$1(data: DocumentInitParameters['data'] | PDFDocumentProxy, options?: {
142
- mergePages?: boolean;
143
- }): Promise<{
144
- totalPages: number;
145
- text: string | string[];
146
- }>;
147
- //#endregion
148
- //#region src/config.d.ts
149
- /**
150
- * By default, unpdf will use the latest version of PDF.js compiled for
151
- * serverless environments. If you want to use a different version, you can
152
- * provide a custom resolver function.
153
- *
154
- * @example
155
- * // Use the official PDF.js build (make sure to install it first)
156
- * import { definePDFJSModule } from 'unpdf'
157
- *
158
- * await definePDFJSModule(() => import('pdfjs-dist'))
159
- */
160
- export declare function definePDFJSModule(pdfjs: () => Promise<any>): Promise<void>;
161
- /** @deprecated Use `definePDFJSModule` instead. Will be removed in v2. */
162
- export declare function configureUnPDF(options: {
163
- pdfjs?: () => Promise<any>;
164
- }): Promise<void>;
165
- //#endregion
166
- //#region src/utils.d.ts
167
- /**
168
- * Returns a `PDFDocumentProxy` instance from a given binary data.
169
- *
170
- * Applies the following defaults:
171
- * - `useSystemFonts: true`
172
- *
173
- * In Node.js environments, additionally applies:
174
- * - `disableFontFace: true`
175
- * - `standardFontDataUrl` resolved from the local `pdfjs-dist` package
176
- * - `cMapUrl` and `cMapPacked` resolved from the local `pdfjs-dist` package
177
- */
178
- export declare function getDocumentProxy(data: DocumentInitParameters['data'], options?: DocumentInitParameters): Promise<PDFDocumentProxy>;
179
- export declare function getResolvedPDFJS(): Promise<typeof PDFJS>;
180
- export declare function resolvePDFJSImport(pdfjsResolver?: () => Promise<any>, { reload }?: {
181
- reload?: boolean | undefined;
182
- }): Promise<void>;
183
- //#endregion
184
- //#region src/index.d.ts
185
- export declare const getMeta: typeof getMeta$1;
186
- export declare const extractText: typeof extractText$1;
187
- export declare const extractTextItems: typeof extractTextItems$1;
188
- export declare const extractImages: typeof extractImages$1;
189
- export declare const renderPageAsImage: typeof renderPageAsImage$1;
190
- export declare const extractLinks: typeof extractLinks$1;
191
- //#endregion
192
- export type { StructuredTextItem };
package/dist/pdfjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './types/src/pdf.js'