正确执行后,Dynamic Web TWAIN将在加载页面后立即自动初始化。初始化后,您可以像对任何普通的JS对象一样控制它。您可以参考在线API文档来检查Dynamic Web TWAIN的所有内置属性,方法和事件。
基本上,有三种方法可以使用Dynamic Web TWAIN:
属性(Properties)
属性用于在运行时在Dynamic Web TWAIN对象中获取或设置某个值,例如Resolution,Duplex,IfShowUI等。
/* Property */
/* Scan pages in 200 DPI */
DWObject.Resolution = 200;
方法(Methods)
方法用于调用Dynamic Web TWAIN对象的内置函数,如AcquireImage,SaveAsJPEG,Rotate等。语法非常简单:
// Method
///
<summary> /// Rotates the image of a specified index in buffer by a specified angle.
/// </summary>
///
<param name="sImageIndex" type="short">
specifies the index of image in buffer. The index is 0-based.
</param>
///
<param name="fAngle" type="float">
specifies the angle.
///
<param name="bKeepSize" type="bool">
specifies whether to keep the original size
///
<returns type="bool"></returns>
DWObject.Rotate(0, 45, false); // rotate the 1st image in the buffer by 45 degrees
事件(Events)
达到某些触发点时会触发事件。例如,我们有一个用于鼠标单击的OnMouseClick事件,一个用于传输一个图像的OnPostTransfer事件,等等。与属性和方法相比,事件使用起来有点棘手。在这里,我们将再讨论一下。
处理事件
添加事件侦听器
要添加事件侦听器,可以使用内置方法RegisterEvent。请参阅以下示例代码:
<script type="text/javascript">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
/* OnWebTwainReady event fires as soon as Dynamic Web TWAIN is initialized and ready to be used. It is the best place to add event listeners */
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
DWObject.RegisterEvent("OnPostTransfer", Dynamsoft_OnPostTransfer);
}
function Dynamsoft_OnPostTransfer() {
/* This event OnPostTransfer will be triggered after a transfer ends. */
/* your code goes here*/
}
</script>
在上面的代码中,我们添加了JavaScript函数Dynamsoft_OnPostTransfer()作为事件OnPostTransfer的事件侦听器。或者,您可以编写如下代码:
<script type="text/javascript">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
DWObject.RegisterEvent("OnPostTransfer", function() {
/* your code goes here*/
});
}
</script>
带参数的事件
有一些事件带有参数。以OnMouseClick事件为例:
/* sImageIndex is the index of the image you clicked on*/
OnMouseClick(short sImageIndex)
创建相应的JavaScript函数(A.K.A.,事件侦听器)时,可以包含参数并在运行时检索值。
function DynamicWebTwain_OnMouseClick(index) {
CurrentImage.value = index + 1;
}
或者
DWObject.RegisterEvent("OnPostTransfer", function(index) {
CurrentImage.value = index + 1;
});
特殊事件 - 'OnWebTwainReady'
在所有内置事件中,有一个名为'OnWebTwainReady'的特殊事件。一般情况下,只要Dynamic Web TWAIN对象初始化并准备好使用,就会触发此事件。正如您在之前的文章中所见,推荐的使用方法是:
<script type="text/javascript">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
</script>
或者
<script type="text/javascript">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', function() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
});
</script>