pdf-oxide-wasm 0.3.13 → 0.3.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdf-oxide-wasm",
3
- "version": "0.3.13",
3
+ "version": "0.3.14",
4
4
  "description": "Fast, zero-dependency PDF toolkit for Node.js, browsers, and edge runtimes — text extraction, markdown/HTML conversion, search, form filling, creation, and editing. Rust core compiled to WebAssembly.",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "repository": {
package/pdf_oxide.d.ts CHANGED
@@ -1,6 +1,24 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
 
4
+ /**
5
+ * OCR configuration for WebAssembly.
6
+ */
7
+ export class WasmOcrConfig {
8
+ free(): void;
9
+ [Symbol.dispose](): void;
10
+ constructor();
11
+ }
12
+
13
+ /**
14
+ * OCR engine for WebAssembly.
15
+ */
16
+ export class WasmOcrEngine {
17
+ free(): void;
18
+ [Symbol.dispose](): void;
19
+ constructor(_det_model_path: string, _rec_model_path: string, _dict_path: string, _config?: WasmOcrConfig | null);
20
+ }
21
+
4
22
  /**
5
23
  * Create new PDF documents from Markdown, HTML, or plain text.
6
24
  *
@@ -128,8 +146,11 @@ export class WasmPdfDocument {
128
146
  *
129
147
  * Returns an array of objects with: char, bbox {x, y, width, height},
130
148
  * font_name, font_size, font_weight, is_italic, color {r, g, b}, etc.
149
+ *
150
+ * @param page_index - Zero-based page number
151
+ * @param region - Optional [x, y, width, height] to filter by
131
152
  */
132
- extractChars(page_index: number): any;
153
+ extractChars(page_index: number, region?: Float32Array | null): any;
133
154
  /**
134
155
  * Extract image bytes from a page as PNG data.
135
156
  *
@@ -141,28 +162,80 @@ export class WasmPdfDocument {
141
162
  *
142
163
  * Returns an array of objects with: width, height, color_space,
143
164
  * bits_per_component, bbox (if available). Does NOT return raw image bytes.
165
+ *
166
+ * @param page_index - Zero-based page number
167
+ * @param region - Optional [x, y, width, height] to filter by
168
+ */
169
+ extractImages(page_index: number, region?: Float32Array | null): any;
170
+ /**
171
+ * Extract only straight lines from a page (v0.3.14).
172
+ *
173
+ * Identifies paths that form a single straight line segment.
174
+ *
175
+ * @param page_index - Zero-based page number
176
+ * @param region - Optional [x, y, width, height] to filter by
177
+ * @returns Array of path objects
144
178
  */
145
- extractImages(page_index: number): any;
179
+ extractLines(page_index: number, region?: Float32Array | null): any;
146
180
  /**
147
181
  * Extract vector paths (lines, curves, shapes) from a page.
148
182
  *
149
183
  * @param page_index - Zero-based page number
184
+ * @param region - Optional [x, y, width, height] to filter by
150
185
  * @returns Array of path objects with bbox, stroke_color, fill_color, etc.
151
186
  */
152
- extractPaths(page_index: number): any;
187
+ extractPaths(page_index: number, region?: Float32Array | null): any;
188
+ /**
189
+ * Extract only rectangles from a page (v0.3.14).
190
+ *
191
+ * Identifies paths that form axis-aligned rectangles.
192
+ *
193
+ * @param page_index - Zero-based page number
194
+ * @param region - Optional [x, y, width, height] to filter by
195
+ * @returns Array of path objects
196
+ */
197
+ extractRects(page_index: number, region?: Float32Array | null): any;
153
198
  /**
154
199
  * Extract span-level data from a page.
155
200
  *
156
201
  * Returns an array of objects with: text, bbox, font_name, font_size,
157
202
  * font_weight, is_italic, color, etc.
158
203
  */
159
- extractSpans(page_index: number): any;
204
+ extractSpans(page_index: number, region?: Float32Array | null): any;
205
+ /**
206
+ * Extract tables from a page (v0.3.14).
207
+ *
208
+ * @param page_index - Zero-based page number
209
+ * @param region - Optional [x, y, width, height] to filter by
210
+ */
211
+ extractTables(page_index: number, region?: Float32Array | null): any;
160
212
  /**
161
213
  * Extract plain text from a single page.
162
214
  *
163
215
  * @param page_index - Zero-based page number
216
+ * @param region - Optional [x, y, width, height] to filter by
217
+ */
218
+ extractText(page_index: number, region?: Float32Array | null): string;
219
+ /**
220
+ * Extract text lines from a page.
221
+ *
222
+ * Returns an array of objects with: text, bbox, words (array of Word objects).
223
+ */
224
+ extractTextLines(page_index: number, region?: Float32Array | null): any;
225
+ /**
226
+ * Extract text using OCR (optical character recognition).
227
+ *
228
+ * NOTE: OCR is not yet supported in the WebAssembly build due to missing
229
+ * ONNX Runtime support for the web backend in the current implementation.
164
230
  */
165
- extractText(page_index: number): string;
231
+ extractTextOcr(_page_index: number, _engine?: WasmOcrEngine | null): string;
232
+ /**
233
+ * Extract word-level data from a page.
234
+ *
235
+ * Returns an array of objects with: text, bbox, font_name, font_size,
236
+ * font_weight, is_italic, is_bold.
237
+ */
238
+ extractWords(page_index: number, region?: Float32Array | null): any;
166
239
  /**
167
240
  * Flatten all annotations in the document into page content.
168
241
  */
@@ -289,13 +362,6 @@ export class WasmPdfDocument {
289
362
  rotatePage(page_index: number, degrees: number): void;
290
363
  /**
291
364
  * Save with encryption and return the resulting PDF as bytes.
292
- *
293
- * @param user_password - Password required to open the document
294
- * @param owner_password - Password for full access (defaults to user_password)
295
- * @param allow_print - Allow printing (default: true)
296
- * @param allow_copy - Allow copying text (default: true)
297
- * @param allow_modify - Allow modifying (default: true)
298
- * @param allow_annotate - Allow annotations (default: true)
299
365
  */
300
366
  saveEncryptedToBytes(user_password: string, owner_password?: string | null, allow_print?: boolean | null, allow_copy?: boolean | null, allow_modify?: boolean | null, allow_annotate?: boolean | null): Uint8Array;
301
367
  /**
@@ -395,6 +461,13 @@ export class WasmPdfDocument {
395
461
  * Get the PDF version as [major, minor].
396
462
  */
397
463
  version(): Uint8Array;
464
+ /**
465
+ * Focus extraction on a specific rectangular region of a page (v0.3.14).
466
+ *
467
+ * @param page_index - Zero-based page number
468
+ * @param region - [x, y, width, height] in points
469
+ */
470
+ within(page_index: number, region: Float32Array): WasmPdfPageRegion;
398
471
  /**
399
472
  * Get XMP metadata from the document.
400
473
  *
@@ -402,3 +475,52 @@ export class WasmPdfDocument {
402
475
  */
403
476
  xmpMetadata(): any;
404
477
  }
478
+
479
+ /**
480
+ * A focused view of a PDF page region for scoped extraction (v0.3.14).
481
+ */
482
+ export class WasmPdfPageRegion {
483
+ private constructor();
484
+ free(): void;
485
+ [Symbol.dispose](): void;
486
+ /**
487
+ * Extract character-level data from this region.
488
+ */
489
+ extractChars(): any;
490
+ /**
491
+ * Extract images from this region.
492
+ */
493
+ extractImages(): any;
494
+ /**
495
+ * Extract straight lines from this region.
496
+ */
497
+ extractLines(): any;
498
+ /**
499
+ * Extract vector paths from this region.
500
+ */
501
+ extractPaths(): any;
502
+ /**
503
+ * Extract rectangles from this region.
504
+ */
505
+ extractRects(): any;
506
+ /**
507
+ * Extract tables from this region.
508
+ */
509
+ extractTables(): any;
510
+ /**
511
+ * Extract text from this region.
512
+ */
513
+ extractText(): string;
514
+ /**
515
+ * Extract text lines from this region.
516
+ */
517
+ extractTextLines(): any;
518
+ /**
519
+ * Extract text using OCR from this region.
520
+ */
521
+ extractTextOcr(_engine?: WasmOcrEngine | null): string;
522
+ /**
523
+ * Extract words from this region.
524
+ */
525
+ extractWords(): any;
526
+ }
package/pdf_oxide.js CHANGED
@@ -1,5 +1,81 @@
1
1
  /* @ts-self-types="./pdf_oxide.d.ts" */
2
2
 
3
+ /**
4
+ * OCR configuration for WebAssembly.
5
+ */
6
+ class WasmOcrConfig {
7
+ __destroy_into_raw() {
8
+ const ptr = this.__wbg_ptr;
9
+ this.__wbg_ptr = 0;
10
+ WasmOcrConfigFinalization.unregister(this);
11
+ return ptr;
12
+ }
13
+ free() {
14
+ const ptr = this.__destroy_into_raw();
15
+ wasm.__wbg_wasmocrconfig_free(ptr, 0);
16
+ }
17
+ constructor() {
18
+ const ret = wasm.wasmocrconfig_new();
19
+ this.__wbg_ptr = ret >>> 0;
20
+ WasmOcrConfigFinalization.register(this, this.__wbg_ptr, this);
21
+ return this;
22
+ }
23
+ }
24
+ if (Symbol.dispose) WasmOcrConfig.prototype[Symbol.dispose] = WasmOcrConfig.prototype.free;
25
+ exports.WasmOcrConfig = WasmOcrConfig;
26
+
27
+ /**
28
+ * OCR engine for WebAssembly.
29
+ */
30
+ class WasmOcrEngine {
31
+ __destroy_into_raw() {
32
+ const ptr = this.__wbg_ptr;
33
+ this.__wbg_ptr = 0;
34
+ WasmOcrEngineFinalization.unregister(this);
35
+ return ptr;
36
+ }
37
+ free() {
38
+ const ptr = this.__destroy_into_raw();
39
+ wasm.__wbg_wasmocrengine_free(ptr, 0);
40
+ }
41
+ /**
42
+ * @param {string} _det_model_path
43
+ * @param {string} _rec_model_path
44
+ * @param {string} _dict_path
45
+ * @param {WasmOcrConfig | null} [_config]
46
+ */
47
+ constructor(_det_model_path, _rec_model_path, _dict_path, _config) {
48
+ try {
49
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
50
+ const ptr0 = passStringToWasm0(_det_model_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
51
+ const len0 = WASM_VECTOR_LEN;
52
+ const ptr1 = passStringToWasm0(_rec_model_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
53
+ const len1 = WASM_VECTOR_LEN;
54
+ const ptr2 = passStringToWasm0(_dict_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
55
+ const len2 = WASM_VECTOR_LEN;
56
+ let ptr3 = 0;
57
+ if (!isLikeNone(_config)) {
58
+ _assertClass(_config, WasmOcrConfig);
59
+ ptr3 = _config.__destroy_into_raw();
60
+ }
61
+ wasm.wasmocrengine_new(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3);
62
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
63
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
64
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
65
+ if (r2) {
66
+ throw takeObject(r1);
67
+ }
68
+ this.__wbg_ptr = r0 >>> 0;
69
+ WasmOcrEngineFinalization.register(this, this.__wbg_ptr, this);
70
+ return this;
71
+ } finally {
72
+ wasm.__wbindgen_add_to_stack_pointer(16);
73
+ }
74
+ }
75
+ }
76
+ if (Symbol.dispose) WasmOcrEngine.prototype[Symbol.dispose] = WasmOcrEngine.prototype.free;
77
+ exports.WasmOcrEngine = WasmOcrEngine;
78
+
3
79
  /**
4
80
  * Create new PDF documents from Markdown, HTML, or plain text.
5
81
  *
@@ -442,13 +518,19 @@ class WasmPdfDocument {
442
518
  *
443
519
  * Returns an array of objects with: char, bbox {x, y, width, height},
444
520
  * font_name, font_size, font_weight, is_italic, color {r, g, b}, etc.
521
+ *
522
+ * @param page_index - Zero-based page number
523
+ * @param region - Optional [x, y, width, height] to filter by
445
524
  * @param {number} page_index
525
+ * @param {Float32Array | null} [region]
446
526
  * @returns {any}
447
527
  */
448
- extractChars(page_index) {
528
+ extractChars(page_index, region) {
449
529
  try {
450
530
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
451
- wasm.wasmpdfdocument_extractChars(retptr, this.__wbg_ptr, page_index);
531
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
532
+ var len0 = WASM_VECTOR_LEN;
533
+ wasm.wasmpdfdocument_extractChars(retptr, this.__wbg_ptr, page_index, ptr0, len0);
452
534
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
453
535
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
454
536
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -487,13 +569,48 @@ class WasmPdfDocument {
487
569
  *
488
570
  * Returns an array of objects with: width, height, color_space,
489
571
  * bits_per_component, bbox (if available). Does NOT return raw image bytes.
572
+ *
573
+ * @param page_index - Zero-based page number
574
+ * @param region - Optional [x, y, width, height] to filter by
490
575
  * @param {number} page_index
576
+ * @param {Float32Array | null} [region]
491
577
  * @returns {any}
492
578
  */
493
- extractImages(page_index) {
579
+ extractImages(page_index, region) {
494
580
  try {
495
581
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
496
- wasm.wasmpdfdocument_extractImages(retptr, this.__wbg_ptr, page_index);
582
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
583
+ var len0 = WASM_VECTOR_LEN;
584
+ wasm.wasmpdfdocument_extractImages(retptr, this.__wbg_ptr, page_index, ptr0, len0);
585
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
586
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
587
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
588
+ if (r2) {
589
+ throw takeObject(r1);
590
+ }
591
+ return takeObject(r0);
592
+ } finally {
593
+ wasm.__wbindgen_add_to_stack_pointer(16);
594
+ }
595
+ }
596
+ /**
597
+ * Extract only straight lines from a page (v0.3.14).
598
+ *
599
+ * Identifies paths that form a single straight line segment.
600
+ *
601
+ * @param page_index - Zero-based page number
602
+ * @param region - Optional [x, y, width, height] to filter by
603
+ * @returns Array of path objects
604
+ * @param {number} page_index
605
+ * @param {Float32Array | null} [region]
606
+ * @returns {any}
607
+ */
608
+ extractLines(page_index, region) {
609
+ try {
610
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
611
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
612
+ var len0 = WASM_VECTOR_LEN;
613
+ wasm.wasmpdfdocument_extractLines(retptr, this.__wbg_ptr, page_index, ptr0, len0);
497
614
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
498
615
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
499
616
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -509,14 +626,47 @@ class WasmPdfDocument {
509
626
  * Extract vector paths (lines, curves, shapes) from a page.
510
627
  *
511
628
  * @param page_index - Zero-based page number
629
+ * @param region - Optional [x, y, width, height] to filter by
512
630
  * @returns Array of path objects with bbox, stroke_color, fill_color, etc.
513
631
  * @param {number} page_index
632
+ * @param {Float32Array | null} [region]
514
633
  * @returns {any}
515
634
  */
516
- extractPaths(page_index) {
635
+ extractPaths(page_index, region) {
517
636
  try {
518
637
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
519
- wasm.wasmpdfdocument_extractPaths(retptr, this.__wbg_ptr, page_index);
638
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
639
+ var len0 = WASM_VECTOR_LEN;
640
+ wasm.wasmpdfdocument_extractPaths(retptr, this.__wbg_ptr, page_index, ptr0, len0);
641
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
642
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
643
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
644
+ if (r2) {
645
+ throw takeObject(r1);
646
+ }
647
+ return takeObject(r0);
648
+ } finally {
649
+ wasm.__wbindgen_add_to_stack_pointer(16);
650
+ }
651
+ }
652
+ /**
653
+ * Extract only rectangles from a page (v0.3.14).
654
+ *
655
+ * Identifies paths that form axis-aligned rectangles.
656
+ *
657
+ * @param page_index - Zero-based page number
658
+ * @param region - Optional [x, y, width, height] to filter by
659
+ * @returns Array of path objects
660
+ * @param {number} page_index
661
+ * @param {Float32Array | null} [region]
662
+ * @returns {any}
663
+ */
664
+ extractRects(page_index, region) {
665
+ try {
666
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
667
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
668
+ var len0 = WASM_VECTOR_LEN;
669
+ wasm.wasmpdfdocument_extractRects(retptr, this.__wbg_ptr, page_index, ptr0, len0);
520
670
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
521
671
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
522
672
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -534,12 +684,41 @@ class WasmPdfDocument {
534
684
  * Returns an array of objects with: text, bbox, font_name, font_size,
535
685
  * font_weight, is_italic, color, etc.
536
686
  * @param {number} page_index
687
+ * @param {Float32Array | null} [region]
537
688
  * @returns {any}
538
689
  */
539
- extractSpans(page_index) {
690
+ extractSpans(page_index, region) {
540
691
  try {
541
692
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
542
- wasm.wasmpdfdocument_extractSpans(retptr, this.__wbg_ptr, page_index);
693
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
694
+ var len0 = WASM_VECTOR_LEN;
695
+ wasm.wasmpdfdocument_extractSpans(retptr, this.__wbg_ptr, page_index, ptr0, len0);
696
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
697
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
698
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
699
+ if (r2) {
700
+ throw takeObject(r1);
701
+ }
702
+ return takeObject(r0);
703
+ } finally {
704
+ wasm.__wbindgen_add_to_stack_pointer(16);
705
+ }
706
+ }
707
+ /**
708
+ * Extract tables from a page (v0.3.14).
709
+ *
710
+ * @param page_index - Zero-based page number
711
+ * @param region - Optional [x, y, width, height] to filter by
712
+ * @param {number} page_index
713
+ * @param {Float32Array | null} [region]
714
+ * @returns {any}
715
+ */
716
+ extractTables(page_index, region) {
717
+ try {
718
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
719
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
720
+ var len0 = WASM_VECTOR_LEN;
721
+ wasm.wasmpdfdocument_extractTables(retptr, this.__wbg_ptr, page_index, ptr0, len0);
543
722
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
544
723
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
545
724
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -555,31 +734,124 @@ class WasmPdfDocument {
555
734
  * Extract plain text from a single page.
556
735
  *
557
736
  * @param page_index - Zero-based page number
737
+ * @param region - Optional [x, y, width, height] to filter by
558
738
  * @param {number} page_index
739
+ * @param {Float32Array | null} [region]
559
740
  * @returns {string}
560
741
  */
561
- extractText(page_index) {
562
- let deferred2_0;
563
- let deferred2_1;
742
+ extractText(page_index, region) {
743
+ let deferred3_0;
744
+ let deferred3_1;
564
745
  try {
565
746
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
566
- wasm.wasmpdfdocument_extractText(retptr, this.__wbg_ptr, page_index);
747
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
748
+ var len0 = WASM_VECTOR_LEN;
749
+ wasm.wasmpdfdocument_extractText(retptr, this.__wbg_ptr, page_index, ptr0, len0);
567
750
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
568
751
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
569
752
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
570
753
  var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
571
- var ptr1 = r0;
572
- var len1 = r1;
754
+ var ptr2 = r0;
755
+ var len2 = r1;
573
756
  if (r3) {
574
- ptr1 = 0; len1 = 0;
757
+ ptr2 = 0; len2 = 0;
575
758
  throw takeObject(r2);
576
759
  }
577
- deferred2_0 = ptr1;
578
- deferred2_1 = len1;
579
- return getStringFromWasm0(ptr1, len1);
760
+ deferred3_0 = ptr2;
761
+ deferred3_1 = len2;
762
+ return getStringFromWasm0(ptr2, len2);
763
+ } finally {
764
+ wasm.__wbindgen_add_to_stack_pointer(16);
765
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
766
+ }
767
+ }
768
+ /**
769
+ * Extract text lines from a page.
770
+ *
771
+ * Returns an array of objects with: text, bbox, words (array of Word objects).
772
+ * @param {number} page_index
773
+ * @param {Float32Array | null} [region]
774
+ * @returns {any}
775
+ */
776
+ extractTextLines(page_index, region) {
777
+ try {
778
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
779
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
780
+ var len0 = WASM_VECTOR_LEN;
781
+ wasm.wasmpdfdocument_extractTextLines(retptr, this.__wbg_ptr, page_index, ptr0, len0);
782
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
783
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
784
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
785
+ if (r2) {
786
+ throw takeObject(r1);
787
+ }
788
+ return takeObject(r0);
789
+ } finally {
790
+ wasm.__wbindgen_add_to_stack_pointer(16);
791
+ }
792
+ }
793
+ /**
794
+ * Extract text using OCR (optical character recognition).
795
+ *
796
+ * NOTE: OCR is not yet supported in the WebAssembly build due to missing
797
+ * ONNX Runtime support for the web backend in the current implementation.
798
+ * @param {number} _page_index
799
+ * @param {WasmOcrEngine | null} [_engine]
800
+ * @returns {string}
801
+ */
802
+ extractTextOcr(_page_index, _engine) {
803
+ let deferred3_0;
804
+ let deferred3_1;
805
+ try {
806
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
807
+ let ptr0 = 0;
808
+ if (!isLikeNone(_engine)) {
809
+ _assertClass(_engine, WasmOcrEngine);
810
+ ptr0 = _engine.__destroy_into_raw();
811
+ }
812
+ wasm.wasmpdfdocument_extractTextOcr(retptr, this.__wbg_ptr, _page_index, ptr0);
813
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
814
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
815
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
816
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
817
+ var ptr2 = r0;
818
+ var len2 = r1;
819
+ if (r3) {
820
+ ptr2 = 0; len2 = 0;
821
+ throw takeObject(r2);
822
+ }
823
+ deferred3_0 = ptr2;
824
+ deferred3_1 = len2;
825
+ return getStringFromWasm0(ptr2, len2);
826
+ } finally {
827
+ wasm.__wbindgen_add_to_stack_pointer(16);
828
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
829
+ }
830
+ }
831
+ /**
832
+ * Extract word-level data from a page.
833
+ *
834
+ * Returns an array of objects with: text, bbox, font_name, font_size,
835
+ * font_weight, is_italic, is_bold.
836
+ * @param {number} page_index
837
+ * @param {Float32Array | null} [region]
838
+ * @returns {any}
839
+ */
840
+ extractWords(page_index, region) {
841
+ try {
842
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
843
+ var ptr0 = isLikeNone(region) ? 0 : passArrayF32ToWasm0(region, wasm.__wbindgen_export);
844
+ var len0 = WASM_VECTOR_LEN;
845
+ wasm.wasmpdfdocument_extractWords(retptr, this.__wbg_ptr, page_index, ptr0, len0);
846
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
847
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
848
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
849
+ if (r2) {
850
+ throw takeObject(r1);
851
+ }
852
+ return takeObject(r0);
580
853
  } finally {
581
854
  wasm.__wbindgen_add_to_stack_pointer(16);
582
- wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
583
855
  }
584
856
  }
585
857
  /**
@@ -757,8 +1029,19 @@ class WasmPdfDocument {
757
1029
  * @returns {boolean}
758
1030
  */
759
1031
  hasStructureTree() {
760
- const ret = wasm.wasmpdfdocument_hasStructureTree(this.__wbg_ptr);
761
- return ret !== 0;
1032
+ try {
1033
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1034
+ wasm.wasmpdfdocument_hasStructureTree(retptr, this.__wbg_ptr);
1035
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1036
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1037
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1038
+ if (r2) {
1039
+ throw takeObject(r1);
1040
+ }
1041
+ return r0 !== 0;
1042
+ } finally {
1043
+ wasm.__wbindgen_add_to_stack_pointer(16);
1044
+ }
762
1045
  }
763
1046
  /**
764
1047
  * Check if the document contains XFA form data.
@@ -1038,13 +1321,6 @@ class WasmPdfDocument {
1038
1321
  }
1039
1322
  /**
1040
1323
  * Save with encryption and return the resulting PDF as bytes.
1041
- *
1042
- * @param user_password - Password required to open the document
1043
- * @param owner_password - Password for full access (defaults to user_password)
1044
- * @param allow_print - Allow printing (default: true)
1045
- * @param allow_copy - Allow copying text (default: true)
1046
- * @param allow_modify - Allow modifying (default: true)
1047
- * @param allow_annotate - Allow annotations (default: true)
1048
1324
  * @param {string} user_password
1049
1325
  * @param {string | null} [owner_password]
1050
1326
  * @param {boolean | null} [allow_print]
@@ -1544,6 +1820,11 @@ class WasmPdfDocument {
1544
1820
  wasm.wasmpdfdocument_version(retptr, this.__wbg_ptr);
1545
1821
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1546
1822
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1823
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1824
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1825
+ if (r3) {
1826
+ throw takeObject(r2);
1827
+ }
1547
1828
  var v1 = getArrayU8FromWasm0(r0, r1).slice();
1548
1829
  wasm.__wbindgen_export3(r0, r1 * 1, 1);
1549
1830
  return v1;
@@ -1551,6 +1832,32 @@ class WasmPdfDocument {
1551
1832
  wasm.__wbindgen_add_to_stack_pointer(16);
1552
1833
  }
1553
1834
  }
1835
+ /**
1836
+ * Focus extraction on a specific rectangular region of a page (v0.3.14).
1837
+ *
1838
+ * @param page_index - Zero-based page number
1839
+ * @param region - [x, y, width, height] in points
1840
+ * @param {number} page_index
1841
+ * @param {Float32Array} region
1842
+ * @returns {WasmPdfPageRegion}
1843
+ */
1844
+ within(page_index, region) {
1845
+ try {
1846
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1847
+ const ptr0 = passArrayF32ToWasm0(region, wasm.__wbindgen_export);
1848
+ const len0 = WASM_VECTOR_LEN;
1849
+ wasm.wasmpdfdocument_within(retptr, this.__wbg_ptr, page_index, ptr0, len0);
1850
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1851
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1852
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1853
+ if (r2) {
1854
+ throw takeObject(r1);
1855
+ }
1856
+ return WasmPdfPageRegion.__wrap(r0);
1857
+ } finally {
1858
+ wasm.__wbindgen_add_to_stack_pointer(16);
1859
+ }
1860
+ }
1554
1861
  /**
1555
1862
  * Get XMP metadata from the document.
1556
1863
  *
@@ -1576,6 +1883,245 @@ class WasmPdfDocument {
1576
1883
  if (Symbol.dispose) WasmPdfDocument.prototype[Symbol.dispose] = WasmPdfDocument.prototype.free;
1577
1884
  exports.WasmPdfDocument = WasmPdfDocument;
1578
1885
 
1886
+ /**
1887
+ * A focused view of a PDF page region for scoped extraction (v0.3.14).
1888
+ */
1889
+ class WasmPdfPageRegion {
1890
+ static __wrap(ptr) {
1891
+ ptr = ptr >>> 0;
1892
+ const obj = Object.create(WasmPdfPageRegion.prototype);
1893
+ obj.__wbg_ptr = ptr;
1894
+ WasmPdfPageRegionFinalization.register(obj, obj.__wbg_ptr, obj);
1895
+ return obj;
1896
+ }
1897
+ __destroy_into_raw() {
1898
+ const ptr = this.__wbg_ptr;
1899
+ this.__wbg_ptr = 0;
1900
+ WasmPdfPageRegionFinalization.unregister(this);
1901
+ return ptr;
1902
+ }
1903
+ free() {
1904
+ const ptr = this.__destroy_into_raw();
1905
+ wasm.__wbg_wasmpdfpageregion_free(ptr, 0);
1906
+ }
1907
+ /**
1908
+ * Extract character-level data from this region.
1909
+ * @returns {any}
1910
+ */
1911
+ extractChars() {
1912
+ try {
1913
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1914
+ wasm.wasmpdfpageregion_extractChars(retptr, this.__wbg_ptr);
1915
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1916
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1917
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1918
+ if (r2) {
1919
+ throw takeObject(r1);
1920
+ }
1921
+ return takeObject(r0);
1922
+ } finally {
1923
+ wasm.__wbindgen_add_to_stack_pointer(16);
1924
+ }
1925
+ }
1926
+ /**
1927
+ * Extract images from this region.
1928
+ * @returns {any}
1929
+ */
1930
+ extractImages() {
1931
+ try {
1932
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1933
+ wasm.wasmpdfpageregion_extractImages(retptr, this.__wbg_ptr);
1934
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1935
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1936
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1937
+ if (r2) {
1938
+ throw takeObject(r1);
1939
+ }
1940
+ return takeObject(r0);
1941
+ } finally {
1942
+ wasm.__wbindgen_add_to_stack_pointer(16);
1943
+ }
1944
+ }
1945
+ /**
1946
+ * Extract straight lines from this region.
1947
+ * @returns {any}
1948
+ */
1949
+ extractLines() {
1950
+ try {
1951
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1952
+ wasm.wasmpdfpageregion_extractLines(retptr, this.__wbg_ptr);
1953
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1954
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1955
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1956
+ if (r2) {
1957
+ throw takeObject(r1);
1958
+ }
1959
+ return takeObject(r0);
1960
+ } finally {
1961
+ wasm.__wbindgen_add_to_stack_pointer(16);
1962
+ }
1963
+ }
1964
+ /**
1965
+ * Extract vector paths from this region.
1966
+ * @returns {any}
1967
+ */
1968
+ extractPaths() {
1969
+ try {
1970
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1971
+ wasm.wasmpdfpageregion_extractPaths(retptr, this.__wbg_ptr);
1972
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1973
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1974
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1975
+ if (r2) {
1976
+ throw takeObject(r1);
1977
+ }
1978
+ return takeObject(r0);
1979
+ } finally {
1980
+ wasm.__wbindgen_add_to_stack_pointer(16);
1981
+ }
1982
+ }
1983
+ /**
1984
+ * Extract rectangles from this region.
1985
+ * @returns {any}
1986
+ */
1987
+ extractRects() {
1988
+ try {
1989
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1990
+ wasm.wasmpdfpageregion_extractRects(retptr, this.__wbg_ptr);
1991
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1992
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1993
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1994
+ if (r2) {
1995
+ throw takeObject(r1);
1996
+ }
1997
+ return takeObject(r0);
1998
+ } finally {
1999
+ wasm.__wbindgen_add_to_stack_pointer(16);
2000
+ }
2001
+ }
2002
+ /**
2003
+ * Extract tables from this region.
2004
+ * @returns {any}
2005
+ */
2006
+ extractTables() {
2007
+ try {
2008
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2009
+ wasm.wasmpdfpageregion_extractTables(retptr, this.__wbg_ptr);
2010
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2011
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2012
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2013
+ if (r2) {
2014
+ throw takeObject(r1);
2015
+ }
2016
+ return takeObject(r0);
2017
+ } finally {
2018
+ wasm.__wbindgen_add_to_stack_pointer(16);
2019
+ }
2020
+ }
2021
+ /**
2022
+ * Extract text from this region.
2023
+ * @returns {string}
2024
+ */
2025
+ extractText() {
2026
+ let deferred2_0;
2027
+ let deferred2_1;
2028
+ try {
2029
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2030
+ wasm.wasmpdfpageregion_extractText(retptr, this.__wbg_ptr);
2031
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2032
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2033
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2034
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
2035
+ var ptr1 = r0;
2036
+ var len1 = r1;
2037
+ if (r3) {
2038
+ ptr1 = 0; len1 = 0;
2039
+ throw takeObject(r2);
2040
+ }
2041
+ deferred2_0 = ptr1;
2042
+ deferred2_1 = len1;
2043
+ return getStringFromWasm0(ptr1, len1);
2044
+ } finally {
2045
+ wasm.__wbindgen_add_to_stack_pointer(16);
2046
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
2047
+ }
2048
+ }
2049
+ /**
2050
+ * Extract text lines from this region.
2051
+ * @returns {any}
2052
+ */
2053
+ extractTextLines() {
2054
+ try {
2055
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2056
+ wasm.wasmpdfpageregion_extractTextLines(retptr, this.__wbg_ptr);
2057
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2058
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2059
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2060
+ if (r2) {
2061
+ throw takeObject(r1);
2062
+ }
2063
+ return takeObject(r0);
2064
+ } finally {
2065
+ wasm.__wbindgen_add_to_stack_pointer(16);
2066
+ }
2067
+ }
2068
+ /**
2069
+ * Extract text using OCR from this region.
2070
+ * @param {WasmOcrEngine | null} [_engine]
2071
+ * @returns {string}
2072
+ */
2073
+ extractTextOcr(_engine) {
2074
+ let deferred3_0;
2075
+ let deferred3_1;
2076
+ try {
2077
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2078
+ let ptr0 = 0;
2079
+ if (!isLikeNone(_engine)) {
2080
+ _assertClass(_engine, WasmOcrEngine);
2081
+ ptr0 = _engine.__destroy_into_raw();
2082
+ }
2083
+ wasm.wasmpdfpageregion_extractTextOcr(retptr, this.__wbg_ptr, ptr0);
2084
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2085
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2086
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2087
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
2088
+ var ptr2 = r0;
2089
+ var len2 = r1;
2090
+ if (r3) {
2091
+ ptr2 = 0; len2 = 0;
2092
+ throw takeObject(r2);
2093
+ }
2094
+ deferred3_0 = ptr2;
2095
+ deferred3_1 = len2;
2096
+ return getStringFromWasm0(ptr2, len2);
2097
+ } finally {
2098
+ wasm.__wbindgen_add_to_stack_pointer(16);
2099
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
2100
+ }
2101
+ }
2102
+ /**
2103
+ * Extract words from this region.
2104
+ * @returns {any}
2105
+ */
2106
+ extractWords() {
2107
+ try {
2108
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2109
+ wasm.wasmpdfpageregion_extractWords(retptr, this.__wbg_ptr);
2110
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2111
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2112
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2113
+ if (r2) {
2114
+ throw takeObject(r1);
2115
+ }
2116
+ return takeObject(r0);
2117
+ } finally {
2118
+ wasm.__wbindgen_add_to_stack_pointer(16);
2119
+ }
2120
+ }
2121
+ }
2122
+ if (Symbol.dispose) WasmPdfPageRegion.prototype[Symbol.dispose] = WasmPdfPageRegion.prototype.free;
2123
+ exports.WasmPdfPageRegion = WasmPdfPageRegion;
2124
+
1579
2125
  function __wbg_get_imports() {
1580
2126
  const import0 = {
1581
2127
  __proto__: null,
@@ -1742,12 +2288,21 @@ function __wbg_get_imports() {
1742
2288
  };
1743
2289
  }
1744
2290
 
2291
+ const WasmOcrConfigFinalization = (typeof FinalizationRegistry === 'undefined')
2292
+ ? { register: () => {}, unregister: () => {} }
2293
+ : new FinalizationRegistry(ptr => wasm.__wbg_wasmocrconfig_free(ptr >>> 0, 1));
2294
+ const WasmOcrEngineFinalization = (typeof FinalizationRegistry === 'undefined')
2295
+ ? { register: () => {}, unregister: () => {} }
2296
+ : new FinalizationRegistry(ptr => wasm.__wbg_wasmocrengine_free(ptr >>> 0, 1));
1745
2297
  const WasmPdfFinalization = (typeof FinalizationRegistry === 'undefined')
1746
2298
  ? { register: () => {}, unregister: () => {} }
1747
2299
  : new FinalizationRegistry(ptr => wasm.__wbg_wasmpdf_free(ptr >>> 0, 1));
1748
2300
  const WasmPdfDocumentFinalization = (typeof FinalizationRegistry === 'undefined')
1749
2301
  ? { register: () => {}, unregister: () => {} }
1750
2302
  : new FinalizationRegistry(ptr => wasm.__wbg_wasmpdfdocument_free(ptr >>> 0, 1));
2303
+ const WasmPdfPageRegionFinalization = (typeof FinalizationRegistry === 'undefined')
2304
+ ? { register: () => {}, unregister: () => {} }
2305
+ : new FinalizationRegistry(ptr => wasm.__wbg_wasmpdfpageregion_free(ptr >>> 0, 1));
1751
2306
 
1752
2307
  function addHeapObject(obj) {
1753
2308
  if (heap_next === heap.length) heap.push(heap.length + 1);
@@ -1758,6 +2313,12 @@ function addHeapObject(obj) {
1758
2313
  return idx;
1759
2314
  }
1760
2315
 
2316
+ function _assertClass(instance, klass) {
2317
+ if (!(instance instanceof klass)) {
2318
+ throw new Error(`expected instance of ${klass.name}`);
2319
+ }
2320
+ }
2321
+
1761
2322
  function dropObject(idx) {
1762
2323
  if (idx < 1028) return;
1763
2324
  heap[idx] = heap_next;
package/pdf_oxide_bg.wasm CHANGED
Binary file
@@ -1,8 +1,11 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
+ export const __wbg_wasmocrconfig_free: (a: number, b: number) => void;
4
5
  export const __wbg_wasmpdf_free: (a: number, b: number) => void;
5
6
  export const __wbg_wasmpdfdocument_free: (a: number, b: number) => void;
7
+ export const __wbg_wasmpdfpageregion_free: (a: number, b: number) => void;
8
+ export const wasmocrengine_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
6
9
  export const wasmpdf_fromHtml: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
7
10
  export const wasmpdf_fromImageBytes: (a: number, b: number, c: number) => void;
8
11
  export const wasmpdf_fromMarkdown: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
@@ -20,12 +23,18 @@ export const wasmpdfdocument_eraseRegion: (a: number, b: number, c: number, d: n
20
23
  export const wasmpdfdocument_eraseRegions: (a: number, b: number, c: number, d: number, e: number) => void;
21
24
  export const wasmpdfdocument_exportFormData: (a: number, b: number, c: number, d: number) => void;
22
25
  export const wasmpdfdocument_extractAllText: (a: number, b: number) => void;
23
- export const wasmpdfdocument_extractChars: (a: number, b: number, c: number) => void;
26
+ export const wasmpdfdocument_extractChars: (a: number, b: number, c: number, d: number, e: number) => void;
24
27
  export const wasmpdfdocument_extractImageBytes: (a: number, b: number, c: number) => void;
25
- export const wasmpdfdocument_extractImages: (a: number, b: number, c: number) => void;
26
- export const wasmpdfdocument_extractPaths: (a: number, b: number, c: number) => void;
27
- export const wasmpdfdocument_extractSpans: (a: number, b: number, c: number) => void;
28
- export const wasmpdfdocument_extractText: (a: number, b: number, c: number) => void;
28
+ export const wasmpdfdocument_extractImages: (a: number, b: number, c: number, d: number, e: number) => void;
29
+ export const wasmpdfdocument_extractLines: (a: number, b: number, c: number, d: number, e: number) => void;
30
+ export const wasmpdfdocument_extractPaths: (a: number, b: number, c: number, d: number, e: number) => void;
31
+ export const wasmpdfdocument_extractRects: (a: number, b: number, c: number, d: number, e: number) => void;
32
+ export const wasmpdfdocument_extractSpans: (a: number, b: number, c: number, d: number, e: number) => void;
33
+ export const wasmpdfdocument_extractTables: (a: number, b: number, c: number, d: number, e: number) => void;
34
+ export const wasmpdfdocument_extractText: (a: number, b: number, c: number, d: number, e: number) => void;
35
+ export const wasmpdfdocument_extractTextLines: (a: number, b: number, c: number, d: number, e: number) => void;
36
+ export const wasmpdfdocument_extractTextOcr: (a: number, b: number, c: number, d: number) => void;
37
+ export const wasmpdfdocument_extractWords: (a: number, b: number, c: number, d: number, e: number) => void;
29
38
  export const wasmpdfdocument_flattenAllAnnotations: (a: number, b: number) => void;
30
39
  export const wasmpdfdocument_flattenForms: (a: number, b: number) => void;
31
40
  export const wasmpdfdocument_flattenFormsOnPage: (a: number, b: number, c: number) => void;
@@ -34,7 +43,7 @@ export const wasmpdfdocument_getAnnotations: (a: number, b: number, c: number) =
34
43
  export const wasmpdfdocument_getFormFieldValue: (a: number, b: number, c: number, d: number) => void;
35
44
  export const wasmpdfdocument_getFormFields: (a: number, b: number) => void;
36
45
  export const wasmpdfdocument_getOutline: (a: number, b: number) => void;
37
- export const wasmpdfdocument_hasStructureTree: (a: number) => number;
46
+ export const wasmpdfdocument_hasStructureTree: (a: number, b: number) => void;
38
47
  export const wasmpdfdocument_hasXfa: (a: number, b: number) => void;
39
48
  export const wasmpdfdocument_mergeFrom: (a: number, b: number, c: number, d: number) => void;
40
49
  export const wasmpdfdocument_new: (a: number, b: number, c: number) => void;
@@ -68,7 +77,20 @@ export const wasmpdfdocument_toMarkdownAll: (a: number, b: number, c: number, d:
68
77
  export const wasmpdfdocument_toPlainText: (a: number, b: number, c: number) => void;
69
78
  export const wasmpdfdocument_toPlainTextAll: (a: number, b: number) => void;
70
79
  export const wasmpdfdocument_version: (a: number, b: number) => void;
80
+ export const wasmpdfdocument_within: (a: number, b: number, c: number, d: number, e: number) => void;
71
81
  export const wasmpdfdocument_xmpMetadata: (a: number, b: number) => void;
82
+ export const wasmpdfpageregion_extractChars: (a: number, b: number) => void;
83
+ export const wasmpdfpageregion_extractImages: (a: number, b: number) => void;
84
+ export const wasmpdfpageregion_extractLines: (a: number, b: number) => void;
85
+ export const wasmpdfpageregion_extractPaths: (a: number, b: number) => void;
86
+ export const wasmpdfpageregion_extractRects: (a: number, b: number) => void;
87
+ export const wasmpdfpageregion_extractTables: (a: number, b: number) => void;
88
+ export const wasmpdfpageregion_extractText: (a: number, b: number) => void;
89
+ export const wasmpdfpageregion_extractTextLines: (a: number, b: number) => void;
90
+ export const wasmpdfpageregion_extractTextOcr: (a: number, b: number, c: number) => void;
91
+ export const wasmpdfpageregion_extractWords: (a: number, b: number) => void;
92
+ export const __wbg_wasmocrengine_free: (a: number, b: number) => void;
93
+ export const wasmocrconfig_new: () => number;
72
94
  export const __wbindgen_export: (a: number, b: number) => number;
73
95
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
74
96
  export const __wbindgen_export3: (a: number, b: number, c: number) => void;