国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描

這篇具有很好參考價(jià)值的文章主要介紹了鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

華為鴻蒙HarmonyOS已經(jīng)發(fā)展到4.0,使用ArkTS作為開(kāi)發(fā)語(yǔ)言。這篇文章結(jié)合Dynamsoft Service開(kāi)發(fā)一個(gè)簡(jiǎn)單的鴻蒙應(yīng)用,用來(lái)獲取辦公室里連接PC的掃描儀(惠普,富士通,愛(ài)普生,等),把文檔掃描到手機(jī)里。

準(zhǔn)備工作

  • Dynamsoft Service

    1. 在連接著掃描儀的電腦上安裝Dynamsoft Service。安裝包可以滿足各種國(guó)產(chǎn)操作系統(tǒng),比如統(tǒng)信UOS,麒麟Kylin OS等。支持的架構(gòu)有:x86,x64,arm64mips64el。支持的掃描儀協(xié)議包括TWAIN,WIASANE,ICAeSCL(AirPrint)。下載地址:

      • Windows: Dynamsoft-Service-Setup.msi
      • macOS: Dynamsoft-Service-Setup.pkg
      • Linux:
        • Dynamsoft-Service-Setup.deb
        • Dynamsoft-Service-Setup-arm64.deb
        • Dynamsoft-Service-Setup-mips64el.deb
        • Dynamsoft-Service-Setup.rpm

      然后訪問(wèn)http://127.0.0.1:18622/DWTAPI/Scanners。正常安裝可以獲取到掃描儀列表。

      鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描,harmonyos,華為

    2. 在瀏覽器中打開(kāi)http://127.0.0.1:18625/,把host127.0.0.1改成PC的局域網(wǎng)IP地址。比如192.168.8.72,修改成功可以通過(guò)局域網(wǎng)IP地址訪問(wèn)192.168.8.72:18622/DWTAPI/Scanners獲取到掃描儀列表。

      鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描,harmonyos,華為

    3. 申請(qǐng)一個(gè)免費(fèi)試用序列號(hào),掃描文件的時(shí)候需要用。

  • DevEco Studio

    下載地址:https://developer.harmonyos.com/cn/develop/deveco-studio/#download。安裝前先安裝Node.js,路徑中不要帶空格,否則安裝DevEco Studio, 下載HarmonyOS SDK可能會(huì)失敗。

鴻蒙程序開(kāi)發(fā)

在DevEco Studio中新建工程。

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描,harmonyos,華為

entry/src/main/module.json5中添加網(wǎng)絡(luò)權(quán)限:

{
  "module": {
    ...
    "abilities": [
      ...
    ],
    "requestPermissions": [{"name": "ohos.permission.INTERNET"}]
  }
}

打開(kāi)entry/src/main/etc/pages/Index.ets,導(dǎo)入網(wǎng)絡(luò)和圖像模塊:

import http from '@ohos.net.http';
import image from '@ohos.multimedia.image';

聲明UI組件,包含兩個(gè)按鈕,一個(gè)下拉按鈕和一個(gè)圖片控件:

@Entry
@Component
struct Index {
  @State deviceNames: SelectOption[] = [{value: ''}]
  @State displayImage: PixelMap = undefined
  licenseKey: string = "LICENSE-KEY"; // https://www.dynamsoft.com/customer/license/trialLicense?product=dwt
  host: string = 'http://192.168.8.72:18622'
  devices = []
  index: number = 0
  build() {
    Column() {
      Row() {
        Button('Get Devices')
          .onClick(() => {
            
            }
            );
          }).width('30%')
        Column() {
          Select(this.deviceNames)
            .selected(this.index)
            .value(this.deviceNames[this.index].value.toString())
            .font({size: 14, family: 'serif', style: FontStyle.Normal })
            .onSelect((index:number)=>{
              this.index = index;
            })
        }.width('40%').alignItems(HorizontalAlign.Center)

        Button('Scan')
          .onClick(() => {
            
            }
            );

          }).width('30%')
      }.backgroundColor(0xFFFFFF).padding({ left: 12 }).width('100%').margin({bottom: 5})
      Divider()
      Image(this.displayImage).height('100%').width('100%')
    }.justifyContent(FlexAlign.Start).width('100%').height('100%').padding({left: 5, top: 5, right: 5, bottom: 5})
  }
}

這里的licenseKeyhost需要替換成自己的。

當(dāng)點(diǎn)擊Get Devices按鈕的時(shí)候,我們通過(guò)HTTP GET來(lái)獲取掃描儀列表:

Button('Get Devices')
    .onClick(() => {
    let url = this.host + '/DWTAPI/Scanners'

    let httpRequest = http.createHttp();
    httpRequest.on('headersReceive', (header) => {
        console.info('header: ' + JSON.stringify(header));
    })

    httpRequest.request(
        url,
        {
        method: http.RequestMethod.GET,
        header: {
            'Content-Type': 'application/json'
        }
        }, (err, data) => {
        if (!err) {
        try {
            const jsonArray = JSON.parse(data.result.toString())
            this.devices = []
            let tmp: SelectOption[] = []
            for (const obj of jsonArray) {
            tmp.push({value: obj.name})
            this.devices.push(obj)
            }

            if (tmp.length > 0) {
            this.index = 0
            this.deviceNames = tmp
            }

        } catch (error) {
            console.error("Error parsing JSON:", error);
        }

        console.info('code:' + JSON.stringify(data.responseCode));

        } else {
        console.info('error:' + JSON.stringify(err));
        httpRequest.off('headersReceive');
        httpRequest.destroy();
        }
    }
    );
    }).width('30%')

當(dāng)點(diǎn)擊Scan按鈕的時(shí)候,我們通過(guò)HTTP POST來(lái)觸發(fā)掃描儀掃描文檔. 字段extraData用于傳輸內(nèi)容,等同于HTTP請(qǐng)求中的body。傳輸?shù)膮?shù)可以自定義,具體可以參考在線文檔。

Button('Scan')
    .onClick(() => {
    if (this.devices.length == 0) {
        return;
    }
    let parameters = {
        license: this.licenseKey,
        device: this.devices[this.index].device,
        config: {
        IfShowUI: false,
        PixelType: 2,
        //XferCount: 1,
        //PageSize: 1,
        Resolution: 200,
        IfFeederEnabled: false,
        IfDuplexEnabled: false,
        }
    };

    let url = this.host + '/DWTAPI/ScanJobs';
    let httpRequest = http.createHttp();
    httpRequest.on('headersReceive', (header) => {
        console.info('header: ' + JSON.stringify(header));
    })
    httpRequest.request(
        url,
        {
        method: http.RequestMethod.POST,
        header: {
            'Content-Type': 'application/json'
        },
        extraData: JSON.stringify(parameters),
        }, (err, data) => {
        if (!err) {
        if (data.responseCode == 201) {
            let jobId = data.result;
            let url = this.host + '/DWTAPI/ScanJobs/' + jobId + '/NextDocument';
            let httpRequest = http.createHttp();
            httpRequest.request(
            url,
            {
                method: http.RequestMethod.GET,
                expectDataType: http.HttpDataType.ARRAY_BUFFER
            }, (err, data) => {
            if (!err) {
                if (data.responseCode == 200) {
                    // show image
                }
            } else {
                console.info('error:' + JSON.stringify(err));
                httpRequest.destroy();
            }
            }
            );
        }
        } else {
        console.info('error:' + JSON.stringify(err));
        httpRequest.off('headersReceive');
        httpRequest.destroy();
        }
    }
    );

    }).width('30%')

獲取到的圖像是一個(gè)ArrayBuffer,我們通過(guò)image.createImageSource來(lái)創(chuàng)建一個(gè)PixelMap對(duì)象,然后把它賦值給displayImage,就可以在UI上顯示出來(lái)了。

let imageData = data.result as ArrayBuffer;
const imageSource = image.createImageSource(imageData);
imageSource.createPixelMap().then(pixelmap => {
    this.displayImage = pixelmap;
});

在華為手機(jī)或者鴻蒙模擬器中運(yùn)行文檔掃描程序:
鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描,harmonyos,華為

源代碼

https://gitee.com/yushulx/harmonyos-document-scanner文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-723100.html

到了這里,關(guān)于鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā):掃描儀文件掃描的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 推薦一個(gè) C#寫(xiě)的 支持OCR的免費(fèi)通用掃描儀軟件

    NAPS2是一個(gè)開(kāi)源免費(fèi)軟件,體積只有6M不到,支持運(yùn)行在 Windows, Mac 和 Linux操作系統(tǒng)中,默認(rèn)就帶有簡(jiǎn)體中文界面,官方默認(rèn)就提供綠色版,所以解壓即可使用,直接可以從官方網(wǎng)站下載:https://www.naps2.com/。 NAPS2全名叫做Not Another PDF Scanner 2,中文名叫做【不是另一個(gè)PDF掃描儀

    2024年02月08日
    瀏覽(89)
  • 如何利用Trimble RealWorks三維激光掃描儀進(jìn)行外業(yè)測(cè)量和內(nèi)業(yè)處理?

    如何利用Trimble RealWorks三維激光掃描儀進(jìn)行外業(yè)測(cè)量和內(nèi)業(yè)處理?

    ??筆者所在資源與環(huán)境工程學(xué)院實(shí)驗(yàn)室采購(gòu)有一臺(tái)Trimble RealWorks三維激光掃描儀(儀器名:Trimble TX8),因項(xiàng)目需要,在學(xué)校實(shí)驗(yàn)場(chǎng)地進(jìn)行實(shí)地測(cè)量訓(xùn)練,相應(yīng)的Trimble RealWorks數(shù)據(jù)處理軟件資料來(lái)自Trimble經(jīng)銷商的網(wǎng)上軟件使用直播培訓(xùn)視頻(可訪問(wèn)嗶哩嗶哩:Trimble_Geo)。

    2024年02月02日
    瀏覽(88)
  • 用Python和OpenCV搭建自己的一維碼和QRCode掃描儀(步驟 + 源碼)

    用Python和OpenCV搭建自己的一維碼和QRCode掃描儀(步驟 + 源碼)

    導(dǎo)? 讀 ????本文主要介紹使用Python和OpenCV搭建自己的一維碼和QRCode掃描儀(步驟 + 源碼)。 項(xiàng)目簡(jiǎn)介 ????本文我們將創(chuàng)建一個(gè)程序來(lái)掃描圖像中的二維碼和條形碼。對(duì)于這個(gè)程序,我們需要三個(gè)包,分別是OpenCV、NumPy和pyzbar。大多數(shù) Python 程序員都熟悉 OpenCV 和 Numpy 庫(kù)。

    2024年02月19日
    瀏覽(120)
  • 鴻蒙(HarmonyOS)應(yīng)用開(kāi)發(fā)指南

    鴻蒙(HarmonyOS)應(yīng)用開(kāi)發(fā)指南

    1.1 簡(jiǎn)介 鴻蒙 (即 HarmonyOS ,開(kāi)發(fā)代號(hào) Ark ,正式名稱為華為終端鴻蒙智能設(shè)備操作系統(tǒng)軟件)是華為公司自 2012 年以來(lái)開(kāi)發(fā)的一款可支持鴻蒙原生應(yīng)用和兼容 AOSP 應(yīng)用的 分布式操作系統(tǒng) 。該系統(tǒng)利用“分布式”技術(shù)將 手機(jī)、電腦、平板、電視、汽車和智能穿戴 等多款設(shè)備

    2024年02月02日
    瀏覽(59)
  • HarmonyOS 鴻蒙應(yīng)用開(kāi)發(fā)(十一、面向鴻蒙開(kāi)發(fā)的JavaScript基礎(chǔ))

    HarmonyOS 鴻蒙應(yīng)用開(kāi)發(fā)(十一、面向鴻蒙開(kāi)發(fā)的JavaScript基礎(chǔ))

    ArkTS 是HarmonyOS(鴻蒙操作系統(tǒng))原生應(yīng)用開(kāi)發(fā)的首選語(yǔ)言。它是用于構(gòu)建用戶界面的一種TypeScript方言,擴(kuò)展了TypeScript以適應(yīng)HarmonyOS生態(tài)系統(tǒng)的UI開(kāi)發(fā)需求。ArkTS 融合了TypeScript的靜態(tài)類型系統(tǒng)和現(xiàn)代UI框架的設(shè)計(jì)理念,為開(kāi)發(fā)者提供了一種更安全高效的方式來(lái)編寫(xiě)HarmonyOS應(yīng)用。

    2024年02月20日
    瀏覽(35)
  • 軌道交通車體自動(dòng)化檢修測(cè)量大尺寸測(cè)量?jī)x器-CASAIM激光三維掃描儀

    軌道交通車體自動(dòng)化檢修測(cè)量大尺寸測(cè)量?jī)x器-CASAIM激光三維掃描儀

    現(xiàn)今我國(guó)軌道交通高速發(fā)展,重大裝備技術(shù)的進(jìn)步離不開(kāi)先進(jìn)的大尺寸測(cè)量手段支持,CASAIM大尺寸測(cè)量在測(cè)量環(huán)境、測(cè)量精度和測(cè)量效率上明顯區(qū)別于常規(guī)尺寸測(cè)量,可以快速檢測(cè)車體表面的尺寸變形等問(wèn)題,實(shí)現(xiàn)高精度、高效率的自動(dòng)化車體檢測(cè)。 保證車體的幾何精度是提

    2024年02月11日
    瀏覽(85)
  • 鴻蒙應(yīng)用開(kāi)發(fā)嘗鮮:初識(shí)HarmonyOS

    鴻蒙應(yīng)用開(kāi)發(fā)嘗鮮:初識(shí)HarmonyOS

    來(lái)源:華為官方網(wǎng)站 : https://developer.huawei.com/ 相信大家對(duì)鴻蒙應(yīng)用開(kāi)發(fā)也不在陌生,很多身處互聯(lián)網(wǎng)行業(yè)或者不了解的人們現(xiàn)在也一定都聽(tīng)說(shuō)過(guò)華為鴻蒙.這里我將不再說(shuō)廢話,直接步入正題 HarmonyOS應(yīng)用開(kāi)發(fā)采用的是ArkTS語(yǔ)言,ArkTS是在TypeScript(簡(jiǎn)稱TS)基礎(chǔ)上的拓展,而TS又是JavaScrip

    2024年02月02日
    瀏覽(35)
  • 鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)初體驗(yàn)

    鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)初體驗(yàn)

    最近華為發(fā)布mt60新機(jī)火了,作為一名移動(dòng)開(kāi)發(fā)程序員,對(duì)鴻蒙系統(tǒng)開(kāi)發(fā)移動(dòng)端就很感興趣了。 開(kāi)發(fā)工具:HUAWEI DevEco Studio和SDK下載和升級(jí) | HarmonyOS開(kāi)發(fā)者 下載完后按默認(rèn)安裝就可以了,界面跟AS很類似,之前我jdk環(huán)境配置就不在配置了,不懂的可以百度下很多教程。 這是基

    2024年02月09日
    瀏覽(27)
  • 【HarmonyOS】開(kāi)發(fā)一個(gè)可以看小姐姐的鴻蒙應(yīng)用 鴻蒙開(kāi)發(fā)入門(mén)

    【HarmonyOS】開(kāi)發(fā)一個(gè)可以看小姐姐的鴻蒙應(yīng)用 鴻蒙開(kāi)發(fā)入門(mén)

    先整張效果圖,丑點(diǎn)是丑點(diǎn),但可以用,買不起鴻蒙系統(tǒng)手機(jī)的我,只配用虛擬機(jī)。 要說(shuō)目前最火的手機(jī)操作系統(tǒng),要我來(lái)看的話那必然是鴻蒙無(wú)疑。16號(hào)剛剛結(jié)束了第五次鴻蒙內(nèi)測(cè),在看到這次的內(nèi)測(cè)名單之后,居然有970的機(jī)器,這是不是說(shuō)明俺這手里奮戰(zhàn)了三年的榮耀

    2024年02月15日
    瀏覽(28)
  • 【HarmonyOS】鴻蒙應(yīng)用開(kāi)發(fā)基礎(chǔ)認(rèn)證題目

    【HarmonyOS】鴻蒙應(yīng)用開(kāi)發(fā)基礎(chǔ)認(rèn)證題目

    【HarmonyOS】鴻蒙應(yīng)用開(kāi)發(fā)基礎(chǔ)認(rèn)證題目; 隨著鴻蒙系統(tǒng)的不斷發(fā)展,前不久,華為宣布了重磅消息,HarmonyOS next 開(kāi)發(fā)者版本會(huì)在明年(2024)開(kāi)放,并不再支持Android應(yīng)用!這也意味著,移動(dòng)端開(kāi)發(fā)者今后又多了一個(gè)適配平臺(tái),也到了必須學(xué)的時(shí)候了。 目前已知一線大廠均已開(kāi)

    2024年02月04日
    瀏覽(85)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包