未发布 Essential Studio for Windows Forms发布2017 v2,支持office 2016和主题定制 Essential Studio for Windows Forms是一个帮您创建高性能的Windows应用程序的Windows Forms界面控件,其包含了高性能的Windows应用程序开发中所需的所有控件,如Grids、Charts、Gauges、Menus、Calendars、Editors等等。 到目前为止,我们开发Windows Forms 控件包已达十几年,所以该控件包是功能最齐全的控件集。除此之外,Essential Studio for WinForms还包含了一些特有控件,使您可以为应用程序添加Excel、Word和PDF格式文件的浏览和创建功能。
Essential Studio for Windows Forms更新2017 v2版本,支持office 2016和主题定制等功能。
DocIO
增强Word转换PDF功能
DocIO现在支持Word到PDF转换期间的方程式字段。

量规
支持office 2016和主题定制
Office 2016主题外观和主题定制支持数字、线性和径向量规形式。

网格分组控制
增强过滤功能
Coded-UI测试
支持在Coded-UI中的子表上执行断言和播放。

高级消息框
从右到左视图
高级消息框控件已实现从右到左的布局。

支持自定义按钮
支持加载高级消息框中的自定义按钮。

详细信息查看
详细信息视图可以引用额外的信息,并根据要求显示/隐藏高级消息框。

PDF
增强PDF安全功能
现在支持PDF 2.0安全功能(AES Revision 6)。

演示
注释功能
可以在PowerPoint演示文稿中创建和修改注释。

XlsIO
Excel到PDF转换中的图标设置
Essential XlsIO支持使用“仅显示图标”和“反向图标顺序”选项进行PDF转换的自定义图标设置。

增强图表转换图像功能
将图表转换为PDF文件或图像时,图表元素(如标题和显示单元)现在支持富文本和具有不同标记的图表系列。

数据透视表自定义排序
数据透视表列可以通过字符串数组或设置自定义位置进行排序。

表格过滤器
可以根据文本、数值和日期过滤Excel表格行。

【百厂约惠】喜迎2018,CADSoftTools全线产品劲享6.7折!
CADSoftTools全线产品低至6.7折!全年仅此一次,错过不再有!
截止时间:2018.1.31
CAD.NET是一个在.NET环境中提供解决方案的库, 它支持AutoCAD®DWG,DXF,PLT及其它CAD格式。 |
CADViewX一款能让应用程序 具有强大CAD图像浏览和打印 功能的图像处理工具。 | ABViewer是一款高质量的2D/3D文档查看器, 可提供专业的浏览、编辑和转换功能, 支持30多种光栅和矢量图形格式。 |
CAD EditorX提供易用 的API和大量的示例方便开发者快速集成。 | CAD VCL Enterprise是一个 高品质多功能且含源码的控件。 |
用于通过Internet、Intranet、 Sharepoint、Office 365 及其他在线 HTML5 启用技术查看DWG和其他CAD文件。 | CAD DLL是一个为开发者打造的 新版本CAD库,可在支持动态链接 库技术的语言中添加CAD功能到应用程序中。 |
更多CADSoftTools产品点击查看>>>
未发布 MailBee.NET Objects退回邮件教程(一):SMTP部分 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
所有退回的电子邮件都应该到达一个邮箱地址。这里将其命名为我们的退件通知栏 - bounce@domain.com。显然,你需要确保退回的邮件能有它们的方式到达退件通知栏。
让我们看看这些邮件是如何由SMTP服务器发送的。当一封邮件提交给SMTP服务器时,它将被标记返回路径。返回路径是服务器用于与邮件的原始发送方通信的路径,因此返回路径通常是发件人的电子邮件地址(“From”地址)。
返回路径记录在邮件中。“From”用于显示发件人地址。返回路径和字段“From”中的地址不必一样。因此,您可以发送一个使用字段“From”的电子邮件显示发件人(jdoe@domain.com),但返回路径将是bounce box地址(bounce@domain.com)。有了这个技巧,所有的反弹消息都将返回到一个特殊的邮箱。
那么如何使用MailBee Objects呢?smtp.Send(senderEmail,recipient)方法向指定的收件人电子邮件地址发送电子邮件。第一个参数是发件人的电子邮件地址。如果是空引用,则电子邮件地址取自“From”属性。第二个参数包含收件人电子邮件地址的分隔列表。当第二个参数为空时,收件人列表可以由To、Cc和Bcc列表组合。正如你所看到的,第一个参数是我们组织一个退件栏所需要的。如果将退件栏地址设置为第一个参数,那么所有退回邮件将被发送到特殊地址。
注意:某些SMTP服务器不允许从“From”标头中指定的地址发送电子邮件。
代码示例:
此示例使用SMTP协议发送电子邮件。为了确保所有收件人都收到该邮件,TestSend将被调用。带有传送错误的邮件将来自指定的电子邮件地址。
C#
// Create SMTP object
Smtp mailer = new Smtp();
// Set the message fields.
mailer.From.AsString = "jdoe@domain.com";
mailer.To.AsString = "bill@domain2.com";
mailer.Subject = "Hi";
mailer.BodyPlainText = "This is test message";
// Starts logging SMTP activities into a file.
mailer.Log.Enabled = true;
mailer.Log.Filename = @"C:\log.txt";
mailer.Log.Clear();
// Specify the server to use. If your server does not require authentication,
// just omit both last parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");
// Attempt to connect.
mailer.Connect();
// Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers[mailer.GetCurrentSmtpServerIndex()].Name);
// Make sure all the recipients are ok.
if (mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) != TestSendResult.OK)
{
Console.WriteLine("No recipients can receive the message.");
}// Show refused recipients if any
else if (mailer.GetRefusedRecipients().Count > 0)
{
Console.WriteLine("The following recipients failed: " + mailer.GetRefusedRecipients().ToString());
}
else
{
Console.WriteLine("All recipients are ok. Will send the message now.");
// Send e-mail. If it cannot be delivered, bounce will
// arrive to bounce@domain3.com, not to joe@domain1.com
mailer.Send("bounce@domain.com", (string)null);
Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString());
}
// Disconnect from the server
mailer.Disconnect();VB.NET
' Create SMTP object
Dim mailer As New Smtp
' Set the message fields.
mailer.From.AsString = "jdoe@domain.com"
mailer.To.AsString = "bill@domain2.com"
mailer.Subject = "Hi"
mailer.BodyPlainText = "This is test message"
' Starts logging SMTP activities into a file.
mailer.Log.Enabled = True
mailer.Log.Filename = "C:\log.txt"
mailer.Log.Clear()
' Specify the server to use. If your server does not require authentication,
' just remove last 2 parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")
' Attempt to connect.
mailer.Connect()
' Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers(mailer.GetCurrentSmtpServerIndex()).Name)
' Make sure all the recipients are ok.
If mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) <> TestSendResult.OK Then
Console.WriteLine("No recipients can receive the message.")
Else
' Show refused recipients if any
If mailer.GetRefusedRecipients().Count > 0 Then
Console.WriteLine("The following recipients failed: " & mailer.GetRefusedRecipients().ToString())
Else
Console.WriteLine("All recipients are ok. Will send the message now.")
' Send e-mail. If it cannot be delivered, bounce will
' arrive to bounce@domain3.com, not to joe@domain1.com
mailer.Send("bounce@domain.com", CType(Nothing, String))
Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString())
End If
End If
' Disconnect from the server
mailer.Disconnect()
未发布 微信里的 Office 365 —— Office 365 微助理打造移动办公新体验 在2017微软技术暨生态大会(Microsoft Tech Summit)上, 微软宣布Office 365微助理正式商用。Office 365微助理将微软Office 365的生产力服务扩展到微信平台,能够在人们熟悉的微信操作界面中,为企业及用户带来 Office 365 的安全性、管理性和更多深层功能。这项由微软中国自主研发的全新功能能够为习惯利用微信进行日常沟通和工作的中国用户,提供一个功能强大、智能化,且简单易用的移动办公和通信解决方案。此外,Office 365 微助理还允许第三方合作伙伴开发出更多基于 Office 365 平台的商业解决方案。
Office 365商用客户将可以通过产品官方页面部署中文版的Office 365微助理服务。
Office 365 微助理
作为中国影响最广的移动社交软件,微信拥有超过 9 亿活跃用户,且大部分用户每天都在频繁使用微信。人们不但将微信用于私人交流,同时也经常将其用于日常的工作沟通和相互协作。但把私人微信用于工作,常常会让人手忙脚乱,因为用户要经常在微信、电子邮件、语音通话及更多其它应用之间来回切换;与此同时,企业 IT 部门则要为如何确保这些基于聊天的交流和数据的安全、可追踪、可管理而大伤脑筋。
Office 365 微助理将企业级的安全性、管理性,以及统一的通信及协作工具与微信的操作体验融会贯通。通过将
Office 365 服务植入微信,用户和企业既能继续使用他们最熟悉的通信工具,同时又能得到由 Office 365 提供的更高水平的生产力、团队协作能力,以及安全性的保障。
实现高效沟通及信息管理
Office 365 微助理的智能通知(intelligent notifications)功能可以帮助用户更高效地管理信息,并在微信中更轻松地找到联系人和文档。用户不但能及时收到邮件和会议提醒,还能在组织内快速查找联系人、文件和邮件信息。Office 365 微助理能确保信息发布的安全性,员工也可以通过公司内网查看企业内部的政策规定或及时获取 IT 部门的支持。Office 365 微助理还能提供对最近打开的文档或常用联系人的快速访问,智能识别图片信息,并能生成可以编辑的 PowerPoint 文档。
通过“个人助理”接收工作提醒
通过“同事圈”了解同事动态
促进高效的团队协作
Office 365 微助理不但能帮助用户快速与同事取得联系,还提供了安全的文档共享服务、基于人工智能的智能会议调度及任务协调功能,可以显著提升团队协作的效率。用户可以通过多种方式与他人沟通,包括使用企业通讯簿快速查找特定联系人,通过身份同步(ID sync)自动将 Office 365 联系人同步到企业通讯簿中。此外,用户还能够借助 OneDrive 安全地共享文件。所有讨论交流都可以自动存档,便于以后参考使用。
通过“团队协作”查看最近联系人
确保企业级的信息安全和管理性
利用 Office 365 微助理,企业可以对数据访问权限进行更好的管理,对数据进行更周全的保护,在确保合规的同时,提供简单易用的管理性。微信将得到企业级的数据保护,静态数据和传输中的动态数据都能全程得到增强的数据保护。收到文档的用户需要具有相应的权限才能对文档进行访问和共享,对于保密文档,用户浏览文件时就会自动添加水印,同时禁止文档转发。
Office 365 微助理能确保员工进入与其身份、职责相符的聊天群组或对话中,从而有效防止信息泄露。同时,每名员工的Office 365 账户信息与其企业微信身份始终保持同步,因此 IT 管理员能够轻松地对用户身份进行统一管理。Office 365 平台与微信的集成,不但能为企业提供企业级的数据保护,同时还能确保移动设备上的数据安全。
IT 管理员能够轻松地对用户身份进行统一管理
即刻体验 Office 365 微助理
从今天开始,Office 365 商用客户将可以通过产品官方页面即刻部署和使用 Office 365 微助理服务。
未发布 图像扫描工具包VintaSoftTwain.NET SDK v10.1发布,简化图像采集功能 VintaSoftTwain.NET SDK允许控制平台和手持扫描仪、网页和数码相机,以及.NET环境中的任何其它TWAIN设备的运作。
更新内容:
1、现在,从扫描仪中获取图像的功能可以很简单地添加到Web应用程序中:
Vintasoft.Twain.Web.WcfServices程序集可以在ASP.NET应用程序的服务器端使用,并允许创建一个用于从扫描程序中采集图像的WCF服务。
可以在ASP.NET MVC应用程序的服务器端使用Vintasoft.twain.Web.ApiController组件,并允许创建一个用于从扫描仪中进行图像采集的Web控制器。
用JavaScript编写的Vintasoft.Twain.js文件可以在ASP.NET应用程序的客户端使用,包括类和枚举,这简化了扫描仪的图像采集功能。
2、演示应用:
VintasoftWebTwainService - 新的控制台演示应用程序,演示了如何创建一个本地自我托管的Web服务来管理扫描仪。该Web服务是基于Web API控制器的。
AspNetMvcTwainDemos - 新的ASP.NET MVC演示应用程序,演示了如何从扫描仪中获取图像,处理所获取的图像,将获取的图像保存到本地文件或上传到HTTP(S)服务器上。该演示可以在任何浏览器(Chrome、Firefox、Edge、Internet Explorer、Opera)中使用,并使用本地Web服务与扫描仪进行通信。该演示使用了在VintasoftWebTwainService演示应用程序中实现的本地Web服务。
VintasoftWcfTwainService - 新的控制台演示应用程序,演示了如何创建一个本地的自我托管的Web服务来管理扫描仪。该Web服务是基于WCF服务的。
AspNetTwainDemos - 新的ASP.NET WebForms演示应用程序,演示了如何从扫描仪中获取图像,处理获取的图像,将获取的图像保存到本地文件或上传到HTTP(S)服务器上。该演示可以在任何浏览器(Chrome、Firefox、Edge、Internet Explorer、Opera)中使用,并使用本地Web服务与扫描仪进行通信。该演示使用了在VintasoftWcfTwainService演示应用程序中实现的本地Web服务。
未发布 2017年四大网络安全趋势 网络攻击在2016年创下了纪录,在2017年网络环境将更加危险。以下是2017年
网络安全的4个趋势。
不断变化的勒索软件
随着越来越多的数据存储在移动设备上,勒索软件在网络犯罪分子中非常受欢迎。这是一个有利可图的加密内容的漏洞,除非支付赎金,否则无法恢复。现在勒索软件越来越复杂,并且定位到任何设备。在夏季DEFCON会议上,Pen Test Partners的研究人员证明了攻击者如何控制互联网连接的恒温器并进行锁定,直到受害者接受赎金要求为止。
另一个新的趋势:网络犯罪分子目标通常是高管和其他有权力的人,他们更有可能为保护有价值的公司或个人信息而付款。
物联网IoT
数十亿新的物联网设备正在连接到企业网络。但考虑到很多不安全因素,大量使用只会增加黑客目标的数量。去年十月的Dyn攻击显示网络犯罪分子操纵物联网造成严重破坏是多么容易。特别令人不安的是,黑客将恶意软件部署到使用 IoT设备的机器人上进行DDoS攻击。他们还为模仿者创建了一个攻击模板。网络犯罪分子可以很容易地获取未来的源代码和其他攻击工具推出自己的僵尸网络。
移动安全威胁无处不在
大约4%的移动设备被恶意软件感染,而大约一半的移动设备受到暴露企业数据的高风险。员工仍然忽视公司协议,并将未经授权的移动应用程序下载到用于连接到企业网络的设备上。应用商店有时也会被流氓开发人员欺骗,他们创建恶意的开发环境,将恶意软件隐藏在表面上看起来安全的应用中。底线:随着越来越多的员工通过移动设备访问公司据,他们将注定要在2017年成为网络犯罪分子的更大目标。
政治黑客走向主流
国家定期进行cyberespionion,但国家赞助的网络攻击并不局限于工业间谍活动。“民主党全国大会”黑客提供了一个教科书的例子,说明团体如何代表国家赞助者采取行动,使用被盗的材料传播虚假信息,播种不和或传播宣传,以推动其政治目标。即使那些不直接参与政治的企业也需要更新威胁评估。威胁不再仅仅来自民族国家。安全从业人员还需要抵御各种使用网络攻击推动事业或推进议程的政治黑社会主义者所构成的威胁。
未发布 扫描识别工具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的用户带来帮助,接下来还会有更多的相关教程,敬请期待!