scannerjs/scanner.js

ScannerJS:JavaScript在浏览器中扫描TWAIN WIA扫描仪的JPG PDF图像(Chrome、Edge、Firefox或IE)

2.10.3 2018-01-03 03:18 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:16:06 UTC


README

ScannerJS: JavaScript Web Twain Scanner Access from Browsers (Chrome, Edge, Firefox, IE)

Scanner.js使HTML JavaScript扫描在浏览器(Chrome、Edge、Firefox、IE)中成为可能。在浏览器中扫描TWAIN WIA扫描仪的文档并上传到服务器端,服务器端可以编写任何脚本(Java、C# VB ASP.NET、PHP、Python、Ruby)。支持JPEG、PDF、TIFF。

function scanToWebPageAndUpload() {
  scanner.scan(displayImagesOnPage, {
    "twain_cap_setting" : {
        "ICAP_PIXELTYPE" : "TWPT_RGB", // Color
        "ICAP_SUPPORTEDSIZES" : "TWSS_USLETTER" // Paper size: TWSS_USLETTER, TWSS_A4, ...
    }, 
    "output_settings" : [
        { "type" : "return-base64", "format" : "jpg"} // return images to web page
        { "type": "upload", "format": "pdf", // upload as PDF
            "upload_target": { 
                "url": "https://asprise.com/scan/applet/upload.php?action=dump"
            }
        }
    ]
  });
}

安装

bower install scanner

特性

  • 跨浏览器支持:Chrome、Edge、Firefox和IE
  • 一小时内集成到页面中
  • 快速平板和ADF扫描
  • 生成缩略图并直接上传到Web服务器
  • 多种输出格式:JPG、PDF、PDF/A、TIFF、CCITT G4
  • 条码阅读和空白页检测
  • 云就绪;易于部署

文档和社区

快速入门

安装Scanner.js

bower install scanner

将scanner.js包含到您的页面中

<script src="bower_components/scanner/dist/scanner.js"></script>

然后您可以开始调用Scanner.js函数

<button type="button" onclick="scan();">Scan</button> <!-- Triggers scan -->   
<div id="images"/> <!-- Displays scanned images  -->

<script type="text/javascript" >
// Need to upload scanned images to server or save them on hard disk? Please refer to the dev guide: http://asprise.com/document-scan-upload-image-browser/ie-chrome-firefox-scanner-docs.html
// For more scanning code samples, please visit https://github.com/Asprise/scannerjs.javascript-scanner-access-in-browsers-chrome-ie.scanner.js

var scanRequest = {
    "use_asprise_dialog": true, // Whether to use Asprise Scanning Dialog
    "show_scanner_ui": false, // Whether scanner UI should be shown
    "twain_cap_setting": { // Optional scanning settings
        "ICAP_PIXELTYPE": "TWPT_RGB" // Color
    },
    "output_settings": [{
        "type": "return-base64",
        "format": "jpg"
    }]
};

/** Triggers the scan */
function scan() {
    scanner.scan(displayImagesOnPage, scanRequest);
}

/** Processes the scan result */
function displayImagesOnPage(successful, mesg, response) {
    if (!successful) { // On error
        console.error('Failed: ' + mesg);
        return;
    }
    if (successful && mesg != null && mesg.toLowerCase().indexOf('user cancel') >= 0) { // User cancelled.
        console.info('User cancelled');
        return;
    }
    var scannedImages = scanner.getScannedImages(response, true, false); // returns an array of ScannedImage
    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>

ScannerJs开发者指南 | GitHub上的示例代码