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 սկաներներից.
- Դիմեք Dynamsoft փորձնական լիցենզիայի համար:
- Տեղադրեք 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-ին: