.NET 文档处理 SDK
在本文中,我将向您展示如何将文档处理(例如图像扫描、编辑和上传)嵌入到您的 .NET 应用程序中。
引言
理想情况下,应该使用一个全面而综合的文档处理 SDK 来处理各种扫描仪、网络摄像头和其他设备。 并且该 SDK 应该帮助您组织不同类型的文档,将其转换为数字副本并将文档存储到目标位置。Dynamic .NET TWAIN 使您能够以最灵活的方式实现上述功能。
Dynamic .NET TWAIN 与 32 位和 64 位 Windows 操作系统兼容,允许您从任何与 TWAIN、Windows Image Acquisition (WIA) 和 USB 视频设备类 (UVC) 兼容的设备获取图像。 该库针对在 C# 和 VB.NET 中使用进行了优化。 从设备或本地系统获取图像后,SDK 允许您编辑图像并将其上传到本地磁盘、FTP 站点、Web 服务器或数据库。
Dynamic .NET TWAIN 的条形码阅读器、OCR 和注释插件允许您将文档处理集成到一体。条形码阅读器 SDK 能够检测和读取扫描文档上的 1-D 和 2-D 条形码符号,例如 Code 39、Code 93、Code 128、EAN-8、EAN-13、ITF、UPC-A、UPC-E、Codabar、RSS-14Aztec、DataMatrix、PDF417 和 QR 码。OCR 插件 准确地执行光学字符识别 (OCR) 并将文档转换为可搜索的 PDF/文本文件。 该 SDK 支持识别 40 多种语言,包括英语、西班牙语、阿拉伯语、中文等。 如果您想试用,可以获得 30 天的免费试用期。
主要特点
- 与 Windows 操作系统(32 位和 64 位)兼容
- 从扫描仪、相机和与其他 TWAIN、WIA 或 UVC 兼容的设备捕获图像。
- 从网络摄像头捕获实时视频流。
- 从您的本地文件夹、Web 服务器和/或数据库加载/下载图像。
- 支持自动文档进纸器 (ADF) 和批量扫描。
- 支持设置和读取设备功能,例如亮度、分辨率、对比度、像素类型、双面打印等。
- 支持存储和恢复默认扫描设置。
- 编辑扫描的图像,例如旋转、镜像、翻转、裁剪、擦除等。
- 放大/缩小选定的图像。
- 支持注释。 将文本、线条、椭圆或矩形添加到扫描的文档。
- 将扫描的图像转换为可搜索的 PDF/文本文件。
- 检测和解码 1-D 和 2D 条形码符号。
- 将扫描的文档上传到您的本地文件夹、Web 服务器、FTP 站点和/或数据库。
- 支持 BMP、PNG、JPEG、TIFF 和 PDF。 也支持多页 TIFF 和 PDF。
- 支持 SSL 以保护图像数据传输。
示例代码
- 从您的设备捕获图像。 通过提供的一组丰富的属性,整个扫描过程是可定制的,例如是否显示所选源的用户界面、双面扫描、分辨率等。
private void AcquireImage() { //select source dynamicDotNetTwain.SelectSourceByIndex(Convert.ToInt16(cmbSource.SelectedIndex)); dynamicDotNetTwain.OpenSource(); dynamicDotNetTwain.IfDisableSourceAfterAcquire = true; //set the resolution dynamicDotNetTwain.Resolution = 300; //set whether to show the user interface of the source dynamicDotNetTwain.IfShowUI = chkIfShowUI.Checked; dynamicDotNetTwain.IfFeederEnabled = chkIfUseADF.Checked; dynamicDotNetTwain.IfAutoFeed = chkIfUseADF.Checked; dynamicDotNetTwain.IfDuplexEnabled = chkDuplex.Checked; if ((dynamicDotNetTwain.Duplex == 0) && (chkDuplex.Checked == true)) { string errorstr = "Current source does not support duplex scan."; errorstr += "\r\n"; txtErrorString.Text = txtErrorString.Text + errorstr; chkDuplex.Checked = false; } dynamicDotNetTwain.AcquireImage(); //capture image(s) }
- 设置图像布局。
dynamicDotNetTwain.SelectSource(); //make dynamicDotNetTwain ready for capability negotiation dynamicDotNetTwain.OpenSource(); //set the image layout if (dynamicDotNetTwain.SetImageLayout(fFrameLeft,fFrameTop,fFrameRight,fFrameBottom) == false) MessageBox.Show(dynamicDotNetTwain.ErrorString, "Error"); dynamicDotNetTwain.IfShowUI = false; dynamicDotNetTwain.IfDisableSourceAfterAcquire = true; dynamicDotNetTwain.EnableSource();
- 设置查看模式。 您可以创建两个控件,一个用于缩略图,另一个用于查看/编辑。
dynamicDotNetTwainThum.MouseShape = true; //set the max number of images can be hold in the control dynamicDotNetTwainThum.MaxImagesInBuffer = 100; //set the view mode of the thumbnail. dynamicDotNetTwainThum.SetViewMode(1,3); dynamicDotNetTwainView.MaxImagesInBuffer = 1; dynamicDotNetTwainView.SetViewMode(-1,-1); dynamicDotNetTwainView.IfFitWindow = true; dynamicDotNetTwainView.MouseShape = false;
- 将扫描的图像保存到您的本地文件夹。 除了下面示例代码中显示的 PDF 之外,还支持其他格式,包括 BMP、JPEG、PNG 和 TIFF。 您还可以将图像上传到您的 Web 服务器和数据库。
private void TrySavingFile(string fileName) { if (AlreadyAddedFile(fileName)) { MessageBox.Show("Can't save over one of the source files."); } else { //save all scanned images as a multi-page PDF file this.dynamicDotNetTwain1.SaveAllAsPDF(fileName); } }
- 从扫描的文档中读取条形码信息。
this.textBox1.Text = ""; Result[] aryResult = this.dynamicDotNetTwain1.ReadBarcode(this.dynamicDotNetTwain1.CurrentImageIndexInBuffer, BarcodeFormat.All); StringBuilder strText = new StringBuilder(); strText.AppendFormat(aryResult.Length + " total barcode" + (aryResult.Length == 1 ? "" : "s") + " found.\r\n"); for (int i = 0; i < aryResult.Length; i++) { Result objResult = aryResult[i]; strText.AppendFormat(" Result " + (i + 1) + "\r\n"); strText.AppendFormat(" BarcodeFormat: " + objResult.BarcodeFormat.ToString() + "\r\n"); strText.AppendFormat(" Text read: " + objResult.Text + "\r\n"); } this.textBox1.Text = strText.ToString();
分布式
要将应用程序分发给您的最终用户,您只需要将 DynamicDotNetTwain.dll 与您的应用程序一起分发。 DLL 文件不需要注册。
Dynamic .NET TWAIN 还支持 Xcopy 部署。
分发是免版税的。
获取示例
要亲自尝试上述功能,您可以下载 Dynamic .NET TWAIN 的 30 天免费试用版。 可以在 SDK 的安装文件夹中找到示例。
Dynamic .NET TWAIN 30 天免费试用
如果您有任何问题,可以联系我们的支持团队,邮箱地址是 nettwain@dynamsoft.com。