基础扫描

方法
AcquireImage() CloseSource() DisableSource()
EnableSource() OpenSource() SelectSource()
SelectSourceByIndex() SetOpenSourceTimeout()
属性
BitDepth IfAppendImage IfDisableSourceAfterAcquire
IfDuplexEnabled IfFeederEnabled IfShowUI
ImageCaptureDriverType PageSize PixelType
Resolution SourceCount
事件
OnPostAllTransfers OnPostTransfer

示例代码

function BasicScan() {
    if (DWObject) {
        if (Dynamsoft.Lib.env.bMac) {
            DWObject.ImageCaptureDriverType = EnumDWT_Driver.TWAIN_AND_ICA;
        }
        DWObject.RegisterEvent('OnPostTransfer', function () {
            console.log('One page scanned!');
        });
        DWObject.RegisterEvent('OnPostAllTransfers', function () {
            DWObject.CloseSource();
        });
        DWObject.SelectSource(function () {
            DWObject.SetOpenSourceTimeout(3000);
            DWObject.OpenSource();
            DWObject.IfShowUI = false;
            DWObject.IfDisableSourceAfterAcquire = true;
            DWObject.PixelType = EnumDWT_PixelType.TWPT_RGB;
            DWObject.BitDepth = 24;
            DWObject.PageSize = EnumDWT_CapSupportedSizes.TWSS_A4;
            DWObject.Resolution = 300;
            DWObject.IfFeederEnabled = true;
            DWObject.IfDuplexEnabled = true;
            DWObject.IfAppendImage = false;
            DWObject.AcquireImage(function () {
                    /**
                    * 如果IfDisableSourceAfterAcquire为true,
                    * 则这一行代码无意义
                    */
                    DWObject.DisableSource();
                },
                function () {
                        DWObject.DisableSource();
                }
            );
        }, function () {
            console.log('Failed to select a source, there are ' +
                DWObject.SourceCount + ' sources in total.');
        });
    }
}

方法

AcquireImage()
开始扫描。
语法 .AcquireImage([optionalDeviceConfig], [optionalAsyncSuccessFunc, optionalAsyncFailureFunc]);
参数 optional optionalDeviceConfig: 包含扫描设置的JS对象。
<OnSuccess function> optional optionalAsyncSuccessFunc: 方法执行成功时的回调。
<OnFailure function> optional optionalAsyncFailureFunc: 方法执行失败时的回调。
请参考函数原型OnSuccessOnFailure
返回值 Boolean
版本信息 Versions: All Versions
Editions: All Editions
使用说明 参数仅针对HTML5版本。通过组合使用参数,本方法有四种调用方式,如下代码所示。
示例代码
var DeviceConfig = {
    IfShowUI: false,
    PixelType: EnumDWT_PixelType.TWPT_RGB,
    Resolution: 300,
    IfFeederEnabled: true,
    IfDuplexEnabled: false,
    IfDisableSourceAfterAcquire: true
};

function AsyncSuccessFunc() {
    console.log('successful');
}

function AsyncFailureFunc(errorCode, errorString) {
    alert(errorString);
}

function AcquireImage1() {
    DWObject.SelectSource();
    DWObject.OpenSource();
    DWObject.IfShowUI = false;
    DWObject.PixelType = EnumDWT_PixelType.TWPT_RGB;
    DWObject.Resolution = 300;
    DWObject.IfFeederEnabled = true;
    DWObject.IfDuplexEnabled = false;
    DWObject.IfDisableSourceAfterAcquire = true;
    DWObject.AcquireImage();
}

function AcquireImage2() {
    DWObject.SelectSource();
    DWObject.OpenSource();
    DWObject.AcquireImage(DeviceConfig);
}

function AcquireImage3() {
    DWObject.SelectSource();
    DWObject.OpenSource();
    DWObject.IfShowUI = false;
    DWObject.PixelType = EnumDWT_PixelType.TWPT_RGB;
    DWObject.Resolution = 300;
    DWObject.IfFeederEnabled = true;
    DWObject.IfDuplexEnabled = false;
    DWObject.IfDisableSourceAfterAcquire = true;
    DWObject.AcquireImage(AsyncSuccessFunc, AsyncFailureFunc);
}

function AcquireImage4() {
    DWObject.SelectSource();
    DWObject.OpenSource();
    DWObject.AcquireImage(DeviceConfig, AsyncSuccessFunc, AsyncFailureFunc);
}
CloseSource()
关闭扫描源。
语法 .CloseSource();
参数
返回值 Boolean
版本信息 Versions: All Versions
Editions: All Editions
使用说明 在版本10.0 ~ 11.2中CloseSource()会在扫描完成后自动触发。
示例代码
DWObject.RegisterEvent('OnPostAllTransfers', function () {
    DWObject.CloseSource();
});
DisableSource()
停止扫描但是不关闭扫描源。
语法 .DisableSource();
参数
返回值 Boolean
版本信息 Versions: All Versions
Editions: All Editions
使用说明 调用DisableSource()后,扫描源未关闭,可以调用AcquireImage()或者 EnableSource()继续扫描。
示例代码
DWObject.RegisterEvent('OnPostAllTransfers', function () {
    DWObject.DisableSource();
});
EnableSource()
开始扫描。
语法 .EnableSource();
参数
返回值 Boolean
版本信息 Versions: All Versions
Editions: All Editions
使用说明 本方法作用和AcquireImage()一样。
示例代码
function AcquireImage4() {
    DWObject.SelectSource();
    DWObject.OpenSource();
    DWObject.EnableSource();
}
OpenSource()
加载扫描源。若源未指定,即SelectSource()SelectSourceByIndex()都未调用,则将加载默认源。
语法 .OpenSource();
参数
返回值 Boolean
版本信息 Versions: All Versions
Editions: All Editions
使用说明 在和源做任何交互前,必须调用OpenSource()。
示例代码
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.IfShowUI = false;
DWObject.Resolution = 300;
DWObject.AcquireImage();
SelectSource()
调用源选择窗口以选择一个扫描源。
语法 .SelectSource([optionalAsyncSuccessFunc, optionalAsyncFailureFunc]);
参数 <OnSuccess function> optional optionalAsyncSuccessFunc: 方法执行成功时的回调。
<OnFailure function> optional optionalAsyncFailureFunc: 方法执行失败时的回调。
返回值 Boolean,仅限同步(即无参数)调用。
版本信息 Versions: All Versions
Editions: All but the HTML5 for Linux Edition
使用说明 可选参数仅在v14.0以后的HTML5版本及v14.1后的ActiveX中可用。
示例代码
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.IfShowUI = false;
DWObject.Resolution = 300;
DWObject.AcquireImage();
DWObject.SelectSource(function () {
    DWObject.OpenSource();
    DWObject.IfShowUI = false;
    DWObject.Resolution = 300;
    DWObject.AcquireImage();
}, function () {
    console.log('Failed to select a source, there are ' +
        DWObject.SourceCount + ' sources in total.');
});
SelectSourceByIndex()
通过一个源在源列表中的索引来选中它。
语法 .SelectSourceByIndex(Number index);
参数 Number index: 源的索引。
返回值 Boolean
版本信息 Versions: All Versions
Editions: All Editions
使用说明 在不想打开源选择窗口时使用本方法。
示例代码
DWObject.SelectSourceByIndex(0);
DWObject.IfShowUI = false;
DWObject.Resolution = 300;
DWObject.AcquireImage();
SetOpenSourceTimeout()
设置一个计时器,并在超时后停止加载源的操作。
语法 .SetOpenSourceTimeout(iMilliseconds);
参数 Number nMilliseconds: 计时器的时间。
返回值 Boolean
版本信息 Versions: v11+
Editions: All Editions
使用说明 SetOpenSourceTimeout()应当在OpenSource()前调用。
示例代码
DWObject.SetOpenSourceTimeout(3000);
DWObject.OpenSource();
DWObject.AcquireImage();

属性

BitDepth
设置或返回当前PixelType对应的图像位深。
类型 Number
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。
位深和当前PixelType是相关的。如黑白图'TWPT_BW'(0)的位深肯定是1,灰度图'TWPT_GRAY'(1)可以是8或者16,彩色图'TWPT_RGB'(2)一般是24。
版本信息 Versions: v3.0+
Editions: All Editions
IfAppendImage
设置或返回是否将新扫描或加载的图放到已有图的最后。
类型 Boolean
访问权限 Get Set
使用说明 若本属性为true,则新扫描或者加载的图将出现在所有图的最后。反之,新图将被插入到当前选中图之前。
版本信息 Versions: v5.1+
Editions: All Editions
IfDisableSourceAfterAcquire
设置或返回是否在扫描完成后关闭用户界面。
类型 Boolean
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。本属性仅在IfShowUItrue时有效。
版本信息 Versions: v3.0+
Editions: All Editions
IfDuplexEnabled
设置或返回是否启用双面扫描。
类型 Boolean
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。
请注意并不是所有的扫描仪都支持双面扫描。可以在OpenSource()后查看Duplex的值来确定双面扫描是否可用。
版本信息 Versions: v3.0+
Editions: All Editions
IfFeederEnabled
设置或返回是否启用自动进纸器进行扫描。
类型 Boolean
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。
若设为true,则扫描时将先调用自动进纸器,如果没有自动进纸器,则会使用平板进行扫描。
版本信息 Versions: v3.0+
Editions: All Editions
IfShowUI
设置或返回在扫描时是否打开用户界面。
类型 Boolean
访问权限 Get Set
使用说明 若本属性设为true则在调用AcquireImage()时,对应扫描源的用户界面将打开以供用户修改扫描设置。反之,扫描将直接开始。
版本信息 Versions: v3.0+
Editions: All Editions
ImageCaptureDriverType
设置或返回在macOS上是调用TWAIN还是ICA的扫描源。
类型 Number
访问权限 Get Set
使用说明 应当在SDK初始化时或者在调用CloseSourceManager()OpenSourceManager()后再设置本属性。

本属性仅支持macOS。可选值有

EnumDWT_Driver.TWAIN: 0
EnumDWT_Driver.ICA: 3
EnumDWT_Driver.TWAIN_AND_ICA: 4 (v14.0新增且为默认值)
若设为EnumDWT_Driver.TWAIN或0,则扫描时只用TWAIN源。若设为EnumDWT_Driver.ICA或3,则扫描只用ICA源,一般这些源都可以在苹果公司官网找到。若不设置或者设为EnumDWT_Driver.TWAIN_AND_ICA或4,则TWAIN和ICA的源都可以使用。

Dynamsoft推荐在macOS上使用ICA扫描源。理由如下:

  1. 一个支持ICA的扫描仪在macOS上一般可以即插即用,无需安装额外驱动。
  2. 一个同时支持ICA和TWAIN的扫描仪在macOS上一般ICA源更好用。用户界面隐藏的情况下更是如此。
版本信息 Versions: v9.1+
Editions: 仅限HTML5 for Mac
PageSize
设置或返回扫描时的页面大小。
类型 EnumDWT_CapSupportedSizes
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。
版本信息 Versions: v3.0+
Editions: All Editions
PixelType
设置或返回扫描时的色彩模式。
类型 EnumDWT_PixelType
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。
版本信息 Versions: v3.0+
Editions: All Editions
Resolution
设置或返回扫描时的分辨率。
类型 Number
访问权限 Get Set
使用说明 应在OpenSource()方法后及AcquireImage()前设置本属性。
版本信息 Versions: v3.0+
Editions: All Editions
SourceCount
返回当前可找到的扫描源,请注意这些扫描仪也可能是没有连接到电脑上的。
类型 Number
访问权限 Get
使用说明 SourceCount返回0,则表示当前系统上无扫描源可用。
版本信息 Versions: All versions.
Editions: All Editions

事件

OnPostAllTransfers
本事件在一次扫描完全传输完成后触发。
语法 .RegisterEvent('OnPostAllTransfers',function(){...});
参数
示例代码
DWObject.RegisterEvent('OnPostAllTransfers', function() {
    console.log(DWObject.HowManyImagesInBuffer);
});
使用说明 本事件在一次扫描过程中只在最后触发一次,可以在对应的回调函数中执行图片上传,二维码识别等操作。
版本信息 Versions: v2.0+
Editions: All Editions
OnPostTransfer
本事件在扫描过程中每一张图片扫描完成并传输结束后触发。
语法 .RegisterEvent('OnPostTransfer',function(){...});
参数 none
示例代码
DWObject.RegisterEvent('OnPostTransfer', function() {
    console.log("一张图扫好了");
});
使用说明 本事件在一次扫描过程中触发多次,可以在对应回调中检查已经传输的那张图片的属性。
版本信息 Versions: All Versions
Editions: All Editions

results matching ""

    No results matching ""