未发布 扫描识别工具Dynamic Web TWAIN使用教程:建立一个“Hello World”扫描页面 Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文教你Dynamic Web TWAIN中只需3个步骤在5分钟内创建一个Web扫描应用程序的方法!
步骤一:启动一个Web应用程序
1.1 将Dynamsoft的Resources文件夹复制到您的项目中
Resources文件夹通常在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\
1.2 创建一个空的HTML页面
请将空的html页面与Resources文件夹放在一起,如下所示:
步骤二:将Dynamic Web TWAIN添加到HTML页面
2.1 包含两个Dynamsoft JS文件
2.2 添加一个Dynamic Web TWAIN容器
1 | <div id="dwtcontrolContainer"></div>
|
注意: “dwtcontrolContainer”是div的默认ID。如有必要,您可以在文件dynamsoft.webtwain.config.js中更改它。
步骤三:使用Dynamic Web TWAIN
3.1 添加一个扫描按钮和最小的脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <input type="button" value="Scan" onclick="AcquireImage();">
<script type="text/javascript" data-filtered="filtered">
var DWObject;
function Dynamsoft_OnReady(){
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
function AcquireImage(){
if(DWObject) {
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.AcquireImage();
}
}
</script>
|
3.2 查看完成的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <title data-filtered="filtered">Hello World</title>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.initiate.js" data-filtered="filtered"> </script>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.config.js" data-filtered="filtered"> </script>
<input type="button" value="Scan" onclick="AcquireImage();">
<div id="dwtcontrolContainer"> </div>
<script type="text/javascript" data-filtered="filtered">
var DWObject;
function Dynamsoft_OnReady(){
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
function AcquireImage(){
if(DWObject) {
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.AcquireImage();
}
}
</script>
|
3.3 查看正在运行的扫描页面
如果你打开项目中的Hello World页面,它应该是这样的:
现在,您可以点击“扫描”按钮选择一个设备,如下所示:
注意:
- 选择来源对话框中只列出了TWAIN兼容设备。如果连接的扫描仪没有显示在列表中,请按照这篇文章排除故障。
- 如果您手边没有扫描仪,则可以安装虚拟扫描仪 - 由TWAIN工作组开发的扫描仪模拟器 - 用于测试目的。
扫描完成后,图像将显示在内置的Dynamic Web TWAIN查看器中:
如果您安装了Dynamic Web TWAIN的30天试用版,您可以在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\Samples\Getting Started\获取完整的Hello World应用程序。
本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!
未发布 【教程】Edraw Max(亿图图示):怎么用图片创建自己的符号库? Edraw Max(亿图图示)除了自带丰富的模板和例子,还有一个非常庞大的符号库,内置符号已经超过20000个。如果这些符号还是不能满足你的需求,那么你还可以通过软件“从图片创建库”的功能,创建一个属于你自己的符号库。本文就详细介绍一下具体是如何操作的!
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
第一步:新建一个绘图页面,选择“符号”菜单下的“从图片创建库”。
第二步:在弹出的窗口中,选择你要作为库元素图片的文件夹,然后点击“选择文件夹”按钮即可。
第三步:左侧符号库就会显示出新添加的“图片”库。鼠标右键点击如下图所示位置,可对符号库重新命名。
第四步:选中具体的某一个图形、符号,然后右键选择“编辑符号”,即可对该符号进行再次编辑。
温馨提示:1、建议“名称“和”提示”命名保持一致,否则符号显示的名称,和鼠标放在符号上显示的名称会不一样。
2、若“选择图元文件”的文件修改变动较大,“请选择形状图标”的文件也应做出相应的修改,否则,该符号在符号库中的显示,会和实际使用时的图会有出入。
第五步:导入新的图形到该符号库,从该符号库中导出图形,或者删除不需要用的图形符号,都可以通过点击鼠标右键进行设置。
未发布 矢量图像处理控件CAD EditorX 发布v12,支持导出到G-code CADEditorX是一个ActiveX控件,在众多的环境中,如 .NET、HTML / JavaScript、VC++、Delphi、Java等等,它能查看、编辑、转换、测量和打印DWG和其他CAD文件以及3D模型和光栅图像。CADEditorX提供易用的API和大量的例子方便开发者快速集成。
CADEditorX 12更新内容
新版本的CADEditorX 12,可在不同的开发环境中使用DWG、DXF、HPGL、STEP和其他2D和3D文件格式。
CADEditorX 12的主要特点是支持最新的DWG版本 - AutoCAD®DWG 2018。在你创建基于CADEditorX的应用程序时,它们将能够打开最新的图形。
此外,现在CADEditorX支持导出到G-code。如果你为CNC机床开发程序,CADEditorX可以让你的应用程序从DWG和DXF图形中生成G代码。

CADEditorX 12中包含的改进内容列表:
导入AutoCAD®DWG 2018
导出到G-code
未发布 Windows网络守门人UserLock教程:UserLock教程:阻止规定时间以外的访问连接 UserLock免费下载试用>>>
UserLock允许您创建规则用来阻止用户在授权时间以外连接到网络。本文将一步一步的教您如何制定规则来阻止用户工作站和终端连接超出工作时间:
- 周一至周五,8:00至19:00。
- 周六上午,9:00至13:00。
并且将在到达时限后强制任何会话的注销打开。
1、点击菜单中的“受保护的帐户”。如果已存在则可以通过双击相应的行来打开所需的用户帐户。否则,您可以为目标组创建受保护的帐户。
2、显示“时间限制”部分。
3、选择“以下时间范围”下拉列表的'被授权'选项。
4、点击“添加”来定义时间段。
5、定义具体的时间范围。选择“交互”作为会话类型来选择哪些类型的会话,包括工作站和终端会话类型。点击“确定”。
6、检查相应的日期框 - 星期一至星期五。点击“确定”。
7、调整时间为上午8:00至下午7:00。点击“确定”以验证第一个授权的时间范围。
8、您现在必须为星期六定义第二个时间范围。再次点击“添加”。
9、定义第二个时间框架,即星期六上午9:00至下午1:00。再次选择“交互”作为会话类型,包括工作站和终端会话类型。点击“确定”。
10、取消选中从星期一到星期五的框,而是选中星期六的框。点击“确定”。
11、调整时间为上午9:00至下午1:00。点击“确定”添加第二个时间框架。
您已经成功定义了与授权时间相对应的两个时间范围。用户在这些时间以外的连接将被拒绝。
12、要在时间限制后注销用户会话,请调整“超时时采取的行动”为“注销会话”选项。
请注意,强制注销表示所有未保存的文档将丢失。下一步允许您自定义警。
13、要警告用户授权时间已经结束,将“注销通知超时”设置为“已启用”,并输入几分钟,在此分钟内将显示警告消息框(在我们的示例中为15)。
14、在“快速访问”面板中单击“确定”以验证规则。
“Everyone”组的用户成员将被允许在授权时间内打开工作站或终端会话的权限。达到时限的会话将被注销,并发出预警通知。所有工作站和终端连接超出规定的时间将被拒绝。
您可以在“消息”视图中自定义“注销通知超时”内容。通知消息参考是“TIME_RESTRICTION_LOGOFF”。

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程三:没有SMTP服务器的情况下发送消息 发送消息的最简单的方法是使用Smtp类的QuickSend方法(此方法是静态的,不需要你创建Smtp类的实例)。
即使没有SMTP服务器,QuickSend方法也可以发送电子邮件。该方法通过向网络设置中注册的DNS服务器进行查询,确定哪些服务器接收电子邮件的To / CC / BCC字段中指定的域的邮件,然后将电子邮件直接发送到收件人的邮件服务器。
C#: MailBee.SmtpMail.Smtp.QuickSend("jdoe@domain.com", "bill@domain.com", "Subject", "Message Body"); |
VB.NET: MailBee.SmtpMail.Smtp.QuickSend("jdoe@domain.com", "bill@domain.com", "Subject", "Message Body") |
如果要手动指定DNX MX查找DNS服务器,可以编辑应用程序的app.config或web.config文件,并将MailBee.DnsMX.DnsServerCollection键放该位置。有关详细信息,请参阅DnsAutodetectOptions文档。
备用(和更高级)的方法是创建Smtp对象并手动指定DNS服务器的IP地址:
C#: mailer.DnsServers.Add("127.0.0.1"); |
VB.NET: mailer.DnsServers.Add("127.0.0.1") |
要通过检查系统属性自动填充Dns服务器,请使用Autodetect方法(顺便说一下,QuickSend方法可以使用Autodetect来确定可用的DNS服务器列表):
C#: mailer.DnsServers.Autodetect(); |
VB.NET: mailer.DnsServers.Autodetect() |
此外,你可以指定用于调整在系统中注册的DNS服务器的自动检测选项。有关详细信息,请参阅DnsAutodetectOptions文档。
注意:由于发送垃圾邮件的人经常使用直接发送操作,因此许多邮件服务不接受来自未知主机的邮件提交。建议仅从指定的MX、PTR和SPF记录的域执行直接发送操作。在这种情况下,接收邮件的主机将能够验证发件人的域名并接受邮件提交请求。
未发布 .NET Core 2将Visual Basic带到了Linux和macOS平台 Microsoft已经愈加接近将Visual Basic划为.NET Core平台上的一等公民。作为.NET Core 2发行版的一部分,VB开发者现在可以编写针对.NET Standard 2.0的控制台应用程序和类库,并且可以兼容多个平台。这就意味着运行在Windows上的可执行文件或者类库也能够运行在macOS和Linux上。 一旦安装了.NET Core 2 SDK,你就可以开始创建VB项目了。由于这是.NET Core平台,Visual Studio有助于编码,但是它并不是必需的。.NET Core 2.0中有四个VB模板: - 控制台应用程序:Hello World程序样例
- 类库
- 单元测试工程
- xUnit单元测试工程
在命令提示行中,你可以执行:
dotnet –version
来确认你使用的是.NET Core 2.0版本或者是更高的版本。然后你需要创建一个新目录来保存你的工程,并且运行dotnet new来根据其中一个模板创建一个新工程。之后,执行dotnet run来运行这个工程:
mkdir vbcore
cd vbcore
dotnet new console -lang VB
dotnet run
但是这并不意味着Microsoft的工作都已经全部完成,因为目前还有剩余任务要做,例如,让.NET Core平台上的VB开发者拥有使用ASP .NET Core的能力。Microsofs 的Immo Landwerth说,针对于此的模版尚在进行中,这个版本尚不可用。尽管如此,VB开发者现在可以针对macOS和Linux编写跨平台代码了,在此之前,这是不可能完成的。
未发布 教你如何恢复iPhone上删除的数据及iCloud和iTunes备份 因为iPhone没有恢复选项,因此当你误删iPhone上的消息、照片或联系人时都是灾难性的。但现在你无需担心!只要你使用的是Apple设备,iSkysoft Toolbox for iOS(iPhone数据恢复应用程序)可以帮你轻松地恢复已删除的数据。该数据检索器可以在Mac OS和Windows上运行,除了iOS设备之外,还可以从iCloud,iTunes恢复文件。
iSkysoft工具箱 - iOS数据恢复使你能够恢复在各种情况下丢失的数据:被盗、锁定设备、忘记密码、出厂设置、意外删除、iOS系统崩溃等。
主要特征:
- 从iOS设备中直接恢复数据
- 从iTunes备份中恢复数据
- 从iCloud备份中恢复数据
- 支持iOS 10和最新的iPhone7
在本文中,我们将教你如何使用iSkysoft Toolbox for iOS恢复iPhone重要数据的具体方法,只需几个简单的步骤。 方法一:从iPhone直接恢复数据
请注意,在你意识到数据丢失后,你必须立即停止使用该设备。数据丢失后的任何进程都可以覆盖已删除或丢失的数据,这可能会导致数据永久丢失。
步骤1:在计算机上安装最新的iTunes
在运行iSkysoft Toolbox之前,你必须在计算机上安装最新版本的iTunes。
接下来,禁用iTunes自动同步:启动iTunes并找到“首选项”菜单>单击“设备”选项卡>选中“防止iPod,iPhone和iPad自动同步”选项。
现在可以在Windows PC或Mac上退出iTunes。
步骤2:将iOS设备连接到计算机
在PC上下载并安装iSkysoft Toolbox iOS。使用数据线连接iPhone与电脑连接。点击iPhone上的“信任这台电脑”。在设备连接后,点击窗口左侧的“数据恢复”。跳转到“从iOS设备恢复”窗口。
步骤3:扫描iPhone丢失数据
在“从iOS设备恢复”的主窗口中,有2个选项:从设备中删除数据和设备上的现有数据。你可以选择任意一个进行扫描。
点击“开始扫描”。扫描可能需要几分钟的时间,具体取决于iOS设备上的数据量。在扫描过程中,如果你看到你要查找的数据在那里,请单击“暂停”停止该过程。
步骤4: - 预览扫描数据
在扫描过程完成后生成并显示结果。你可以在左侧选择文件类型,然后预览找到的数据。你可以使用搜索功能直接查找所需的文件。
步骤5:从你的iPhone恢复数据
勾选复选框以选择要恢复的数据。接下来,点击当前窗口底部的“还原”。默认情况下,你选择的数据将保存到你的计算机。信息、联系人和笔记将具有以下选项:导出到计算机并还原到设备。
方法二:从iTunes备份中恢复数据
步骤1:选择“从iTunes备份文件中恢复”
如果你在丢失数据之前将你的iPhone备份到了iTunes中,那么你可以尝试从iTunes备份文件中恢复文件。启动iSkysoft工具箱 - iOS数据恢复,单击“从iTunes备份文件中恢复”。

步骤2:选择iTunes备份文件进行扫描
默认情况下,所有iTunes备份文件将被自动检测并显示。 选择包含你需要的数据,然后单击“开始扫描”。
步骤3:从iTunes备份文件中预览和恢复数据iTunes备份文件
在结果页面中提取并显示为类别。选择所需的,然后单击“导出到Mac”。默认情况下,数据将再次保存到计算机。如果你正在恢复联系人、短信和笔记,则可以通过USB电缆将iOS设备与计算机连接,然后将其还原到设备。
方法三:从iCloud备份中恢复数据
步骤1:选择“从iCloud备份文件中恢复”
这种方法只有在你丢失数据前将iPhone、iPad和iPod touch备份到iCloud之前才有效。启动iSkysoft工具箱 - iOS数据恢复,然后单击“从iCloud备份文件中恢复”。
步骤2:登录iCloud
登录到你的iCloud帐户。不要担心帐户的安全性,软件根本不会收集你的个人信息。
步骤3:下载iCloud备份文件
登录iCloud后,所有的iCloud备份文件将被检测并显示在主窗口中。选择要从中恢复数据的数据,然后单击“下载”按钮。
在下一个新窗口中,系统会要求你选择要下载的文件类型。与下载所有文件相比,它将缩短下载目标文件类型的下载时间。下载后,点击“下一步”。
步骤4:从iCloud备份文件中预览和恢复数据
扫描后,你可以看到所有数据以类别显示。你可以选择任何数据进行预览,然后再执行恢复。
总结:
总而言之,iSkysoft Toolbox for iOS是一种用于从iPhone、iCloud和iTunes备份中恢复已删除的文件和数据的轻便、快速、易于使用的解决方案。
阅读原文>>>