dynamic web twain java_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页面。
启动Dynamic Web TWAIN
function DW_CreateControl(bNeebBack) {
var objString = "";
var DWTContainer;
// For IE, render the ActiveX Object
if (DW_InIE) {
objString = "
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 += " ";
objString += " ";
objString += " ";
//objString += " ";
objString += "
";
}
// For non-IE browsers, render the embed object
else {
objString = "
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 + "'>
"; //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_Web扫描识别控件Dynamic Web TWAIN使用实例:上传和扫描相关推荐
- (转自dflying chen)使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
Anthem.NET(我的介绍和比较,还有一篇)刚刚发布了其最新的1.5版本,其中很不错的一个新功能就是对文件上传功能的Ajax实现.本文将简要介绍一下该功能的使用方法. Anthem.NET的下载与 ...
- 使用()控件的saveas方法可以将上传文件保存到服务器.,NET开发-FileUpload上传控件HasFile、FileName、SaveAs()的使用...
.NET开发-FileUpload控件 1. FileUpload控件概述 在ASP.NET WebForm的标准控件中,可以使用FileUpload控件实现客户端文件(任意类型的文件)的上传,上传后 ...
- DevExpress控件使用系列--ASPxUploadControl(图片上传及预览)
1.控件功能 列表控件展示数据.弹框控件执行编辑操作.Tab控件实现多标签编辑操官方说明 2.官方示例 2.1 ASPxImage http:// ...
- android上传文件用哪个布局,每周总结20130821——android控件的尺寸、http文件上传...
Android控件的尺寸 android开发中,可以通过编写XML格式的布局文件来实现布局,也可以用纯代码进行布局,通常都是选择XML文件布局.在XML布局文件中,与控件的尺寸有关的属性有androi ...
- ASP.NET 实践:使用用户控件实现 Web 部件的个性化
这个实践示范了如何创建依赖于 Web 部件个性化的 ASP.NET 用户控件,并在 Web 页面中提供用户特定的默认值. ASP.NET Web 部件控件集允许你建立拥有模块化布局的 Web 页面,并 ...
- Html控件和Web控件的比较分析
在ASP.NET中,使用了两类控件,一类是HTML控件(又分为HTML控件和HTML服务器控件),还有一类是WEB控件. 从以下几个方面来了解他们的区别和联系 一:概念 HTML控件:就是我们通 ...
- 【ASP.NET】认识HTML控件与WEB控件
概念 HTML控件:HTML语言标记,标记在以往的静态页面和其他网页里存在,不能再服务器端控制,只能在客户端通过JavaScript等程序语言来控制 WEB控件:服务端控件,ASP.NET特有. 形式 ...
- HTML控件和Web控件的区别和联系
在ASP.NET中,使用了两类控件,一类是HTML控件(又分为HTML控件和HTML服务器控件),还有一类是WEB控件. 从以下几个方面来了解他们的区别和联系 一:概念 HTML控件:就是我们通常的说 ...
- Asp.net控件之异同:HTML控件与Web服务器控件
Asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等.这里我主要说说html控件.html服务 ...
最新文章
- 我们小时候,开学是这样的!差点看哭了!
- 牛客题霸 NC20 数字字符串转化成IP地址
- android bitmap裁剪中间,Android裁剪中心位图
- 前端学习(2890):如何短时间内实现v-for 模板编译321
- es6 新增数据类型_ES6新增特性整理
- 英伟达 VS. 英特尔:后浪来袭!
- 01_决策树案例一:鸢尾花数据分类
- matlab里substring,ADT课堂第六讲-String Functions-substring
- keil4注册机注册不了怎么办?我已经试过下面的注册机不行。求各大神指教一下?
- 基于STM8的TM1640驱动程序(附八段数码管配置工具)
- 成都电子信息学校计算机专业,成都电子信息学校2020招生简章
- U3D学习项目一:2D横版小狐狸闯关游戏(代码部分二)
- spring上传文件
- MFC绘图二——简单绘制直线等
- 微信weui之actionSheet应用
- http://jingyan.baidu.com/article/d169e186b38c37436611d8fa.html
- 初入Java,安装jdk,ij编译,运行
- Butter Knife
- fffffffffffffffffff
- 在IE下-下载文件-文件名中文名乱码问题