Dynamsoft-ը վերջերս թողարկեց Dynamic Web TWAIN SDK v18.0-ի նոր տարբերակը: Նոր տարբերակն աջակցում է eSCL արձանագրությանը, որը թույլ է տալիս միանալ ցանցային սկաներներին: Բացի eSCL-ին Windows-ի, Linux-ի և macOS-ի համար Dynamsoft ծառայության մեջ ինտեգրվելուց, Dynamsoft-ը նաև Android հարթակ է բերել eSCL սկաների հաղորդակցման հավելված: Chromebook օգտվողները կարող են օգտվել նաև Android հավելվածից: Սա բոլորովին նոր փորձ է, որը կարող եք մուտք գործել անլար սկաներներ ցանկացած աշխատասեղանից (Windows, Linux, macOS, ChromeOS strong>, Raspberry Pi OS) և Android դիտարկիչներ: Այս հոդվածը ցույց է տալիս, թե ինչպես օգտագործել նոր Dynamic Web TWAIN API-ը՝ վեբ հավելվածներում eSCL սկաներներից փաստաթղթեր սկանավորելու համար:

Ինչու eSCL:

Եթե ​​օգտագործում եք Epson-ի, Canon-ի, HP-ի կամ Fujitsu-ի կողմից ստեղծված փաստաթղթերի սկաներ, կարող եք պարզել, որ սկաները աջակցում է բազմաթիվ արձանագրությունների, ինչպիսիք են TWAIN, SANE, eSCL, WIA և ICA: eSCL-ի ուժն այն է, որ այն ցանցային արձանագրություն է, ինչը նշանակում է, որ դուք կարող եք միանալ սկաներին նույն ցանցի ցանկացած սարքից՝ առանց օպերացիոն համակարգի սահմանափակման:

Նոր Dynamic Web TWAIN API eSCL սկաներների համար

Քանի որ Dynamic Web TWAIN v18.0-ից, բոլոր աջակցվող սկաներները ցուցակագրելու միակ միջոցը GetDevicesAsync() մեթոդի օգտագործումն է: Ծրագրավորողների համար, ովքեր օգտագործել են Dynamic Web TWAIN-ի նախորդ տարբերակը, դուք պետք է փոխեք API-ը՝ eSCL սկաները գտնելու համար: Հին GetSourceNames() մեթոդը դեռ համատեղելի է այլ սկաների արձանագրությունների հետ, ինչպիսիք են TWAIN, SANE, WIA և ICA:

Հարցման սկաներների կոդի հատվածը հետևյալն է.

var selectSources = document.getElementById("sources");
var sourceList = [];

dwtObject.GetDevicesAsync(Dynamsoft.DWT.EnumDWT_DeviceType.TWAINSCANNER | Dynamsoft.DWT.EnumDWT_DeviceType.ESCLSCANNER).then((sources) => {
sourceList = sources;

selectSources.options.length = 0;
for (let i = 0; i < sources.length; i++) {
    let option = document.createElement("option");
    option.text = sources[i].displayName;
    option.value = i.toString();
    selectSources.add(option);
}
});

Փաստաթղթի պատկերը սկաներից ստանալու համար կարող եք օգտագործել AcquireImageAsync() մեթոդը.

dwtObject.SelectDeviceAsync(sourceList[selectSources.selectedIndex]).then(() => {

return dwtObject.OpenSourceAsync()

}).then(() => {

return dwtObject.AcquireImageAsync({
    IfFeederEnabled: document.getElementById("ADF").checked,
    PixelType: pixelType,
    Resolution: parseInt(document.getElementById("Resolution").value),
    IfDisableSourceAfterAcquire: true
})

}).then(() => {
if (dwtObject) {
    dwtObject.CloseSource();
}
}).catch(
    (e) => {
    console. Error(e)
    }
)

Նշում. Dynamic Web TWAIN-ում պատկերների ձեռքբերման երկու եղանակ կա՝ AcquireImage() և AcquireImageAsync(): Նրանց միջև տարբերությունն այն է, որ AcquireImage()-ն օգտագործվում է Dynamic Web TWAIN-ի նախորդ տարբերակների համար, մինչդեռ AcquireImageAsync()-ն օգտագործվում է Dynamic Web TWAIN v18.0 և ավելի ուշ տարբերակների համար:

Վեբ հավելված ստեղծելու ամբողջական քայլերը, որը կարող է փաստաթղթեր սկանավորել eSCL սկաներներից.

  1. Դիմեք Dynamsoft փորձնական լիցենզիայի համար:
  2. Տեղադրեք Dynamic Web TWAIN SDK-ն:
npm install dwt

3. Ներառեք Dynamic Web TWAIN SDK-ն ձեր վեբ հավելվածում:

<script src="node_modules/dwt/dist/dynamsoft.webtwain.min.js"></script>

4. Ստեղծեք Dynamic Web TWAIN օբյեկտ և կապեք այն HTML div տարրին:

Dynamsoft.DWT.ProductKey = "DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==";
   Dynamsoft.DWT.ResourcesPath = "node_modules/dwt/dist/";
   var dwtObject = null;
   Dynamsoft.DWT.CreateDWTObjectEx({ "WebTwainId": "container" }, (obj) => {
     dwtObject = obj;
        
     dwtObject.Viewer.bind(document.getElementById("document-container"));
     dwtObject.Viewer.width = 640;
     dwtObject.Viewer.height = 640;
     dwtObject.Viewer.show();
     onReady();
   }, (errorString) => {
     console.log(errorString);
   });

   function onReady() {
     if (dwtObject != null) {

       dwtObject.IfShowUI = false;

       dwtObject.GetDevicesAsync(Dynamsoft.DWT.EnumDWT_DeviceType.TWAINSCANNER | Dynamsoft.DWT.EnumDWT_DeviceType.ESCLSCANNER).then((sources) => {
         sourceList = sources;

         selectSources.options.length = 0;
         for (let i = 0; i < sources.length; i++) {
           let option = document.createElement("option");
           option.text = sources[i].displayName;
           option.value = i.toString();
           selectSources.add(option);
         }
       });
     }
   }

5. Ստեղծեք կոճակ՝ փաստաթղթերը eSCL սկաներներից սկանավորելու համար:

<button onclick="acquireImage()">Scan Documents</button>
    
 function acquireImage() {
     if (!dwtObject)
       return;

     if (selectSources) {
       var pixelTypeInputs = document.getElementsByName("PixelType");
       for (var i = 0; i < pixelTypeInputs.length; i++) {
         if ((pixelTypeInputs[i]).checked) {
           pixelType = (pixelTypeInputs[i]).value;
           break;
         }
       }
       dwtObject.SelectDeviceAsync(sourceList[selectSources.selectedIndex]).then(() => {
         return dwtObject.OpenSourceAsync()
       }).then(() => {
         return dwtObject.AcquireImageAsync({
           IfFeederEnabled: document.getElementById("ADF").checked,
           PixelType: pixelType,
           Resolution: parseInt(document.getElementById("Resolution").value),
           IfDisableSourceAfterAcquire: true
         })
       }).then(() => {
         if (dwtObject) {
           dwtObject.CloseSource();
         }
       }).catch(
           (e) => {
             console.error(e)
           }
         )
     } else {
       alert("No Source Available!");
     }
   }

6. Գործարկեք վեբ հավելվածը և սկանավորեք փաստաթղթերը eSCL սկաներներից:

python -m http.server

Փաստաթղթերի սկանավորում Android վեբ դիտարկիչից

Սեղանի օպերացիոն համակարգերում Dynamic Web TWAIN API-ն աշխատեցնելու համար նախ պետք է տեղադրել Dynamsoft ծառայությունը: Նույնն է Android-ի համար։ Google Play-ում որոնեք Dynamsoft Service և տեղադրեք այն:

Գործարկեք Android հավելվածը՝ ֆոնային eSCL սկաների ծառայությունը սկսելու համար:

Դուք կարող եք սեղմել Online Demo հղումը՝ առցանց ցուցադրությունը գործարկելու համար:

Քանի դեռ դուք ունեք eSCL սկաներ միացված ձեր տեղական ցանցին, սկաները ինքնաբերաբար կհայտնաբերվի:

Այնուհետև կարող եք թղթե փաստաթղթեր տեղադրել սկաների վրա և հարմար կերպով սկանավորել դրանք ձեր Android սարքում:

Աղբյուրի կոդը

https://github.com/yushulx/dynamic-web-twain-custom-ui/blob/main/dwt-ui.htm

Սկզբնապես հրապարակվել է https://www.dynamsoft.com-ում 2022 թվականի դեկտեմբերի 25-ին: