进阶扫描

方法
CancelAllPendingTransfers() CloseSourceManager() CloseWorkingProcess()
FeedPage() GetCustomDSData() GetCustomDSDataEx()
GetDeviceType() GetSourceNameItems() OpenSourceManager()
ResetImageLayout() RewindPage() SetCustomDSData()
SetCustomDSDataEx() SetFileXferInfo() SetImageLayout()
属性
Brightness Contrast CurrentSourceName
DataSourceStatus DefaultSourceName Duplex
IfAutoBright IfAutoDiscardBlankpages IfAutoFeed
IfAutomaticBorderDetection IfAutomaticDeskew IfAutoScan
IfFeederLoaded IfPaperDetectable IfShowIndicator
IfUIControllable IfUseTwainDSM PendingXfers
PixelFlavor TransferMode Unit
XferCount
事件
OnPreAllTransfers OnPreTransfer OnSourceUIClose

方法

CancelAllPendingTransfers()
取消所有待传输的图像数据。
语法 .CancelAllPendingTransfers();
参数 None
返回值 Boolean
使用说明 注意该方法只在OnPreAllTransfersOnPreTransferOnPostTransfer这几个事件中有效。
版本信息 v5.2+
CloseSourceManager()
关闭并从Data Source Manager (设备源管理器) 中退出。
语法 .CloseSourceManager();
参数 None
返回值 Boolean
使用说明 CloseSourceManager()这个方法在扫描页面关闭的时候是是会自动调用的,目的是为了释放该页面所占用的硬件设备资源。
版本信息 v5.2+
CloseWorkingProcess()
关闭本地的扫描进程。
语法 .CloseWorkingProcess();
参数 None
返回值 Boolean
使用说明 在HTML5版本中,Dynamic Web TWAIN 在扫描时会启用一个独立的扫描进程来处理扫描操作。在没有扫描操作的时候,该进程的资源使用非常少。但如果有必要,你仍可以通过主动调用这个接口来关闭掉扫描进程。请注意,关闭进程后,如果要再次使用,会有较小的一个延时(因为要重新启动进程)。
版本信息 v11.2+
EnableSource()
开启使用指定的硬件设备。同时,扫描进程会被创建起来。
语法 .EnableSource();
参数 None
返回值 Boolean
使用说明 None
版本信息 v5.2+
FeedPage()
吐出当前的扫描页并开始扫描自动进纸口的下一页。
语法 .FeedPage();
参数 None
返回值 Boolean
使用说明 请在OpenSource()方法调用了之后再使用上述的接口设置。
版本信息 v5.2+
GetCustomDSData()
获取当前硬件设备的扫描设置并以文件形式保存到本地磁盘上。
语法 .GetCustomDSData(string fileName);
参数 string filename
返回值 Boolean
使用说明 扫描设置文件的保存路径,示例如: DWObject.GetCustomDSData("C:\\customDSData");
版本信息 v10.0+
GetCustomDSDataEx()
获取当前硬件设备的扫描设置并以base64字符串形式返回。
语法 .GetCustomDSDataEx();
返回值 一串编码了当前扫描仪扫描设置的base64字符串。
版本信息 v10.0+
GetDeviceType()
返回当前所选硬件设备的设备类别,如扫描仪,摄像头,等等。
语法 .GetDeviceType();
参数 None
返回值 Number
使用说明 下面是该方法的可能返回值和附带说明:
0: Failed, 表示获取失败,请查看 ErrorString 来获取具体信息。
1: 表示数码相机
2: 表示只支持平板的扫描仪
3: 表示支持平板和自动进纸的扫描仪
4: 表示只支持自动进纸的扫描仪
5: 表示支持平板和进纸口(不连续进纸)的扫描仪
6: Feeder-only scanner, without auto feed 表示只有进纸口(不连续进纸)的扫描仪
7: 表示网络摄像头
版本信息 v7.0+
GetSourceNameItems()
通过硬件设备在Windows TWAIN设备列表中的索引号(从0开始)来获取硬件设备名。
语法 .GetSourceNameItems(short index);
参数 short index
硬件设备在Windows TWAIN设备列表中的索引号(从0开始)。 例如
DWObject.GetSourceNameItems(0);
返回值 String
使用说明 可以跟SourceCount属性(用来判断客户端电脑上TWAIN设备的数量)一起使用,来获取电脑上的全部TWAIN兼容设备 - 主要为扫描仪。
版本信息 v7.0+
OpenSourceManager()
加载并打开硬件设备管理器(系统功能)。
语法 .OpenSourceManager();
参数 None
返回值 Boolean
使用说明 Dynamic Web TWAIN有个内部自动机制。在使用EnableSource()或者SelectSource()接口的时候,OpenSourceManager实际上会在内部被先自动调用。
版本信息 v5.2+
ResetImageLayout()
将扫描仪的图像扫描区域重置为默认值。
语法 .ResetImageLayout();
参数 None
返回值 Boolean
使用说明 如果你想要自定义(平板上的)页面扫描区域,可以使用SetImageLayout()方法。
版本信息 v5.2+
RewindPage()
IfFeederEnabled属性设置成true的情况下, 使用这个接口会将当前页送回到进纸区,并将的上一页返回到图像扫描区。
语法 .RewindPage();
参数 None
返回值 Boolean
使用说明 请在OpenSource()之后调用本方法。
版本信息 v5.2+
SetCustomDSData()
将保持在本地文件中的扫描设置加载回到当前的扫描仪设置中。
语法 .SetCustomDSData(string fileName);
参数 String filename: 指向本地电脑磁盘上的文件绝对路径。
返回值 Boolean
使用说明 请参考GetCustomDSData()方法或 GetCustomDSDataEx()方法将扫描仪设置保持在一个本地文件或者一个base64字符串中。
版本信息 v10.0+
SetCustomDSDataEx()
将保存了扫描仪设置的base64字符串解码,并把设置应用到当前的扫描仪设置中。
语法 .SetCustomDSDataEx(string strBase64);
参数 String strBase64 : 保存了扫描仪设置的base64字符串解码。
返回值 Boolean
使用说明 请参考GetCustomDSData()方法或 GetCustomDSDataEx()方法将扫描仪设置保持在一个本地文件或者一个base64字符串中。
版本信息 v10.0+
SetFileXferInfo()
指定文件的绝对路径和文件格式,这两项将会被用到File Transfer Mode设置中。 请注意,这个接口只有在TransferMode被设置为EnumDWT_TransferMode.TWSX_FILE模式(也即File Transfer Mode)的时候,才是有效的。在File Transfer Mode模式下,扫描仪获取的图片数据直接被存储到指定的磁盘上(不经过Dynamic Web TWAIN的内存)。
语法 .SetFileXferInfo(string fileName, EnumDWT_FileFormat fileFormat);
参数 String fileName
指定文件名,比如 "C:\\webtwain.jpg"。如果你用这种方式 string + %d + string 来写, 则可以实现在多页扫描的情况下以不同的文件名命名每一个扫描页。举例:"C:\\webtwain" + <> + ".jpg" 。输出结果为: "C:\\webtwain0.jpg","C:\\webtwain1.jpg", "C:\\webtwain2.jpg", 等等。
EnumDWT_FileFormat fileFormat: 请参考 这个页面
返回值 Boolean
示例代码
DWObject.OpenSource();
DWObject.TransferMode = EnumDWT_TransferMode.TWSX_FILE;
if(DWObject.TransferMode == EnumDWT_TransferMode.TWSX_FILE){
    if(DWObject.SetFileXferInfo("C:\\Temp\\WebTWAIN<>.bmp",
        EnumDWT_FileFormat.TWFF_BMP)){
        DWObject.IfShowUI = true;        
        DWObject.AcquireImage(); 
    }
}
使用说明 注意在指定图片输出格式的时候,要考虑是否你的扫描仪支持输出该类型的图片。
版本信息 v5.2+
SetImageLayout()
设置页面的扫描区域。通过平面上的两个点(left,top)和(right,bottom)来确定一个矩形扫描区域。在设置之前,你可以检查一下Unit属性,因为它定义了距离单位。
语法 .SetImageLayout(left, top, right, bottom);
参数 float left:
float top
float right
float bottom
返回值 Boolean
示例代码
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.IfShowUI = false;
DWObject.Unit=EnumDWT_UnitType.TWUN_PIXELS;
DWObject.SetImageLayout(50, 50, 100, 100);
DWObject.AcquireImage();
使用说明 这个接口方法是通过Capability Negotiation(TWAIN底层接口)封装的,它的使用跟硬件设备本身相关。如果扫描仪不支持这类设置,则无法成功使用本接口。
版本信息 v5.2+

Properties

Brightness
返回或者设置扫描仪扫描的亮度。
类型 Float
访问权限 Get Set
使用说明 请在OpenSource()之后去做设置。
一般来说,可用的值在-1000~1000之间。
版本信息 v5.2+
Contrast
返回或者设置扫描仪扫描的对比度。
类型 Float
访问权限 Get Set
使用说明 请在OpenSource()之后去做设置。
一般来说,可用的值在-1000~1000之间。
版本信息 v5.2+
CurrentSourceName
返回当前的设备名字。这是一个只读属性。
类型 String
访问权限 Get
使用说明 如果当前没有选中任何硬件设备,则CurrentSourceName属性返回空值。
版本信息 v5.2+
DataSourceStatus
返回一个数值,表示当前设备的状态。这是一个只读的属性。
类型 Number
访问权限 Get
使用说明 可用的值:
0: 当前的设备状态是关闭
1: 当前的设备状态是已经启用
2: 当前的设备状态是已激活待使用
3: 当前的设备状态是图片获取中。
版本信息 v5.2+
DefaultSourceName
返回默认设备的名字。 这是一个只读的属性。
类型 String
访问权限 Get
使用说明
版本信息 v5.2+
Duplex
返回值表示当前的设备是否支持双面扫描。如果是支持的,它会进一步给出支持双面扫描设置的级别,如单通或者双通支持。 这是一个只读的属性。
类型 EnumDWT_DUPLEX (int)
访问权限 Get
使用说明 可用的值:
TWDX_NONE (0):不支持双面扫描
TWDX_1PASSDUPLEX (1):支持单通双面扫描
TWDX_2PASSDUPLEX (2):支持双通双面扫描
版本信息 v5.2+
IfAutoBright
返回或者设置是否开启当前设备的自动亮度设置功能。注意,所有的IfAuto*类的接口都是需要依赖硬件设备支持的,并不是对所有扫描仪通用。
类型 Boolean
访问权限 Get Set
使用说明 默认值为false
版本信息 v5.2+
IfAutoDiscardBlankpages
返回或者设置是否开启当前设备的自动去空白图功能。注意,所有的IfAuto*类的接口都是需要依赖硬件设备支持的,并不是对所有扫描仪通用。
类型 Boolean
访问权限 Get Set
使用说明 检测空白页,还有一个通用的方法(软件层面)是使用Dynamic Web TWAIN SDK的IsBlankImageExpress接口。
版本信息 v7.0+
IfAutoFeed
返回或者设置是否开启当前设备的自动连续进纸功能。注意,所有的IfAuto*类的接口都是需要依赖硬件设备支持的,并不是对所有扫描仪通用。
类型 Float
访问权限 Get Set
使用说明
版本信息 v7.0+
IfAutomaticBorderDetection
返回或者设置是否开启当前设备的自动边缘检测功能。注意,所有的IfAuto*类的接口都是需要依赖硬件设备支持的,并不是对所有扫描仪通用。
类型 Boolean
访问权限 Get Set
使用说明 如果设置属性为true并且扫描仪支持该功能,那么扫描仪会自动检测待扫描页的边框,且只扫描边框区域以内的图像。
版本信息 v7.0+
IfAutomaticDeskew
返回或者设置是否开启当前设备的自动纠偏功能。注意,所有的IfAuto*类的接口都是需要依赖硬件设备支持的,并不是对所有扫描仪通用。
类型 Boolean
访问权限 Get Set
使用说明 如果设置属性为true并且扫描仪支持该功能,那么扫描仪在扫描图片后会对图片进行自动的纠偏。
版本信息 v7.0+
IfAutoScan
返回或者设置是否开启当前设备的自动扫描功能。注意,所有的IfAuto*类的接口都是需要依赖硬件设备支持的,并不是对所有扫描仪通用。
类型 Boolean
访问权限 Get Set
使用说明 这里的自动扫描,一般是指在扫描结束后,扫描仪会自动提示是否加纸继续进行扫描。请注意在使用这个接口前要设置IfFeederEnabled属性为true。
版本信息 v5.2+
IfFeederLoaded
返回值说明是否当前进纸口有纸。这是一个只读的属性。
类型 Boolean
访问权限 Get
使用说明 注意前提是IfFeederEnabledIfPaperDetectable都是true时,才能正常使用这个接口。
版本信息 v5.2+
IfPaperDetectable
返回值说明是否当前的扫描设备支持检测是否ADF进纸口(或者平板上)有纸。这是一个只读的属性。
类型 Boolean
访问权限 Get
使用说明
版本信息 v5.2+
IfShowIndicator
返回值或者设置显示/隐藏扫描过程中跳出的扫描进度条。这个设置只有在IfShowUI为false的情况下才有效。
类型 Boolean
访问权限 Get Set
使用说明 如果IfShowUIIfShowIndicator都为false,则扫描进度条不显示;
如果IfShowUI为false,但IfShowIndicator为true, 扫描进度条会显示;
如果IfShowUI为true,则该接口设置失效。扫描进度条会显示。
版本信息 v5.2+
IfUIControllable
返回值或者设置是否当前的设备支持在不显示扫描仪扫描UI的情况下进行图像获取。这是一个只读的属性。
类型 Boolean
访问权限 Get
使用说明 请在OpenSource()之后调用该设置。 返回值为‘false’表示当前的设备必须在扫描UI打开的情况下进行图像扫描。
版本信息 v5.2+
IfUseTwainDSM
返回当前值,或者设置是否让当前的设备通过TWAIN DSM (Data Source Manager) 来进行图像扫描。TWAIN DSM实际上是Windows操作系统上的一个叫做‘TWAINDSM.dll’的DLL文件,相比默认使用的另一个TWAIN DLL('twain_32.dll',可以在'C:\Windows'下找到),TWAINDSM.dll是更新版本的TWAIN DLL,可能多某些扫描仪兼容性更好。缺点是可能不支持一些老旧的扫描仪型号。
类型 Boolean
访问权限 Get Set
使用说明 这个设置必须在使用任何扫描仪相关的接口之前调用。
版本信息 v6.2+
PendingXfers
返回值表示待传输的扫描页数量。这是一个只读的属性。
类型 Short
访问权限 Get Set
使用说明 这个接口只在OnPostTransfer事件中使用才有效。
返回值为-1,一般表示扫描仪当前不知道还有多少页待扫描。
版本信息 v5.2+
PixelFlavor
返回当前值,或者设置pixel flavor。
类型 Short
访问权限 Get Set
使用说明 可用的值:
0:Chocolate 用0像素代表最深的颜色。
1:Vanilla 用0像素代表最浅的颜色。
版本信息 v5.2+
TransferMode
返回当前值,或者设置设备的传输模式。
类型 enumTW_TRANSFERMODE
TWSX_NATIVE:NATIVE模式是默认模式。此模式下,图片会需要一个连续的内存块来进行存储。
TWSX_FILE:DISK FILE模式不是TWAIN协议定义的。在此模式下,图像会被支持存储到本地磁盘上,不经过内存。在扫描或者传输超大量的图片时,这种模式相比NATIVE模式更有优势,因为连续内存是比较有限的,但磁盘空间几乎是无限的。
TWSX_MEMORY:MEMORY模式是所有扫描设备都支持的。次模式与NATIVE模式类似,但区别是不需要连续的内存区域。
访问权限 Get Set
使用说明 对于DISK FILE模式,由于它不是TWAIN协议中定义的,所以有可能一些扫描仪是不支持的。验证是否支持的方法,可以是通过TransferMode设置成DISK FILE模式,然后再去检查TransferMode的值看是否还是TWSX_FILE(1)。如果是,那确定是支持的。
版本信息 v5.2+
Unit
返回当前值,或者设置度量单位。
类型 EnumDWT_UnitType (short)
访问权限 Get Set
使用说明 可用的值:
EnumDWT_UnitType.TWUN_INCHES:英寸(默认值)
EnumDWT_UnitType.TWUN_CENTIMETERS:厘米
EnumDWT_UnitType.TWUN_PICAS:十二点活字
EnumDWT_UnitType.TWUN_POINTS:点
EnumDWT_UnitType.TWUN_TWIPS:二十分之一点
EnumDWT_UnitType.TWUN_PIXELS:像素
EnumDWT_UnitType.TWUN_MILLIMETERS:毫米
版本信息 v5.2+
XferCount
返回当前值或设置一次接受的扫描页传输数量。
类型 Short
访问权限 Get Set
使用说明 允许的值在-1和215之间。'-1' 代表不限制数量。
版本信息 v5.2+

Events

OnPreAllTransfers
该事件在所有扫描页的传输发生之前触发。比如在ADF多页扫描发生之前,或者在加载一个多页的文件之前。
语法 .RegisterEvent('OnPreAllTransfers',function(){...});
参数 None
示例代码
DWObject.RegisterEvent('OnPreAllTransfers', function() {
    DWObject.CancelAllPendingTransfers();
});
使用说明 在多页的情况下,OnPreTransfer会在每一页传输之前触发,而OnPreAllTransfers只在开始时触发一次。
版本信息 v5.2+
OnPreTransfer
该事件在完成一个页面扫描并要开始传输这个页面之前触发。
语法 .RegisterEvent('OnPreTransfer',function(){...});
参数 None
示例代码
DWObject.RegisterEvent('OnPreTransfer', function() {
    DWObject.CancelAllPendingTransfers();
});
使用说明 一般你可以在这个事件中查看PendingXFERsImageLayoutDocumentNumberImageLayoutFrameLeftImageLayoutFrameTopImageLayoutFrameRightImageLayoutFrameBottomImageLayoutPageNumberImageLayoutFrameNumber的值。
你有可以通过调用CancelAllPendingTransfers()来取消后续的扫描页传输。
版本信息 v5.2+
OnSourceUIClose
该事件在扫描仪的内置扫描界面(UI)关闭的时候触发。
语法 .RegisterEvent('OnSourceUIClose',function(){...});
参数 None
示例代码
DWObject.RegisterEvent('OnSourceUIClose', function() {
    ...;
});
使用说明
版本信息 v8.0.1+

results matching ""

    No results matching ""