@embedpdf/engines 2.0.0-next.2 → 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.
Files changed (82) hide show
  1. package/README.md +15 -9
  2. package/dist/browser-C6QEa8uk.cjs +2 -0
  3. package/dist/browser-C6QEa8uk.cjs.map +1 -0
  4. package/dist/browser-awZxztMA.js +76 -0
  5. package/dist/browser-awZxztMA.js.map +1 -0
  6. package/dist/{engine-B-RaFU77.js → direct-engine-DuLFAbiv.js} +211 -520
  7. package/dist/direct-engine-DuLFAbiv.js.map +1 -0
  8. package/dist/direct-engine-JeNRkc7w.cjs +2 -0
  9. package/dist/direct-engine-JeNRkc7w.cjs.map +1 -0
  10. package/dist/index.cjs +1 -1
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.js +301 -10
  13. package/dist/index.js.map +1 -1
  14. package/dist/lib/converters/browser.d.ts +33 -0
  15. package/dist/lib/converters/index.cjs +1 -1
  16. package/dist/lib/converters/index.cjs.map +1 -1
  17. package/dist/lib/converters/index.d.ts +3 -51
  18. package/dist/lib/converters/index.js +6 -1
  19. package/dist/lib/converters/index.js.map +1 -1
  20. package/dist/lib/converters/node.d.ts +51 -0
  21. package/dist/lib/converters/types.d.ts +6 -3
  22. package/dist/lib/image-encoder/image-encoder-worker.d.ts +24 -0
  23. package/dist/lib/image-encoder/index.d.ts +2 -0
  24. package/dist/lib/image-encoder/worker-pool.d.ts +61 -0
  25. package/dist/lib/orchestrator/index.d.ts +16 -0
  26. package/dist/lib/orchestrator/pdf-engine.d.ts +99 -0
  27. package/dist/lib/orchestrator/pdfium-native-runner.d.ts +65 -0
  28. package/dist/lib/orchestrator/remote-executor.d.ts +93 -0
  29. package/dist/lib/orchestrator/task-queue.d.ts +87 -0
  30. package/dist/lib/pdfium/engine.d.ts +52 -93
  31. package/dist/lib/pdfium/index.cjs +1 -1
  32. package/dist/lib/pdfium/index.cjs.map +1 -1
  33. package/dist/lib/pdfium/index.d.ts +6 -1
  34. package/dist/lib/pdfium/index.js +15 -8
  35. package/dist/lib/pdfium/index.js.map +1 -1
  36. package/dist/lib/pdfium/runner.d.ts +2 -2
  37. package/dist/lib/pdfium/web/direct-engine.cjs +1 -1
  38. package/dist/lib/pdfium/web/direct-engine.cjs.map +1 -1
  39. package/dist/lib/pdfium/web/direct-engine.d.ts +33 -2
  40. package/dist/lib/pdfium/web/direct-engine.js +5 -9
  41. package/dist/lib/pdfium/web/direct-engine.js.map +1 -1
  42. package/dist/lib/pdfium/web/worker-engine.cjs +1 -1
  43. package/dist/lib/pdfium/web/worker-engine.cjs.map +1 -1
  44. package/dist/lib/pdfium/web/worker-engine.d.ts +40 -4
  45. package/dist/lib/pdfium/web/worker-engine.js +412 -9
  46. package/dist/lib/pdfium/web/worker-engine.js.map +1 -1
  47. package/dist/lib/webworker/engine.cjs +1 -1
  48. package/dist/lib/webworker/engine.cjs.map +1 -1
  49. package/dist/lib/webworker/engine.d.ts +0 -6
  50. package/dist/lib/webworker/engine.js +0 -13
  51. package/dist/lib/webworker/engine.js.map +1 -1
  52. package/dist/lib/webworker/runner.d.ts +0 -12
  53. package/dist/pdf-engine-BVNF_Yo9.js +790 -0
  54. package/dist/pdf-engine-BVNF_Yo9.js.map +1 -0
  55. package/dist/pdf-engine-C3JeKij1.cjs +2 -0
  56. package/dist/pdf-engine-C3JeKij1.cjs.map +1 -0
  57. package/dist/preact/index.cjs +1 -1
  58. package/dist/preact/index.cjs.map +1 -1
  59. package/dist/preact/index.js +5 -13
  60. package/dist/preact/index.js.map +1 -1
  61. package/dist/react/index.cjs +1 -1
  62. package/dist/react/index.cjs.map +1 -1
  63. package/dist/react/index.js +5 -13
  64. package/dist/react/index.js.map +1 -1
  65. package/dist/shared-preact/hooks/use-pdfium-engine.d.ts +1 -0
  66. package/dist/shared-react/hooks/use-pdfium-engine.d.ts +1 -0
  67. package/dist/svelte/index.cjs +1 -1
  68. package/dist/svelte/index.cjs.map +1 -1
  69. package/dist/svelte/index.js +3 -11
  70. package/dist/svelte/index.js.map +1 -1
  71. package/dist/vue/index.cjs +1 -1
  72. package/dist/vue/index.cjs.map +1 -1
  73. package/dist/vue/index.js +3 -12
  74. package/dist/vue/index.js.map +1 -1
  75. package/package.json +3 -3
  76. package/dist/engine-B-RaFU77.js.map +0 -1
  77. package/dist/engine-CXnLqg_9.cjs +0 -2
  78. package/dist/engine-CXnLqg_9.cjs.map +0 -1
  79. package/dist/index-Cp8_nZYM.js +0 -342
  80. package/dist/index-Cp8_nZYM.js.map +0 -1
  81. package/dist/index-DuHK0qLu.cjs +0 -2
  82. package/dist/index-DuHK0qLu.cjs.map +0 -1
@@ -1,6 +1,5 @@
1
- import { PdfAnnotationObject, PdfTextRectObject, PdfWidgetAnnoObject, Logger, SearchTarget, PdfBookmarkObject, PdfDocumentObject, PdfEngine, PdfPageObject, Rect, PdfAttachmentObject, PdfSignatureObject, PdfStampAnnoObject, PdfCircleAnnoObject, PdfSquareAnnoObject, PdfSquigglyAnnoObject, PdfStrikeOutAnnoObject, PdfUnderlineAnnoObject, PdfFile, PdfHighlightAnnoObject, FormFieldValue, PdfPageFlattenResult, PdfTask, PdfFileLoader, SearchAllPagesResult, PdfOpenDocumentUrlOptions, PdfOpenDocumentBufferOptions, PdfFileUrl, Task, PdfErrorReason, PdfGlyphObject, PdfPageGeometry, PageTextSlice, AnnotationCreateContext, PdfPageSearchProgress, PdfSearchAllPagesOptions, PdfRenderPageAnnotationOptions, PdfRedactTextOptions, PdfFlattenPageOptions, PdfRenderThumbnailOptions, PdfRenderPageOptions, PdfAnnotationsProgress, PdfMetadataObject, PdfPrintOptions, PdfAddAttachmentParams } from '@embedpdf/models';
1
+ import { BatchProgress, ImageDataLike, IPdfiumExecutor, PdfAnnotationObject, PdfTextRectObject, PdfWidgetAnnoObject, Logger, SearchResult, PdfBookmarkObject, PdfDocumentObject, PdfPageObject, Rect, PdfAttachmentObject, PdfSignatureObject, PdfStampAnnoObject, PdfCircleAnnoObject, PdfSquareAnnoObject, PdfSquigglyAnnoObject, PdfStrikeOutAnnoObject, PdfUnderlineAnnoObject, PdfFile, PdfHighlightAnnoObject, FormFieldValue, PdfPageFlattenResult, PdfTask, PdfOpenDocumentBufferOptions, Task, PdfErrorReason, PdfGlyphObject, PdfPageGeometry, PageTextSlice, AnnotationCreateContext, PdfRenderPageAnnotationOptions, PdfRedactTextOptions, PdfFlattenPageOptions, PdfRenderThumbnailOptions, PdfRenderPageOptions, PdfMetadataObject, PdfPrintOptions, PdfAddAttachmentParams } from '@embedpdf/models';
2
2
  import { WrappedPdfiumModule } from '@embedpdf/pdfium';
3
- import { ImageDataConverter } from '../converters/types';
4
3
  /**
5
4
  * Format of bitmap
6
5
  */
@@ -25,23 +24,6 @@ export declare enum RenderFlag {
25
24
  PRINTING = 2048,// Render for printing.
26
25
  REVERSE_BYTE_ORDER = 16
27
26
  }
28
- /**
29
- * Context used for searching
30
- */
31
- export interface SearchContext {
32
- /**
33
- * search target
34
- */
35
- target: SearchTarget;
36
- /**
37
- * current page index
38
- */
39
- currPageIndex: number;
40
- /**
41
- * index of text in the current pdf page, -1 means reach the end
42
- */
43
- startIndex: number;
44
- }
45
27
  /**
46
28
  * Error code of pdfium library
47
29
  */
@@ -56,18 +38,13 @@ export declare enum PdfiumErrorCode {
56
38
  XFALoad = 7,
57
39
  XFALayout = 8
58
40
  }
59
- interface PdfiumEngineOptions<T> {
41
+ interface PdfiumEngineOptions {
60
42
  logger?: Logger;
61
- imageDataConverter?: ImageDataConverter<T>;
62
- }
63
- export declare class OffscreenCanvasError extends Error {
64
- constructor(message: string);
65
43
  }
66
- export declare const browserImageDataToBlobConverter: ImageDataConverter<Blob>;
67
44
  /**
68
45
  * Pdf engine that based on pdfium wasm
69
46
  */
70
- export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
47
+ export declare class PdfiumNative implements IPdfiumExecutor {
71
48
  private pdfiumModule;
72
49
  /**
73
50
  * pdf documents that opened
@@ -86,22 +63,11 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
86
63
  */
87
64
  private logger;
88
65
  /**
89
- * function to convert ImageData to Blob
90
- */
91
- private readonly imageDataConverter;
92
- /**
93
- * Create an instance of PdfiumEngine
66
+ * Create an instance of PdfiumNative and initialize PDFium
94
67
  * @param wasmModule - pdfium wasm module
95
- * @param logger - logger instance
96
- * @param imageDataToBlobConverter - function to convert ImageData to Blob
97
- */
98
- constructor(pdfiumModule: WrappedPdfiumModule, options?: PdfiumEngineOptions<T>);
99
- /**
100
- * {@inheritDoc @embedpdf/models!PdfEngine.initialize}
101
- *
102
- * @public
68
+ * @param options - configuration options
103
69
  */
104
- initialize(): Task<boolean, PdfErrorReason, unknown>;
70
+ constructor(pdfiumModule: WrappedPdfiumModule, options?: PdfiumEngineOptions);
105
71
  /**
106
72
  * {@inheritDoc @embedpdf/models!PdfEngine.destroy}
107
73
  *
@@ -112,57 +78,24 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
112
78
  private withWString;
113
79
  /** Write a float[] to wasm, call `fn(ptr, count)`, then free. */
114
80
  private withFloatArray;
115
- /**
116
- * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentUrl}
117
- *
118
- * @public
119
- */
120
- openDocumentUrl(file: PdfFileUrl, options?: PdfOpenDocumentUrlOptions): Task<PdfDocumentObject, PdfErrorReason, unknown>;
121
- /**
122
- * Check if the server supports range requests:
123
- * Sends a HEAD request and sees if 'Accept-Ranges: bytes'.
124
- */
125
- private checkRangeSupport;
126
- /**
127
- * Fully fetch the file (using fetch) into an ArrayBuffer,
128
- * then call openDocumentFromBuffer.
129
- */
130
- private fetchFullAndOpen;
131
- /**
132
- * Use your synchronous partial-loading approach:
133
- * - In your snippet, it's done via `openDocumentFromLoader`.
134
- * - We'll do a synchronous XHR read callback that pulls
135
- * the desired byte ranges.
136
- */
137
- private openDocumentWithRangeRequest;
138
- /**
139
- * Helper to do a HEAD request or partial GET to find file length.
140
- */
141
- private retrieveFileLength;
142
- /**
143
- * Convert response text (x-user-defined) to a Uint8Array
144
- * for partial data.
145
- */
146
- private convertResponseToUint8Array;
147
81
  /**
148
82
  * {@inheritDoc @embedpdf/models!PdfEngine.openDocument}
149
83
  *
150
84
  * @public
151
85
  */
152
86
  openDocumentBuffer(file: PdfFile, options?: PdfOpenDocumentBufferOptions): Task<PdfDocumentObject, PdfErrorReason, unknown>;
153
- openDocumentFromLoader(fileLoader: PdfFileLoader, password?: string): Task<PdfDocumentObject, PdfErrorReason, unknown>;
154
87
  /**
155
88
  * {@inheritDoc @embedpdf/models!PdfEngine.getMetadata}
156
89
  *
157
90
  * @public
158
91
  */
159
- getMetadata(doc: PdfDocumentObject): PdfTask<PdfMetadataObject, PdfErrorReason>;
92
+ getMetadata(doc: PdfDocumentObject): PdfTask<PdfMetadataObject>;
160
93
  /**
161
94
  * {@inheritDoc @embedpdf/models!PdfEngine.setMetadata}
162
95
  *
163
96
  * @public
164
97
  */
165
- setMetadata(doc: PdfDocumentObject, meta: Partial<PdfMetadataObject>): Task<boolean, PdfErrorReason, unknown> | Task<any, PdfErrorReason, unknown>;
98
+ setMetadata(doc: PdfDocumentObject, meta: Partial<PdfMetadataObject>): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
166
99
  /**
167
100
  * {@inheritDoc @embedpdf/models!PdfEngine.getDocPermissions}
168
101
  *
@@ -194,32 +127,25 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
194
127
  *
195
128
  * @public
196
129
  */
197
- setBookmarks(doc: PdfDocumentObject, list: PdfBookmarkObject[]): Task<boolean, PdfErrorReason, unknown> | Task<any, PdfErrorReason, unknown>;
130
+ setBookmarks(doc: PdfDocumentObject, list: PdfBookmarkObject[]): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
198
131
  /**
199
132
  * {@inheritDoc @embedpdf/models!PdfEngine.deleteBookmarks}
200
133
  *
201
134
  * @public
202
135
  */
203
- deleteBookmarks(doc: PdfDocumentObject): Task<boolean, PdfErrorReason, unknown> | Task<any, PdfErrorReason, unknown>;
136
+ deleteBookmarks(doc: PdfDocumentObject): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
204
137
  /**
205
138
  * {@inheritDoc @embedpdf/models!PdfEngine.renderPage}
206
139
  *
207
140
  * @public
208
141
  */
209
- renderPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderPageOptions): PdfTask<T>;
142
+ renderPageRaw(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderPageOptions): PdfTask<ImageDataLike>;
210
143
  /**
211
144
  * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}
212
145
  *
213
146
  * @public
214
147
  */
215
- renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, rect: Rect, options?: PdfRenderPageOptions): PdfTask<T>;
216
- /**
217
- * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
218
- *
219
- * @public
220
- */
221
- getAllAnnotations(doc: PdfDocumentObject): PdfTask<Record<number, PdfAnnotationObject[]>, PdfAnnotationsProgress>;
222
- private readAllAnnotations;
148
+ renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, rect: Rect, options?: PdfRenderPageOptions): PdfTask<ImageDataLike>;
223
149
  /**
224
150
  * {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}
225
151
  *
@@ -247,7 +173,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
247
173
  *
248
174
  * @public
249
175
  */
250
- removePageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): Task<boolean, PdfErrorReason, unknown> | Task<any, PdfErrorReason, unknown>;
176
+ removePageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
251
177
  /**
252
178
  * {@inheritDoc @embedpdf/models!PdfEngine.getPageTextRects}
253
179
  *
@@ -259,7 +185,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
259
185
  *
260
186
  * @public
261
187
  */
262
- renderThumbnail(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderThumbnailOptions): PdfTask<T>;
188
+ renderThumbnailRaw(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderThumbnailOptions): PdfTask<ImageDataLike>;
263
189
  /**
264
190
  * {@inheritDoc @embedpdf/models!PdfEngine.getAttachments}
265
191
  *
@@ -289,7 +215,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
289
215
  *
290
216
  * @public
291
217
  */
292
- setFormFieldValue(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, value: FormFieldValue): Task<boolean, PdfErrorReason, unknown> | Task<any, PdfErrorReason, unknown>;
218
+ setFormFieldValue(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, value: FormFieldValue): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
293
219
  /**
294
220
  * {@inheritDoc @embedpdf/models!PdfEngine.flattenPage}
295
221
  *
@@ -615,7 +541,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
615
541
  */
616
542
  private readPageAnnotations;
617
543
  /**
618
- * Read page annotations
544
+ * Read page annotations without loading the page (raw approach)
619
545
  *
620
546
  * @param ctx - document context
621
547
  * @param page - page info
@@ -624,6 +550,16 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
624
550
  * @private
625
551
  */
626
552
  private readPageAnnotationsRaw;
553
+ /**
554
+ * Get page annotations (public API, returns Task)
555
+ *
556
+ * @param doc - pdf document
557
+ * @param page - page info
558
+ * @returns task with annotations on the pdf page
559
+ *
560
+ * @public
561
+ */
562
+ getPageAnnotationsRaw(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfAnnotationObject[]>;
627
563
  /**
628
564
  * Read pdf annotation from pdf document
629
565
  *
@@ -1357,8 +1293,7 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
1357
1293
  *
1358
1294
  * @public
1359
1295
  */
1360
- renderPageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject, options?: PdfRenderPageAnnotationOptions): PdfTask<T>;
1361
- private encodeViaWasm;
1296
+ renderPageAnnotationRaw(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject, options?: PdfRenderPageAnnotationOptions): PdfTask<ImageDataLike>;
1362
1297
  private renderRectEncoded;
1363
1298
  /**
1364
1299
  * Read the target of pdf link annotation
@@ -1493,7 +1428,31 @@ export declare class PdfiumEngine<T = Blob> implements PdfEngine<T> {
1493
1428
  *
1494
1429
  * @public
1495
1430
  */
1496
- searchAllPages(doc: PdfDocumentObject, keyword: string, options?: PdfSearchAllPagesOptions): PdfTask<SearchAllPagesResult, PdfPageSearchProgress>;
1431
+ searchInPage(doc: PdfDocumentObject, page: PdfPageObject, keyword: string, flags: number): PdfTask<SearchResult[]>;
1432
+ /**
1433
+ * Get annotations for multiple pages in a single batch.
1434
+ * Emits progress per page for streaming updates.
1435
+ *
1436
+ * @param doc - PDF document
1437
+ * @param pages - Array of pages to process
1438
+ * @returns Task with results keyed by page index, with per-page progress
1439
+ *
1440
+ * @public
1441
+ */
1442
+ getAnnotationsBatch(doc: PdfDocumentObject, pages: PdfPageObject[]): PdfTask<Record<number, PdfAnnotationObject[]>, BatchProgress<PdfAnnotationObject[]>>;
1443
+ /**
1444
+ * Search across multiple pages in a single batch.
1445
+ * Emits progress per page for streaming updates.
1446
+ *
1447
+ * @param doc - PDF document
1448
+ * @param pages - Array of pages to search
1449
+ * @param keyword - Search keyword
1450
+ * @param flags - Search flags
1451
+ * @returns Task with results keyed by page index, with per-page progress
1452
+ *
1453
+ * @public
1454
+ */
1455
+ searchBatch(doc: PdfDocumentObject, pages: PdfPageObject[], keyword: string, flags: number): PdfTask<Record<number, SearchResult[]>, BatchProgress<SearchResult[]>>;
1497
1456
  /**
1498
1457
  * Extract word-aligned context for a search hit.
1499
1458
  *
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../engine-CXnLqg_9.cjs"),e=require("../../index-DuHK0qLu.cjs");exports.BitmapFormat=r.BitmapFormat,exports.OffscreenCanvasError=r.OffscreenCanvasError,exports.PdfiumEngine=r.PdfiumEngine,exports.PdfiumErrorCode=r.PdfiumErrorCode,exports.RenderFlag=r.RenderFlag,exports.browserImageDataToBlobConverter=r.browserImageDataToBlobConverter,exports.computeFormDrawParams=r.computeFormDrawParams,exports.isValidCustomKey=r.isValidCustomKey,exports.readArrayBuffer=r.readArrayBuffer,exports.readString=r.readString,exports.DEFAULT_PDFIUM_WASM_URL=e.DEFAULT_PDFIUM_WASM_URL,exports.PdfiumEngineRunner=e.PdfiumEngineRunner;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../direct-engine-JeNRkc7w.cjs"),r=require("../../browser-C6QEa8uk.cjs"),t=require("../../pdf-engine-C3JeKij1.cjs"),o=require("./web/worker-engine.cjs");exports.BitmapFormat=e.BitmapFormat,exports.PdfiumErrorCode=e.PdfiumErrorCode,exports.PdfiumNative=e.PdfiumNative,exports.RenderFlag=e.RenderFlag,exports.computeFormDrawParams=e.computeFormDrawParams,exports.createPdfiumDirectEngine=e.createPdfiumEngine,exports.isValidCustomKey=e.isValidCustomKey,exports.readArrayBuffer=e.readArrayBuffer,exports.readString=e.readString,exports.ImageConverterError=r.ImageConverterError,exports.browserImageDataToBlobConverter=r.browserImageDataToBlobConverter,exports.createHybridImageConverter=r.createHybridImageConverter,exports.createWorkerPoolImageConverter=r.createWorkerPoolImageConverter,exports.PdfEngine=t.PdfEngine,exports.createPdfiumWorkerEngine=o.createPdfiumEngine,exports.DEFAULT_PDFIUM_WASM_URL="https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.0.0/dist/pdfium.wasm";
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/lib/pdfium/index.ts"],"sourcesContent":["export * from './engine';\nexport * from './helper';\nexport * from '../converters/types';\nexport * from '../converters/browser';\nexport * from '../orchestrator/pdf-engine';\n\n// Export web factory functions (avoid ambiguous exports)\nexport { createPdfiumEngine as createPdfiumDirectEngine } from './web/direct-engine';\nexport { createPdfiumEngine as createPdfiumWorkerEngine } from './web/worker-engine';\nexport type { CreatePdfiumEngineOptions } from './web/direct-engine';\n\nexport const DEFAULT_PDFIUM_WASM_URL: string =\n 'https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm';\n"],"names":[],"mappings":"w+BAYE"}
@@ -1,4 +1,9 @@
1
1
  export * from './engine';
2
2
  export * from './helper';
3
- export * from './runner';
3
+ export * from '../converters/types';
4
+ export * from '../converters/browser';
5
+ export * from '../orchestrator/pdf-engine';
6
+ export { createPdfiumEngine as createPdfiumDirectEngine } from './web/direct-engine';
7
+ export { createPdfiumEngine as createPdfiumWorkerEngine } from './web/worker-engine';
8
+ export type { CreatePdfiumEngineOptions } from './web/direct-engine';
4
9
  export declare const DEFAULT_PDFIUM_WASM_URL: string;
@@ -1,17 +1,24 @@
1
- import { B, O, a, P, R, b, d, i, c, r } from "../../engine-B-RaFU77.js";
2
- import { D, P as P2 } from "../../index-Cp8_nZYM.js";
1
+ import { B, P, a, R, d, c, i, b, r } from "../../direct-engine-DuLFAbiv.js";
2
+ import { I, b as b2, a as a2, c as c2 } from "../../browser-awZxztMA.js";
3
+ import { P as P2 } from "../../pdf-engine-BVNF_Yo9.js";
4
+ import { createPdfiumEngine } from "./web/worker-engine.js";
5
+ const DEFAULT_PDFIUM_WASM_URL = "https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.0.0/dist/pdfium.wasm";
3
6
  export {
4
7
  B as BitmapFormat,
5
- D as DEFAULT_PDFIUM_WASM_URL,
6
- O as OffscreenCanvasError,
7
- a as PdfiumEngine,
8
- P2 as PdfiumEngineRunner,
8
+ DEFAULT_PDFIUM_WASM_URL,
9
+ I as ImageConverterError,
10
+ P2 as PdfEngine,
9
11
  P as PdfiumErrorCode,
12
+ a as PdfiumNative,
10
13
  R as RenderFlag,
11
- b as browserImageDataToBlobConverter,
14
+ b2 as browserImageDataToBlobConverter,
12
15
  d as computeFormDrawParams,
16
+ a2 as createHybridImageConverter,
17
+ c as createPdfiumDirectEngine,
18
+ createPdfiumEngine as createPdfiumWorkerEngine,
19
+ c2 as createWorkerPoolImageConverter,
13
20
  i as isValidCustomKey,
14
- c as readArrayBuffer,
21
+ b as readArrayBuffer,
15
22
  r as readString
16
23
  };
17
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/pdfium/index.ts"],"sourcesContent":["export * from './engine';\nexport * from './helper';\nexport * from '../converters/types';\nexport * from '../converters/browser';\nexport * from '../orchestrator/pdf-engine';\n\n// Export web factory functions (avoid ambiguous exports)\nexport { createPdfiumEngine as createPdfiumDirectEngine } from './web/direct-engine';\nexport { createPdfiumEngine as createPdfiumWorkerEngine } from './web/worker-engine';\nexport type { CreatePdfiumEngineOptions } from './web/direct-engine';\n\nexport const DEFAULT_PDFIUM_WASM_URL: string =\n 'https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm';\n"],"names":[],"mappings":";;;;AAWO,MAAM,0BACX;"}
@@ -1,9 +1,9 @@
1
- import { EngineRunner } from '../webworker/runner';
1
+ import { PdfiumNativeRunner } from '../orchestrator/pdfium-native-runner';
2
2
  import { Logger } from '@embedpdf/models';
3
3
  /**
4
4
  * EngineRunner for pdfium-based wasm engine
5
5
  */
6
- export declare class PdfiumEngineRunner extends EngineRunner {
6
+ export declare class PdfiumEngineRunner extends PdfiumNativeRunner {
7
7
  private wasmBinary;
8
8
  /**
9
9
  * Create an instance of PdfiumEngineRunner
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/pdfium"),i=require("../../../engine-CXnLqg_9.cjs");exports.createPdfiumEngine=async function(r,t){const n=await fetch(r),a=await n.arrayBuffer(),u=await e.init({wasmBinary:a});return new i.PdfiumEngine(u,{logger:t})};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("@embedpdf/pdfium");const e=require("../../../direct-engine-JeNRkc7w.cjs");require("../../../pdf-engine-C3JeKij1.cjs"),require("../../../browser-C6QEa8uk.cjs"),exports.createPdfiumEngine=e.createPdfiumEngine;
2
2
  //# sourceMappingURL=direct-engine.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"direct-engine.cjs","sources":["../../../../src/lib/pdfium/web/direct-engine.ts"],"sourcesContent":["import { Logger } from '@embedpdf/models';\nimport { init } from '@embedpdf/pdfium';\n\nimport { PdfiumEngine } from '../engine';\n\nexport async function createPdfiumEngine(wasmUrl: string, logger?: Logger): Promise<PdfiumEngine> {\n const response = await fetch(wasmUrl);\n const wasmBinary = await response.arrayBuffer();\n const wasmModule = await init({ wasmBinary });\n return new PdfiumEngine(wasmModule, { logger });\n}\n"],"names":["async","wasmUrl","logger","response","fetch","wasmBinary","arrayBuffer","wasmModule","init","PdfiumEngine"],"mappings":"yLAKAA,eAAyCC,EAAiBC,GACxD,MAAMC,QAAiBC,MAAMH,GACvBI,QAAmBF,EAASG,cAC5BC,QAAmBC,OAAK,CAAEH,eAChC,OAAO,IAAII,EAAAA,aAAaF,EAAY,CAAEL,UACxC"}
1
+ {"version":3,"file":"direct-engine.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +1,34 @@
1
1
  import { Logger } from '@embedpdf/models';
2
- import { PdfiumEngine } from '../engine';
3
- export declare function createPdfiumEngine(wasmUrl: string, logger?: Logger): Promise<PdfiumEngine>;
2
+ import { PdfEngine } from '../../orchestrator/pdf-engine';
3
+ export interface CreatePdfiumEngineOptions {
4
+ /**
5
+ * Logger instance for debugging
6
+ */
7
+ logger?: Logger;
8
+ /**
9
+ * Number of workers in the image encoder pool (default: 0 - disabled)
10
+ * Set to 2-4 for optimal performance with parallel encoding
11
+ */
12
+ encoderPoolSize?: number;
13
+ }
14
+ /**
15
+ * Create a PDFium engine running directly in the main thread
16
+ *
17
+ * This is the "direct" mode where PDFium runs in the main thread.
18
+ * The PdfEngine orchestrator still provides priority-based task scheduling.
19
+ *
20
+ * @param wasmUrl - URL to the pdfium.wasm file
21
+ * @param options - Configuration options
22
+ *
23
+ * @example
24
+ * // Basic usage
25
+ * const engine = await createPdfiumEngine('/wasm/pdfium.wasm', { logger });
26
+ *
27
+ * @example
28
+ * // With encoder pool for parallel image encoding
29
+ * const engine = await createPdfiumEngine('/wasm/pdfium.wasm', {
30
+ * logger,
31
+ * encoderPoolSize: 2
32
+ * });
33
+ */
34
+ export declare function createPdfiumEngine(wasmUrl: string, options?: CreatePdfiumEngineOptions): Promise<PdfEngine<Blob>>;
@@ -1,12 +1,8 @@
1
- import { init } from "@embedpdf/pdfium";
2
- import { a as PdfiumEngine } from "../../../engine-B-RaFU77.js";
3
- async function createPdfiumEngine(wasmUrl, logger) {
4
- const response = await fetch(wasmUrl);
5
- const wasmBinary = await response.arrayBuffer();
6
- const wasmModule = await init({ wasmBinary });
7
- return new PdfiumEngine(wasmModule, { logger });
8
- }
1
+ import "@embedpdf/pdfium";
2
+ import { c } from "../../../direct-engine-DuLFAbiv.js";
3
+ import "../../../pdf-engine-BVNF_Yo9.js";
4
+ import "../../../browser-awZxztMA.js";
9
5
  export {
10
- createPdfiumEngine
6
+ c as createPdfiumEngine
11
7
  };
12
8
  //# sourceMappingURL=direct-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"direct-engine.js","sources":["../../../../src/lib/pdfium/web/direct-engine.ts"],"sourcesContent":["import { Logger } from '@embedpdf/models';\nimport { init } from '@embedpdf/pdfium';\n\nimport { PdfiumEngine } from '../engine';\n\nexport async function createPdfiumEngine(wasmUrl: string, logger?: Logger): Promise<PdfiumEngine> {\n const response = await fetch(wasmUrl);\n const wasmBinary = await response.arrayBuffer();\n const wasmModule = await init({ wasmBinary });\n return new PdfiumEngine(wasmModule, { logger });\n}\n"],"names":[],"mappings":";;AAKA,eAAsB,mBAAmB,SAAiB,QAAwC;AAChG,QAAM,WAAW,MAAM,MAAM,OAAO;AACpC,QAAM,aAAa,MAAM,SAAS,YAAA;AAClC,QAAM,aAAa,MAAM,KAAK,EAAE,YAAY;AAC5C,SAAO,IAAI,aAAa,YAAY,EAAE,QAAQ;AAChD;"}
1
+ {"version":3,"file":"direct-engine.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}