没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郝浩|2013-09-16 09:28:27.000|阅读 700 次
概述:本文,我们将通过使用.NET 图像开发包Dynamic .NET TWAIN 来加快应用程序的开发和部署,并达到扫描文档并保存图像至数据库的目的。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
在“大数据时代”的今天,越来越多的组织使用ECM企业内容管理系统或者RMS记录管理系统来维护和管理文档。数字化文档并将其储存在中央数据库已经成为多数企业文档管理流程中的重要组成部分。为了实现企业文档管理,我们需要创建一个应用程序从扫描仪或者摄像头来捕获文档图像。本文,我们将通过使用.NET 图像开发包Dynamic .NET TWAIN 来加快应用程序的开发和部署,并达到扫描文档并保存图像至数据库的目的。
下载并安装.NET 图像开发包Dynamic .NET TWAIN后,在安装目录中,找到"DynamicDotNetTWAIN.dll" under \Bin\v2.0 and \Bin\v4.0,选择适合自己.Net 框架的相应版本。
通过Dynamic .NET TWAIN,仅需简短的几行代码,你便可从TWAIN 设备或者USB/WIA摄像头捕获图像。代码如下:
Public frmCustomizeScan() { InitializeComponent(); dynamicDotNetTwain.SupportedDeviceType = Dynamsoft.DotNet.TWAIN.Enums.EnumSupportedDeviceType.SDT_ALL; // enable capturing images from both scanners and webcams int lngNum; dynamicDotNetTwain.OpenSourceManager(); for (lngNum = 0; lngNum < dynamicDotNetTwain.SourceCount; lngNum++) { cmbSource.Items.Add(dynamicDotNetTwain.SourceNameItems(Convert.ToInt16(lngNum))); // display the available imaging devices } if (lngNum > 0) cmbSource.SelectedIndex = 0; } private void cmdScan_Click(object sender, EventArgs e) { dynamicDotNetTwain.IfAppendImage = true; AcquireImage(); // acquire images } private void AcquireImage() { dynamicDotNetTwain.SelectSourceByIndex(Convert.ToInt16(cmbSource.SelectedIndex)); dynamicDotNetTwain.IfShowUI = chkIfShowUI.Checked; dynamicDotNetTwain.OpenSource(); dynamicDotNetTwain.IfDisableSourceAfterAcquire = true; try { dynamicDotNetTwain.AcquireImage(); } catch (Exception exp) { MessageBox.Show(exp.Message); } }
Dynamic .NET TWAIN提供了HTTP Upload方法,通过该方法,你可以将扫描或捕获的图像上传至Web服务器和数据库。它所支持的文件上传格式包括PDF、TIF、 JPG、 PNG、BMP、多页TIF和PDF等。上传图像时,你可以添加额外的参数并将它们与图像记录一起储存在数据库中。代码如下:
private void BtnUpload_Click(object sender, EventArgs e) { string strActionPage = "Upload.aspx"; // for receiving the uploaded image data on the server side string strFileName = textBox1.Text; string strFileType = textBox2.Text; string strHTTPServer = "localhost"; // the name or the IP of your HTTP Server dynamicDotNetTwain.HTTPPort = 8066; //the port number of the HTTP Server dynamicDotNetTwain.HTTPUserName = "chloe"; //user name for logging into HTTP Server dynamicDotNetTwain.HTTPPassword = "c"; dynamicDotNetTwain.SetHTTPFormField("FileType", strFileType); // pass extra text parameters when uploading image dynamicDotNetTwain.HTTPUploadAllThroughPostAsPDF(strHTTPServer,strActionPage, strFileName+".pdf"); // save the captured images as a multi-page PDF file if (dynamicDotNetTwain.ErrorCode !=ErrorCode.Succeed) { MessageBox.Show(dynamicDotNetTwain.HTTPPostResponseString); } else { MessageBox.Show("PDF saved successfully."); } }
HTTPUploadAllThroughPostAsPDF方法中所涉及到的Upload.aspx 动作页用于接收服务器端的图像数据。因此,一定要在你的Web 服务器中部署该文件,具体做法如下:
<%@ Page Language="c#" AutoEventWireup="false" Debug="True"%> <% try { int iFileLength; HttpFileCollection files = HttpContext.Current.Request.Files; HttpPostedFile uploadfile = files["RemoteFile"]; String strImageName = uploadfile.FileName; String strFileType = System.Web.HttpContext.Current.Request.Form["FileType"]; iFileLength = uploadfile.ContentLength; Byte[] inputBuffer = new Byte[iFileLength]; System.IO.Stream inputStream; inputStream = uploadfile.InputStream; inputStream.Read(inputBuffer,0,iFileLength); String strConnString = "Data Source=192.168.8.211;Initial Catalog=WebTwain;User ID=sa;Pwd=sa"; System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(strConnString); String SqlCmdText = "INSERT INTO tblImage (strImageName,imgImageData, strFileType) VALUES (@ImageName,@Image, @ImageType)"; System.Data.SqlClient.SqlCommand sqlCmdObj = new System.Data.SqlClient.SqlCommand(SqlCmdText, sqlConnection); sqlCmdObj.Parameters.Add("@Image",System.Data.SqlDbType.Binary,iFileLength).Value = inputBuffer; sqlCmdObj.Parameters.Add("@ImageName",System.Data.SqlDbType.VarChar,255).Value = strImageName; sqlCmdObj.Parameters.Add("@ImageType", System.Data.SqlDbType.VarChar, 255).Value = strFileType; sqlConnection.Open(); sqlCmdObj.ExecuteNonQuery(); sqlConnection.Close(); } catch(Exception e) { Response.Write(e.Message); throw; } %>
为了方便起见,你可以下载。若运行示例时,出现许可证错误,你可以下载Dynamic .NET TWAIN的有效的免费试用版。
在运行代码前,确保已在Web服务器上部署了Upload.aspx,并且更新了strHTTPServer, HTTPPort, HTTPUserName 和BtnUpload_Click()中的HTTPPassword。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都控件网本文将手把手教你如何用VMProtect对这一关键函数进行虚拟化保护,大幅提升代码安全性,让逆向工程攻击者无从下手!
在 PDF 文档中添加页眉和页脚有助于保持一致的版式和专业的外观。本文将介绍如何使用 Spire.PDF for Java,通过 Java 在现有的 PDF 文档中添加页眉和页脚,并提供详细的步骤和代码示例。
对于开发人员来说,由于自动化和定制化,通常首选使用编程方法来去除 PDF 中的水印。Aspose.PDF 提供可靠且可定制的解决方案,可无缝集成到各种应用程序中,确保准确性并保持文档完整性。
在 Web 环境中,将 PDF 转换为 HTML 有助于提升内容的可访问性和交互性。本文将介绍如何在 React 中使用 JavaScript 和 Spire.PDF for JavaScript 库将 PDF 转换为 HTML。
Dynamic .NET TWAIN是为桌面应用程序设计的.NET控件,适用于C#和VB.NET,能让你从任何TWAIN设备中获取图像的托管代码SDK。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢