@koi-br/ocr-web-sdk 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -281,6 +281,106 @@ previewRef.value.preview(url, 'file.pdf', {
281
281
  previewRef.value.clearPreview();
282
282
  ```
283
283
 
284
+ #### 访问子组件方法
285
+
286
+ `FilePreview` 提供了多种方式访问子组件的方法:
287
+
288
+ ##### 方式一:使用代理方法(推荐)
289
+
290
+ `FilePreview` 提供了常用方法的代理,可以直接调用:
291
+
292
+ ```javascript
293
+ // PDF 预览相关方法
294
+ previewRef.value.goToPage(5); // 跳转到第5页
295
+ previewRef.value.jumpToPosition(1, [100, 100, 200, 200]); // 跳转到指定位置
296
+ const currentPage = previewRef.value.getCurrentPage(); // 获取当前页码
297
+ const totalPages = previewRef.value.getTotalPages(); // 获取总页数
298
+
299
+ // 图片预览相关方法
300
+ previewRef.value.resetImage(); // 重置图片预览
301
+ previewRef.value.resetTif(); // 重置 TIF 预览
302
+ ```
303
+
304
+ ##### 方式二:获取子组件引用
305
+
306
+ 如果需要访问子组件的所有方法,可以获取子组件的引用:
307
+
308
+ ```javascript
309
+ // 获取 PDF 预览组件引用
310
+ const pdfPreview = previewRef.value.getPdfPreview();
311
+ if (pdfPreview) {
312
+ pdfPreview.jumpToPosition(1, [100, 100, 200, 200]);
313
+ pdfPreview.goToPage(5);
314
+ }
315
+
316
+ // 获取图片预览组件引用
317
+ const imagePreview = previewRef.value.getImagePreview();
318
+ if (imagePreview) {
319
+ imagePreview.reset();
320
+ }
321
+
322
+ // 获取当前活动的预览组件(根据文件类型自动返回)
323
+ const currentPreview = previewRef.value.getCurrentPreview();
324
+ if (currentPreview) {
325
+ // 如果是 PDF 预览,可以调用 PDF 相关方法
326
+ if (currentPreview.jumpToPosition) {
327
+ currentPreview.jumpToPosition(1, [100, 100, 200, 200]);
328
+ }
329
+ // 如果是图片预览,可以调用图片相关方法
330
+ if (currentPreview.reset) {
331
+ currentPreview.reset();
332
+ }
333
+ }
334
+ ```
335
+
336
+ **完整使用示例:**
337
+ ```vue
338
+ <template>
339
+ <div>
340
+ <FilePreview ref="previewRef" :is-download="true" />
341
+ <button @click="handlePreview">预览文件</button>
342
+ <button @click="handleJumpToPage">跳转到第5页</button>
343
+ <button @click="handleJumpToPosition">跳转到指定位置</button>
344
+ </div>
345
+ </template>
346
+
347
+ <script setup>
348
+ import { ref } from 'vue';
349
+ import { FilePreview } from '@koi-br/ocr-web-sdk';
350
+
351
+ const previewRef = ref(null);
352
+
353
+ const handlePreview = () => {
354
+ previewRef.value.preview('https://example.com/file.pdf', 'file.pdf');
355
+ };
356
+
357
+ const handleJumpToPage = () => {
358
+ // 方式一:使用代理方法(推荐)
359
+ previewRef.value.goToPage(5);
360
+
361
+ // 方式二:获取 PDF 预览组件引用
362
+ const pdfPreview = previewRef.value.getPdfPreview();
363
+ if (pdfPreview) {
364
+ pdfPreview.goToPage(5);
365
+ }
366
+ };
367
+
368
+ const handleJumpToPosition = () => {
369
+ // 跳转到第1页的指定位置 [x1, y1, x2, y2]
370
+ const bbox = [100, 100, 200, 200];
371
+
372
+ // 方式一:使用代理方法(推荐)
373
+ previewRef.value.jumpToPosition(1, bbox);
374
+
375
+ // 方式二:获取 PDF 预览组件引用
376
+ const pdfPreview = previewRef.value.getPdfPreview();
377
+ if (pdfPreview) {
378
+ pdfPreview.jumpToPosition(1, bbox);
379
+ }
380
+ };
381
+ </script>
382
+ ```
383
+
284
384
  ---
285
385
 
286
386
  ### PdfPreview 组件
@@ -321,8 +421,6 @@ interface BlockInfo {
321
421
  |--------|------|--------|------|
322
422
  | `goToPage` | `pageNum: number` | - | 跳转到指定页码(从1开始) |
323
423
  | `jumpToPosition` | `pageNum: number, bbox: [number, number, number, number], emitEvent?: boolean` | - | 跳转到指定位置并高亮(统一接口,**自动识别类型**,无需传入类型参数) |
324
- | `jumpToBlockPosition` | `pageNum: number, bbox: [number, number, number, number], emitEvent?: boolean` | - | 跳转到指定文本块位置并高亮(向后兼容的别名,内部调用统一接口) |
325
- | `jumpToSealPosition` | `pageNum: number, bbox: [number, number, number, number], emitEvent?: boolean` | - | 跳转到指定印章位置并高亮(向后兼容的别名,内部调用统一接口) |
326
424
  | `getCurrentPage` | - | `number` | 获取当前页码 |
327
425
  | `getTotalPages` | - | `number` | 获取总页数 |
328
426
  | `reset` | - | - | 重置预览状态 |
@@ -721,10 +819,6 @@ const handleFileChange = (event) => {
721
819
  ```javascript
722
820
  // 自动识别类型(推荐)
723
821
  pdfRef.value?.jumpToPosition(pageNum, bbox);
724
-
725
- // 向后兼容的别名方法
726
- pdfRef.value?.jumpToBlockPosition(pageNum, bbox);
727
- pdfRef.value?.jumpToSealPosition(pageNum, bbox);
728
822
  ```
729
823
 
730
824
  ### 6. 资源清理