
Scanner.js enables HTML JavaScript scanning in web browsers (Chrome, Edge, Firefox, IE). Scan documents from TWAIN WIA scanners in browsers and upload to the server side, which can be written in any script (Java, C# VB ASP.NET, PHP, Python, Ruby). JPEG, PDF, TIFF are supported.
function scanToWebPageAndUpload() {
scanner.scan(displayImagesOnPage, {
"twain_cap_setting" : {
"ICAP_PIXELTYPE" : "TWPT_RGB",
"ICAP_SUPPORTEDSIZES" : "TWSS_USLETTER"
},
"output_settings" : [
{ "type" : "return-base64", "format" : "jpg"}
{ "type": "upload", "format": "pdf",
"upload_target": {
"url": "https://asprise.com/scan/applet/upload.php?action=dump"
}
}
]
});
}
Installation
bower install scanner
Features
- Cross-Browser Support: Chrome, Edge, Firefox and IE
- Integrate To Pages Within An Hour
- Fast Flatbed And ADF Scanning
- Generates Thumbnails & Upload To Web Servers Directly
- Multiple output formats: JPG, PDF, PDF/A, TIFF, CCITT G4
- Barcode Reading & Blank Page Detection
- Cloud Ready; Easy Deployment
Quick Start
Install Scanner.js:
bower install scanner
Include scanner.js into your page:
<script src="bower_components/scanner/dist/scanner.js"></script>
You may then start to call Scanner.js functions:
<button type="button" onclick="scan();">Scan</button>
<div id="images"/>
<script type="text/javascript" >
var scanRequest = {
"use_asprise_dialog": true,
"show_scanner_ui": false,
"twain_cap_setting": {
"ICAP_PIXELTYPE": "TWPT_RGB"
},
"output_settings": [{
"type": "return-base64",
"format": "jpg"
}]
};
function scan() {
scanner.scan(displayImagesOnPage, scanRequest);
}
function displayImagesOnPage(successful, mesg, response) {
if (!successful) {
console.error('Failed: ' + mesg);
return;
}
if (successful && mesg != null && mesg.toLowerCase().indexOf('user cancel') >= 0) {
console.info('User cancelled');
return;
}
var scannedImages = scanner.getScannedImages(response, true, false);
for (var i = 0;
(scannedImages instanceof Array) && i < scannedImages.length; i++) {
var scannedImage = scannedImages[i];
var elementImg = scanner.createDomElementFromModel({
'name': 'img',
'attributes': {
'class': 'scanned',
'src': scannedImage.src
}
});
(document.getElementById('images') ? document.getElementById('images') : document.body).appendChild(elementImg);
}
}
</script>
Developer's Guide to ScannerJs
| Sample code on Github