当前位置: 首页 > article >正文

【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能

【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能

一、前言

在这里插入图片描述

图(1-1)

HarmonyOS 系统提供的核心场景化视觉服务,旨在帮助开发者快速实现移动端文档数字化功能。

其核心能力包括:扫描合同、票据、会议记录并保存为 PDF 分享。拍摄课堂 PPT、书籍章节生成图片存档。快速识别表格数据,减少手动录入成本。

在HarmonyOS 5.0 及以上系统的手机 / 平板(不支持模拟器)。

二、鸿蒙中的文档扫描都具备什么功能?

在这里插入图片描述
图(1-2)

** 文档扫描控件(DocumentScanner)** 是 AI Vision Kit。文档扫描控件提供拍摄文档并转换为高清扫描件的服务。

  1. 使用手机拍摄文档,即可自动裁剪和优化,并支持jpeg图片、PDF格式保存和分享。如图(1-1)所示。
  2. 支持拍摄拍照或图片识别表格,生成表格文档。如图(1-2)所示。

三、鸿蒙中的文档扫描怎么用?

1. 导入依赖模块:

import { DocType, DocumentScanner, DocumentScannerConfig, SaveOption, FilterId, ShootingMode, EditTab, DocumentScannerResultCallback } from "@kit.VisionKit";

2. 配置扫描config对象:
定义扫描参数(如拍摄模式、识别类型、滤镜等)。

名称类型可选说明
maxShotCountnumber最大拍摄张数,范围[1,50],默认1
supportTypeDocType[]支持的识别类型(文档/表格),默认[DocType.DOC],部分机型仅支持文档。
isGallerySupportedboolean是否支持从图库选图,默认true
defaultFilterIdFilterId初始滤镜(原图/黑白/增强),默认增强(STRENGTHEN)。
editTabsEditTab[]Tab栏功能按钮(旋转/删除/重拍),默认全部显示。
defaultShootingModeShootingMode拍摄模式(自动/手动),默认手动(MANUAL)。
isShareableboolean是否支持分享,默认true
saveOptionsSaveOption[]保存格式(JPG/PDF/EXCEL),默认[JPG, EXCEL]
originalUrisstring[]初始图片URI列表(用于直接跳转编辑页),最大长度50,需符合尺寸规格。
  private docScanConfig = new DocumentScannerConfig()setDocScanConfig() {this.docScanConfig.supportType = [DocType.DOC, DocType.SHEET]this.docScanConfig.isGallerySupported = truethis.docScanConfig.editTabs = []this.docScanConfig.maxShotCount = 3this.docScanConfig.defaultFilterId = FilterId.ORIGINALthis.docScanConfig.defaultShootingMode = ShootingMode.MANUALthis.docScanConfig.isShareable = truethis.docScanConfig.originalUris = []}

3. UI布局中添加DocumentScanner
将第二步配置创建好的scannerConfig对象进行赋值。
并且处理onResult回调,当扫描处理成功后会返回Uris。

参数名类型说明
codenumber状态码:
-1=取消/
200=成功/
1008601001=URI无效(5.0.5+)
saveTypeSaveOption保存格式(JPG/PDF/EXCEL)
urisstring[]生成的文件URI列表(扫描结果或表格文档)
        //文档扫描DocumentScanner({scannerConfig: this.docScanConfig,onResult: (code: number, sav
http://www.lryc.cn/news/2397351.html

相关文章:

  • Python_day43
  • STM32CubeDAC及DMA配置
  • SQL快速入门【转自牛客网】
  • 行业案例 | OPPO借助Azure AI Speech国际服务实现音频文件智能转录
  • 基于 OpenCV 和 DLib 实现面部特征调整(眼间距、鼻子、嘴巴)
  • spring-boot接入websocket教程以及常见问题解决
  • 迈向分布式智能:解析MCP到A2A的通信范式迁移
  • 深度学习|pytorch基本运算-hadamard积、点积和矩阵乘法
  • FFmpeg移植教程(linux平台)
  • Mybatis:灵活掌控SQL艺术
  • 2025.05.28【Choropleth】群体进化学专用图:区域数据可视化
  • Java设计模式详解:策略模式(Strategy Pattern)
  • 【春秋云镜】CVE-2022-26965 靶场writeup
  • 爬虫的几种方式(使用什么技术来进行一个爬取数据)
  • XML 编码:结构化数据的基石
  • nt!CcGetVacbMiss函数分析之设置好nt!_VACB然后调用函数nt!SetVacb
  • JSP、HTML和Tomcat
  • (1)pytest简介和环境准备
  • Git 入门学习教程
  • 构建高性能风控指标系统
  • openfeignFeign 客户端禁用 SSL
  • DeepSeek 赋能自动驾驶仿真测试:解锁高效精准新范式
  • 晨控CK-UR12与西门子PLC配置Modbus TCP通讯连接操作手册
  • 实验一:PyTorch基本操作实验
  • 可视化大屏通用模板Axure原型设计案例
  • 通配符(Wildcard)与正则表达式(Regular Expression)的关系及区别
  • 历年山东大学计算机保研上机真题
  • Java处理动态的属性:字段不固定、需要动态扩展的 JSON 数据结构
  • MAC电脑怎么通过触摸屏打开右键
  • 用 Whisper 打破沉默:AI 语音技术如何重塑无障碍沟通方式?