Web扫描识别控件Dynamic Web TWAIN扫描和上传的实例

Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件,允许用户从扫描仪扫描文档或从数码相机/采集卡中获取图像,并支持上传和处理本地图像。本文将介绍如何通过TWAIN扫描识别工具Dynamic Web TWAIN实现在Web应用程序中扫描和上传文件。

下载并安装Dynamic Web TWAIN后, 在 "\Dynamsoft\Dynamic Web TWAIN 9.0 Trial\Resources."目录下找到下列文件:

  • DynamicWebTWAIN.cab/ DynamicWebTWAINx64.cab – the ActiveX control edition for Internet Explorer (IE) 32 bit and 64 bit
  • DynamicWebTWAINPlugIn.msi - the Plugin Edition for Chrome, Firefox, Safari on Windows
  • DynamicWebTWAINMacEditionTrial.pkg – the Mac Edition for Chrome, Firefox, Safari on Mac OS X

将上述提到4个Dynamic Web TWAIN 插件文件复制并粘贴到MVC应用程序的Content文件夹中,从而将TWAIN扫描识别控件Dynamic Web TWAIN 嵌入到MVC应用程序。

Dynamic Web TWAIN文档扫描视图

如下面的截图所示,索引页上已添加了一个"Scan" 选项卡。点击 "Scan",用户将看到使用了Dynamic Web TWAIN插件的Scan.aspx页面。

Web TWAIN扫描识别控件Dynamic Web TWAIN使用实例

 Web TWAIN扫描识别控件扫描控件Dynamic Web TWAIN使用实例

启动Dynamic Web TWAIN

function DW_CreateControl(bNeebBack) {
var objString = "";
var DWTContainer;

// For IE, render the ActiveX Object
if (DW_InIE) {
objString = "<object id='" + DW_ObjectName + "' style='width:" + DW_Width + "px;height:" + DW_Height + "px'";

if (DW_InWindowsX86)
objString += "codebase='" + DW_CABX86Path + "#version=" + DW_VersionCode + "' "; //load 32 bit CAB file for 32 bit Windows
else
objString += "codebase='" + DW_CABX64Path + "#version=" + DW_VersionCode + "' "; //load 64 bit CAB file for 64 bit Windows

var temp = DW_IsTrial ? DW_TRAILCLASSID : DW_FULLCLASSID;
objString += " classid='clsid:" + temp + "' viewastext>";

objString += " <param name='Manufacturer' value='DynamSoft Corporation' />";
objString += " <param name='ProductFamily' value='" + DW_ProductName + "' />";
objString += " <param name='ProductName' value='" + DW_ProductName + "' />";
//objString += " <param name='wmode' value='transparent'/> ";
objString += " </object>";
}
// For non-IE browsers, render the embed object
else {
objString = " <embed id='" + DW_ObjectName + "'style='display: inline; width:" + DW_Width + "px;height:" + DW_Height + "px' id='" + DW_ObjectName + "' type='" + DW_MIMETYPE + "'";
objString += " OnPostTransfer='Dynamsoft_OnPostTransfer' OnPostAllTransfers='Dynamsoft_OnPostAllTransfers'";
objString += " OnMouseClick='Dynamsoft_OnMouseClick' OnPostLoad='Dynamsoft_OnPostLoadfunction'";
objString += " OnImageAreaSelected = 'Dynamsoft_OnImageAreaSelected'";
objString += " OnImageAreaDeSelected = 'Dynamsoft_OnImageAreaDeselected'";
objString += " OnMouseDoubleClick = 'Dynamsoft_OnMouseDoubleClick'";
objString += " OnMouseRightClick = 'Dynamsoft_OnMouseRightClick'";
objString += " OnTopImageInTheViewChanged = 'Dynamsoft_OnTopImageInTheViewChanged'";
if (DW_InWindows)
objString += " pluginspage='" +
else
objString += " pluginspage='" + DW_PKGPath + "'></embed>"; //load the Mac edition for Chrome, Firefox, Safari on Mac
}

DWTContainer = document.getElementById(DW_DWTContainerID);
DWTContainer.innerHTML = objString;
DWObject = document.getElementById(DW_ObjectName);
}

扫描文档

通过TWAIN扫描识别控件可以从扫描仪中轻松捕获图像。下列JavaScript代码设置了像素类型,分辨率,扫描类型等。

function AcquireImageInner() {
if (DW_DWTSourceContainerID == "")
DWObject.SelectSource();
else
DWObject.SelectSourceByIndex(document.getElementById(DW_DWTSourceContainerID).selectedIndex); //select from the available TWAIN devices
DWObject.CloseSource();
DWObject.OpenSource();
DWObject.IfShowUI = document.getElementById("ShowUI").checked;

var i;
for (i = 0; i < 3; i++) {
if (document.getElementsByName("PixelType").item(i).checked == true)
DWObject.PixelType = i;
} //set the pixel type of the image
DWObject.Resolution = Resolution.value;
DWObject.IfFeederEnabled = document.getElementById("ADF").checked; //whether scan from ADF or flatbed
DWObject.IfDuplexEnabled = document.getElementById("Duplex").checked; //whether do duplex scan

DWObject.IfDisableSourceAfterAcquire = true;
DWObject.AcquireImage(); //acquire images from the scanner
}

上传文档

将图像扫描至Dynamic Web TWAIN后,你可以通过HTTP Post方法,将扫描图像上传到Web服务器。

var DW_ActionPage = "SaveToFile"; //call SaveToFile controller

function btnUpload_onclick(){
var i, strHTTPServer, strActionPage, strImageType;
strHTTPServer = DW_ServerName;
DWObject.HTTPPort = DW_strPort;
var CurrentPathName = unescape(location.pathname); // get current PathName in plain ASCII
var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") + 1);
strActionPage = CurrentPath + DW_ActionPage; //the ActionPage's file path

for(i=0;i<4;i++){
if(document.getElementsByName("ImageType").item(i).checked == true){
strImageType = i + 1;
break;
}
} //choose the image type, JPEG, TIFF, PNG or PDF
var uploadfilename = txt_fileName.value + "." + document.getElementsByName("ImageType").item(i).value;

if (strImageType == 2 && document.getElementById("MultiPageTIFF").checked) {
if ((DWObject.SelectedImagesCount == 1) || (DWObject.SelectedImagesCount == DWObject.HowManyImagesInBuffer)) {
DWObject.HTTPUploadAllThroughPostAsMultiPageTIFF(
strHTTPServer,
strActionPage,
uploadfilename
);
{
DWObject.HTTPUploadThroughPostAsMultiPageTIFF(
strHTTPServer,
strActionPage,
uploadfilename
);
}
} //whether to upload the images as a multi-page TIFF file

else if (strImageType == 4 && document.getElementById("MultiPagePDF").checked) {
if ((DWObject.SelectedImagesCount == 1) || (DWObject.SelectedImagesCount == DWObject.HowManyImagesInBuffer)) {
DWObject.HTTPUploadAllThroughPostAsPDF(
strHTTPServer,
strActionPage,
uploadfilename
);
}
else {
DWObject.HTTPUploadThroughPostAsMultiPagePDF(
strHTTPServer,
strActionPage,
uploadfilename
);
}
} //whether to upload the images as a multi-page PDF file
else {
DWObject.HTTPUploadThroughPostEx(
strHTTPServer,
DWObject.CurrentImageIndexInBuffer,
strActionPage,
uploadfilename,
strImageType
);
}

Controller.cs

public String SaveToFile()
{
String strImageName;
HttpFileCollectionBase files = Request.Files;
HttpPostedFileBase uploadfile = files["RemoteFile"];
strImageName = uploadfile.FileName;

uploadfile.SaveAs(Server.MapPath("~") + "\\UploadedImages\\" + strImageName);

return "";
}
好的,我会尽力回答您的问题。 首先,需要确保已经安装了Dynamic Web TWAIN Java插件。接着,按照以下步骤建立一个“Hello World”扫描页面: 1. 在您的Web应用程序中创建一个新的JSP文件(例如:scan.jsp)。 2. 在JSP文件中添加以下代码: ```html <!DOCTYPE html> <html> <head> <title>Hello World Scan Page</title> </head> <body> <h1>Hello World Scan Page</h1> <object id="dwtcontrolContainer"></object> <script type="text/javascript" src="../Resources/dynamsoft.webtwain.initiate.js"></script> <script type="text/javascript"> Dynamsoft.WebTwainEnv.AutoLoad = false; Dynamsoft.WebTwainEnv.Containers = [{ContainerId: 'dwtcontrolContainer', Width: 270, Height: 350}]; Dynamsoft.WebTwainEnv.ProductKey = 'LICENSE-KEY-GOES-HERE'; Dynamsoft.WebTwainEnv.ResourcesPath = '../Resources'; Dynamsoft.WebTwainEnv.Load(); </script> </body> </html> ``` 请注意将 `LICENSE-KEY-GOES-HERE` 替换为您的Dynamic Web TWAIN许可证密钥。 3. 在您的Web应用程序中创建一个名为“Resources”的文件夹,并将以下文件从Dynamic Web TWAIN Java安装文件夹中复制到该文件夹中: - dwt_trial_license.js - dynamsoft.webtwain.initiate.js - dynamsoft.webtwain.config.js - dynamsoft.webtwain.install.js - dynamsoft.webtwain.plugin.js - dynamsoft.webtwain.scan.js - dynamsoft.webtwain.env.js - dwtstyle.css - dwticon.gif 4. 将您的Web应用程序部署到Web服务器上,并在浏览器中访问scan.jsp页面。您应该会看到一个“Hello World”标题和一个空白的扫描控件。 5. 点击扫描控件中的“扫描”按钮,您应该会看到一个弹出窗口,询问您扫描的设置。 6. 配置您的扫描设置后,单击“扫描”按钮。如果一切正常,您应该可以看到扫描的图像显示在扫描控件中。 这只是一个简单的“Hello World”示例,Dynamic Web TWAIN Java插件提供了更多高级功能,例如自动文本识别,自动文档分割和多页扫描等。希望这可以帮助您开始使用Dynamic Web TWAIN Java插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值