chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【HarmonyOS 5】鴻蒙應(yīng)用實(shí)現(xiàn)發(fā)票掃描、文檔掃描輸出PDF圖片或者表格的功能

HarmonyOS解決方案 ? 來(lái)源:HarmonyOS解決方案 ? 作者:HarmonyOS解決方案 ? 2025-07-11 18:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

HarmonyOS 5】鴻蒙應(yīng)用實(shí)現(xiàn)發(fā)票掃描、文檔掃描輸出PDF圖片或者表格的功能

##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)#

一、前言

image.png

圖(1-1)

HarmonyOS 的 ** 文檔掃描控件(DocumentScanner)** 是 AI Vision Kit 提供的核心場(chǎng)景化視覺(jué)服務(wù),旨在幫助開(kāi)發(fā)者快速實(shí)現(xiàn)移動(dòng)端文檔數(shù)字化功能。

其核心能力包括 :掃描合同、票據(jù)、會(huì)議記錄并保存為 PDF 分享。拍攝課堂 PPT、書(shū)籍章節(jié)生成圖片存檔。快速識(shí)別表格數(shù)據(jù),減少手動(dòng)錄入成本。

在HarmonyOS 5.0 及以上系統(tǒng)的手機(jī) / 平板( 不支持模擬 )。

二、DocumentScanner都具備什么功能?

image.png

圖(1-2)

文檔掃描控件提供拍攝文檔并轉(zhuǎn)換為高清掃描件的服務(wù)。

  1. 使用手機(jī)拍攝文檔,即可自動(dòng)裁剪和優(yōu)化,并支持 jpeg圖片、PDF格式保存和分享 。如圖(1-1)所示。
  2. 支持拍攝拍照或圖片識(shí)別表格,生成 表格文檔 。如圖(1-2)所示。

三、DocumentScanner怎么用?

1. 導(dǎo)入依賴模塊:

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

2. 配置掃描config對(duì)象:
定義掃描參數(shù)(如拍攝模式、識(shí)別類(lèi)型、濾鏡等)。

名稱類(lèi)型可選說(shuō)明
maxShotCountnumber最大拍攝張數(shù),范圍[1,50],默認(rèn)1。
supportTypeDocType[]支持的識(shí)別類(lèi)型(文檔/表格),默認(rèn)[DocType.DOC],部分機(jī)型僅支持文檔。
isGallerySupportedboolean是否支持從圖庫(kù)選圖,默認(rèn)true。
defaultFilterIdFilterId初始濾鏡(原圖/黑白/增強(qiáng)),默認(rèn)增強(qiáng)(STRENGTHEN)。
editTabsEditTab[]Tab欄功能按鈕(旋轉(zhuǎn)/刪除/重拍),默認(rèn)全部顯示。
defaultShootingModeShootingMode拍攝模式(自動(dòng)/手動(dòng)),默認(rèn)手動(dòng)(MANUAL)。
isShareableboolean是否支持分享,默認(rèn)true
saveOptionsSaveOption[]保存格式(JPG/PDF/EXCEL),默認(rèn)[JPG, EXCEL]。
originalUrisstring[]初始圖片URI列表(用于直接跳轉(zhuǎn)編輯頁(yè)),最大長(zhǎng)度50,需符合尺寸規(guī)格。
private docScanConfig = new DocumentScannerConfig()

  setDocScanConfig() {
    this.docScanConfig.supportType = [DocType.DOC, DocType.SHEET]
    this.docScanConfig.isGallerySupported = true
    this.docScanConfig.editTabs = []
    this.docScanConfig.maxShotCount = 3
    this.docScanConfig.defaultFilterId = FilterId.ORIGINAL
    this.docScanConfig.defaultShootingMode = ShootingMode.MANUAL
    this.docScanConfig.isShareable = true
    this.docScanConfig.originalUris = []
  }

3. UI布局中添加DocumentScanner
將第二步配置創(chuàng)建好的scannerConfig對(duì)象進(jìn)行賦值。
并且處理onResult回調(diào),當(dāng)掃描處理成功后會(huì)返回Uris。

參數(shù)名類(lèi)型說(shuō)明
codenumber狀態(tài)碼:-1=取消/200=成功/1008601001=URI無(wú)效(5.0.5+)
saveTypeSaveOption保存格式(JPG/PDF/EXCEL)
urisstring[]生成的文件URI列表(掃描結(jié)果或表格文檔)
//文檔掃描
        DocumentScanner({
          scannerConfig: this.docScanConfig,
          onResult: (code: number, saveType: SaveOption, uris: string[]) = > {
            hilog.info(0x0001, TAG, `result code: ${code}, save: ${saveType}`)
            if (code === -1) {
              this.pathStack?.pop()
            }
            uris.forEach(uriString = > {
              hilog.info(0x0001, TAG, `uri: ${uriString}`)
            })
            this.docImageUris = uris
          }
        })
          .size({ width: '100%', height: '100%' })

源碼示例分享

image.png

// MainPage.ets - 掃描入口頁(yè)面

import { NavPathStack } from '@ohos.router';
import { DocDemoPage } from './DocDemoPage'; // 引入掃描實(shí)現(xiàn)頁(yè)

@Entry
@Component
struct MainPage {
  // 導(dǎo)航棧管理頁(yè)面跳轉(zhuǎn)
  private pathStack: NavPathStack = new NavPathStack()

  build() {
    Navigation(this.pathStack) {
      Column({ space: 20 }) {
        // 標(biāo)題
        Text('文檔掃描Demo').fontSize(24).fontWeight(500);
        
        // 掃描入口按鈕
        Button('開(kāi)始掃描文檔', { type: ButtonType.Capsule, stateEffect: true })
          .width('60%')
          .height(50)
          .onClick(() = > {
            // 跳轉(zhuǎn)到掃描頁(yè)面
            this.pathStack.pushPath({ name: 'documentScanner' });
          });
      }
      .justifyContent(FlexAlign.Center)
      .width('100%')
      .height('100%');
    }
	.navDestination(this.PageMap)
    .mode(NavigationMode.Stack)
    .title('文檔掃描示例');
  }
}

// DocDemoPage.ets - 掃描功能實(shí)現(xiàn)與結(jié)果展示

import { 
  DocType, DocumentScanner, DocumentScannerConfig, 
  SaveOption, FilterId, ShootingMode, EditTab 
} from "@kit.VisionKit";
import { hilog, LogLevel } from '@ohos.hilog'; // 日志工具

const TAG = 'DocScannerDemo'; // 日志標(biāo)簽

@Entry
@Component
export struct DocDemoPage {
  @State scanResults: string[] = []; // 保存掃描結(jié)果URI
  private pathStack: NavPathStack | null = null;

  // 掃描配置初始化
  private docScanConfig = new DocumentScannerConfig();

  // 頁(yè)面加載時(shí)配置掃描參數(shù)
  aboutToAppear() {
    this.docScanConfig.supportType = [DocType.DOC, DocType.SHEET]; // 支持文檔和表格識(shí)別
    this.docScanConfig.maxShotCount = 3; // 最多拍攝3張
    this.docScanConfig.isGallerySupported = true; // 允許從圖庫(kù)選圖
    this.docScanConfig.defaultFilterId = FilterId.STRENGTHEN; // 默認(rèn)增強(qiáng)濾鏡
    this.docScanConfig.defaultShootingMode = ShootingMode.MANUAL; // 手動(dòng)拍攝模式
    this.docScanConfig.editTabs = [EditTab.ROTATE_TAB, EditTab.RESHOOT_TAB]; // 顯示旋轉(zhuǎn)和重拍按鈕
    this.docScanConfig.saveOptions = [SaveOption.JPG, SaveOption.PDF, SaveOption.EXCEL]; // 支持三種保存格式
    this.docScanConfig.isShareable = true; // 開(kāi)啟分享功能
  }

  build() {
    NavDestination({ name: 'documentScanner' }) {
      Stack() {
        // 掃描結(jié)果展示區(qū)域
        Column() {
          if (this.scanResults.length > 0) {
            Text('掃描結(jié)果').fontSize(18).fontWeight(500).margin({ top: 20 });
            Grid() {
              ForEach(this.scanResults, (uri, index) = > {
                // 展示縮略圖,點(diǎn)擊可預(yù)覽(示例中簡(jiǎn)化為日志輸出)
                Image(uri)
                  .objectFit(ImageFit.Contain)
                  .width(150)
                  .height(150)
                  .margin(10)
                  .onClick(() = > hilog.info(LogLevel.INFO, TAG, `預(yù)覽圖片:${uri}`));
              })
              .columnsTemplate('1fr 1fr') // 兩行布局
              .rowGap(10)
              .columnGap(10);
          }
        }
        .width('100%')
        .padding(20);

        // 文檔掃描控件主體
        DocumentScanner({
          scannerConfig: this.docScanConfig,
          onResult: (code: number, saveType: SaveOption, uris: string[]) = > {
            hilog.info(LogLevel.INFO, TAG, `掃描結(jié)果:code=${code}, 格式=${SaveOption[saveType]}`);
            switch (code) {
              case 200: // 成功
                this.scanResults = uris; // 更新結(jié)果列表
                hilog.info(LogLevel.INFO, TAG, `保存路徑:${uris.join(', ')}`);
                break;
              case -1: // 用戶取消
                this.pathStack.pop(); // 返回上一頁(yè)
                break;
              case 1008601001: // URI無(wú)效(5.0.5+支持)
                hilog.error(LogLevel.ERROR, TAG, '傳入的圖片規(guī)格不符合要求');
                break;
            }
          }
        })
        .size({ width: '100%', height: '100%' })
        .margin({ top: 80 }); // 留出結(jié)果展示區(qū)域空間
      }
      .width('100%')
      .height('100%')
      .hideTitleBar(true); // 隱藏導(dǎo)航欄
      .onReady((context: NavDestinationContext)= >{
      		this.pathStack = context?.pathStack;
    	})
  }
}

注意

originalUris圖片

  • 單邊長(zhǎng)度:224px ≤ 長(zhǎng)/寬 ≤ 8000px。
  • 寬高乘積:≤ 6000×8000 px2。
  • 寬高比:≤ 3(即最長(zhǎng)邊/最短邊 ≤ 3)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2620

    瀏覽量

    44064
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33105
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS 5鴻蒙應(yīng)用隱私保護(hù)詳解

    HarmonyOS 5鴻蒙應(yīng)用隱私保護(hù)詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:30 ?304次閱讀

    HarmonyOS 5鴻蒙中進(jìn)度條的使用詳解

    HarmonyOS 5鴻蒙中進(jìn)度條的使用詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:26 ?227次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】<b class='flag-5'>鴻蒙</b>中進(jìn)度條的使用詳解

    HarmonyOS 5鴻蒙星閃NearLink詳解

    HarmonyOS 5鴻蒙星閃NearLink詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:24 ?325次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】<b class='flag-5'>鴻蒙</b>星閃NearLink詳解

    HarmonyOS 5鴻蒙mPaaS詳解

    HarmonyOS 5鴻蒙mPaaS詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:23 ?287次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】<b class='flag-5'>鴻蒙</b>mPaaS詳解

    HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

    HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:20 ?289次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】金融應(yīng)用開(kāi)發(fā)<b class='flag-5'>鴻蒙</b>組件實(shí)踐

    HarmonyOS 5鴻蒙中的UIAbility詳解(二)

    HarmonyOS 5鴻蒙中的UIAbility詳解(二) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:17 ?271次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】<b class='flag-5'>鴻蒙</b>中的UIAbility詳解(二)

    HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解

    HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解 ##鴻蒙開(kāi)發(fā)能力 ##Har
    的頭像 發(fā)表于 07-07 11:57 ?154次閱讀
    【 <b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b> 入門(mén)系列 】<b class='flag-5'>鴻蒙</b><b class='flag-5'>HarmonyOS</b>示例項(xiàng)目講解

    HarmonyOS實(shí)戰(zhàn):一招搞定保存圖片到相冊(cè)

    保存圖片功能幾乎是每個(gè)應(yīng)用程序必備的功能之一,當(dāng)用戶遇到喜歡的圖片時(shí)可以保存到手機(jī)相冊(cè)。那么在鴻蒙中保存
    的頭像 發(fā)表于 06-24 17:04 ?188次閱讀

    HarmonyOS 5】桌面快捷方式功能實(shí)現(xiàn)詳解

    HarmonyOS 5】桌面快捷方式功能實(shí)現(xiàn)詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS S
    的頭像 發(fā)表于 06-21 16:42 ?298次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】桌面快捷方式<b class='flag-5'>功能</b><b class='flag-5'>實(shí)現(xiàn)</b>詳解

    掃描電機(jī)的PID恒速控制仿真及實(shí)驗(yàn)

    ,實(shí)現(xiàn)了對(duì)電機(jī)選控制。 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:掃描電機(jī)的PID恒速控制仿真及實(shí)驗(yàn).pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片
    發(fā)表于 06-16 21:53

    HarmonyOS 5鴻蒙中的UIAbility詳解(三)

    HarmonyOS 5鴻蒙中的UIAbility詳解(三) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 06-14 22:32 ?50次閱讀

    鴻蒙5開(kāi)發(fā)寶藏案例分享---優(yōu)化應(yīng)用包體積大小問(wèn)題

    ; { module.showFeature(); }); 場(chǎng)景建議 : 非核心功能(如客服、小游戲) 地域限定內(nèi)容(如海外版插件) ?5. 掃描工具:精準(zhǔn)定位優(yōu)化點(diǎn) **鴻蒙提供
    發(fā)表于 06-13 10:09

    DevEco Studio AI輔助開(kāi)發(fā)工具兩大升級(jí)功能 鴻蒙應(yīng)用開(kāi)發(fā)效率再提升

    隨著搭載HarmonyOS 5的Pura X發(fā)布,鴻蒙生態(tài)進(jìn)入快車(chē)道,各應(yīng)用正在加速適配開(kāi)發(fā),越來(lái)越多開(kāi)發(fā)者加入到鴻蒙應(yīng)用開(kāi)發(fā)浪潮中。為提升鴻蒙
    發(fā)表于 04-18 14:43

    鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit獲發(fā)票抬頭

    Scenario Fusion Kit對(duì)應(yīng)的Button組件并設(shè)置openType為CHOOSE_INVOICE_TITLE,打開(kāi)華為賬號(hào)發(fā)票抬頭選擇頁(yè)。 用戶可以在發(fā)票抬頭選擇頁(yè)選擇已有發(fā)票抬頭
    發(fā)表于 04-01 15:26

    遠(yuǎn)程輸入輸出掃描儀說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《遠(yuǎn)程輸入輸出掃描儀說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 03-26 15:06 ?0次下載