未发布 条形码控件Dynamsoft Barcode Reader v5.1发布,新增JavaScript版本
v5.1更新内容(此次更新仅适用于Windows和JavaScript版本)
新增:
修复:
试用、下载、了解更多产品信息请点击"咨询在线客服"
未发布 HTML5文档查看器PrizmDoc v12.2发布,为Viewing客户端添加了新功能。 PrizmDoc v12.2最新版点击下载>>>
PrizmDoc是最快速、最有品质的HTML5文档查看器,提供安全的、全定制化的查看和协作功能。它通过一个简单部署的机制减少成本,降低安全风险和提高生产率。同时,它是基于服务器的查看器,消除了不必要的许可和下载。
PrizmDoc发布v12.2新版本,为Viewing客户端和PrizmDoc服务器添加了新功能。
未发布 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()
未发布 【教程】Edraw Max(亿图图示)案例:产品经理如何用亿图绘制流程图? 做调研、看数据、画原型、写文档、整理需求、跟进项目……这些琐碎的工作是基本上是每个产品人的日常。然而如何从凌乱的任务清单中抽丝剥茧,让每天的工作更加高效,自然成为了许多产品人迫切需要解决的问题!所谓,工欲善其事,必先利其器。作为一名优秀的产品人,光有想法还远远不够,将想法快速付诸于行动才是最实际有效的。
本文给大家分享一下如何用Edraw Max(亿图图示)软件提高工作效率,让想法与行动完美结合,绘制完美的流程图!
Edraw Max(亿图图示)软件是一款综合类型的图形图表设计软件,你可以在这里绘制各种类型的图形、图表,不管是创建项目、跟踪进度、流程安排、日程管理,还是数据管理、产品展示等等。目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!

对比Visio,Edraw Max(亿图图示)具有哪些优势?1、用Edraw Max绘制的流程图比Visio更美观,只需轻轻的拖曳即可做出漂亮的图形,无需额外设置。
2、Edraw Max(亿图图示)包含了丰富精美的模板和实例库,相对于Visio自带模块,Edraw Max的模块更丰富绚丽,给人的感觉会更舒心更高大上一些!
3、Edraw Max(亿图图示)自带“高光流程图”让绘制的流程图更有质感。
4、Edraw Max(亿图图示)内置的12000多个模板实例库中,很多都非常适用于产品经理!
流程图绘制的四个步骤:
1、调研
让熟悉整体业务的人讲解了解大局,并实地观察和询问,验证讲解以及发现潜在问题。
2、梳理与呈现
将整个流程进行分解,由上至下、由整体到部分、由宏观到微观、由抽象到具体的用流程图展现出来。
温馨提示:此环节一定要恰当的进行层次分解,不要将所有都铺到一张图上。流程图上所涉及的各个岗位、角色,适当的让他们进行参与、交流,会让你事半功倍。最后流程图一定要有始有终,不要让人看了半天,还在云里雾里。
3、评审与确认
这一环节不仅仅是评审流程图是否符合现实,同时也是评审目前的业务流程是否符合理想。不同岗位不同职责的人员会在根据自身实际情况对整个流程相互提出意见,这样一场头脑风暴,想必对流程优化也不失为一件好事!
4、归档维护
流程不断变更,业务流程图也需要及时作出相应的修改。
未发布 矢量图形引擎库VectorDraw Developer Framework更新至v7.7012.1.1,周年8.5折限时特惠!
VectorDraw Developer Framework(VDF)v7.7012.1.1更新内容:
WebJS
新增需求(7.7012.0.1)
新增需求(7.7012.0.3)
新增需求(7.7012.0.5)
新增需求(7.7012.0.7)
新增需求(7.7012.0.9)
漏洞(7.7012.0.1)
漏洞(7.7012.0.2)
漏洞(7.7012.0.3)
漏洞(7.7012.0.4)
漏洞(7.7012.0.9)
通常( 7.7012.0.5)
通常( 7.7012.0.7)
Converter
新增需求(7.7012.0.5)
漏洞(7.7012.0.5)
漏洞(7.7012.0.9)
vdDXF
漏洞(7.7012.0.5)
Engine
新增需求(7.7012.0.1)
新增需求(7.7012.0.4)
新增需求(7.7012.0.5)
70001155 启用opengl反斜杠的细线
70001157 以2D线模式应用部分剪辑
新增需求(7.7012.0.7)
70001176 MText改进
70001185 禁用默认屏幕显示的新方法
新增需求(7.7012.0.8)
新增需求(7.7012.0.9)
漏洞(7.7012.0.1)
漏洞(7.7012.0.2)
70001114 手柄选择未正确更新,并且屏幕上仍然显示
70001116 UpdatePropertiesFromPrinter丢失纸张信息
70001117 实用程序GetLineTypeDlg的Wrapper不会返回正确的行类型
漏洞(7.7012.0.3)
70001125 删除特定折线中的RemoveInLinePoints
70001126 3DPolyline未正确导入
70001137 在WPF数字键控中的控制功能可以使5位数字达到9位
70001140 3D pollyine在DXF 12中无法正确保存
70001141 将特定的Poly Hatches保存到DXF会导致生成无效的DXF
漏洞(7.7012.0.4)
漏洞(7.7012.0.5)
70001151 MText对象不符合BoxWidth
70001154 ActiveTextHorJustify文本命令的问题
70001158 当在ATI卡中使用OpenGL设置EdgeColor时,不正确的行将被渲染
70001161 vdInsert与AligneToView未正确选择
漏洞(7.7012.0.6)
漏洞(7.7012.0.7)
70001170 vdSelection选择所有的问题
70001173 VDF ActiveX 64位指针问题
70001175 dwg未以vds格式正确导出
70001181 Mtext命令无法正常使用特定文本
70001184 忽略MaxBmpMemorySize for x86应用程序
漏洞(7.7012.0.8)
漏洞(7.7012.0.9)
2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 组件套包Essential Studio for UWP 2017 v3发布丨附下载
Essential Studio for UWP 2017 v3为图表添加了一个新的选择器控件,轴刻度中断,以及支持甘特图控件的样式定制。
选择器
新控件
新的选择器控件可以从自定义或模板化的视图项目列表中选择一个项目。 此控件也可以作为对话框打开。
主要特征
图表
轴刻度中断
为图表控件提供了轴刻度中断支持。
气泡图拖动
在编辑数据值时,可以拖动气泡图。
图表
增强注释功能
注释支持交互。可以选择、拖动、调整大小并旋转。
注释可以根据它们对齐的段自动旋转。
DOCIO
内容控件
DocIO能够在Word文档中创建和修改内容控件,并提供了一种设计具有以下功能文档的方法:
创建一个类似表单的用户界面。
防止用户编辑内容控件的内容。
将内容绑定到XML数据。
支持Word转为EPUB
DocIO现在支持将Word文档转换为EPUB文件。
PDF
电子签名
使用PKCS#12证书与私钥数字签名文件,如.pfx文件。
标记PDF
通过允许用户创建PDF/通用可访问性(PDF / UA)或符合章节508的PDF文档来提供辅助功能。
PDF查看器
弹出式注释
PDF Viewer现在允许用户添加和操作PDF文档中的弹出式注释。
Pivot客户端
关联数据源
Pivot客户端支持在嵌入式枢轴网格和枢轴图表中可视化关系数据。 它还提供一个UI选项来拖动字段,过滤它们,并在运行时通过数据透视表字段列表创建pivot视图。
演示
支持插入列
演示文稿现在允许在PowerPoint演示文稿中的表中插入列。
甘特图
样式
支持定制网格标题、时间刻度、前置连接器、任务标签和资源标签的样式。
事件和方法
增加了新的可用性事件和方法。
本地化
支持本地化控件中的静态文本。
看板
本土化
支持本地化控件中的静态文本。
XLSIO
过滤器功能增强
未发布 2D/3D文档查看器ABViewer发布v12,大大提高PDF转DWG的速度丨附下载 ABViewer是一款高质量的2D/3D文档查看器,可提供专业的浏览、编辑和转换功能,支持30多种光栅和矢量图形格式,其中包括AutoCAD DWG, DXF, DWF, Hewlett-Packard HPGL, PLT, HGL, CGM, SVG, IGES/IGS, STEP/STP, STL, 3DS, TIFF, BMP, JPG, GIF等。 ABViewer 12支持AutoCAD®DWG 2018、PDF转DWG速度更快、DWG/DXF转G-code。
ABViewer始终与时俱进,CAD应用程序的新版本ABViewer 12主要用于DWG/DXF和其他2D和3D CAD格式,以及三个主要亮点。
导入AutoCAD®DWG 2018
无论你是在CAD行业工作还是偶尔接收CAD图纸,ABViewer 12始终能够打开所有版本的DWG文件。支持导入最新版本的绘图文件格式 - AutoCAD®DWG 2018。
提高PDF转DWG的速度
ABViewer 12中PDF到DWG转换速度大大加快。以前,转换大文件需要很多时间,现在你无需浪费这些时间了。一些文件的转换就在眨眼之间!
DWG/DXF转换为G-code
许多使用数控机床的人需要从CAD文件中生成G-code。新版本的ABViewer可以实现这个目标。
你可以使用ABViewer创建铣削和切割数控机床的G代码。只需加载你的DWG或DXF文件,调整设置,ABViewer将从你的图纸中生成G-code并将其保存为NC文件格式。
未发布 TWAIN扫描识别工具Dynamic Web TWAIN发布v13.2,周年限时7折特惠! 慧都十四周年狂欢开启,Dynamic Web TWAIN终极让利7折特惠
限时一个月,错过不再有,马上咨询>>>
Dynamic Web TWAIN v13.2更新内容
[HTML5 for All]修复了内存泄漏的问题,扫描服务在将图像数据传输到Web浏览器后未释放内存。注意:此错误从版本13.0开始。
[HTML5 for Mac]修复了网络服务有时候没有正常关闭的错误。
[ActiveX]修复了base64字符串以“==”结尾的错误,无法使用SetCustomDSDataEx方法进行解码。
[ActiveX]修复了在调用Dynamsoft.WebTwainEnv.Unload方法之后Dynamsoft.WebTwainEnv.Load方法不起作用的错误。
[ActiveX]修复了TransferMode属性无法正常运行的错误。

未发布 GLG工具包Visualization and HMI Toolkit更新至v3.6,支持Java Script Visualization and HMI Toolkit的为开发高级图形的动态界面而设计的艺术化的框架:它不仅仅是简单的按键与菜单,它是全动态的能显示动态数据以及能反映用户互动的图片对象。它不仅仅是能制作“漂亮图片”绘制工具(它还具有很多其他功能),而是能使开发人员定义图片对象以及与程序中的对象互动的图形引擎。它的使用对象主要针对应用程序开发人员,能将乏味的低级别图片代码编译工作转化成高级的互动设计行为。
GLG工具包Visualization and HMI Toolkit更新至v3.6,点击下载>>>
支持Java Script:
对Java Script的增加的支持使得用户可以定义自定义函数,将多个输入值转换为驱动动画的输出值。通过可以添加到对象属性的新Java Script转换来使用Java Script。例如,一个新的“LED Value Display”部件可以通过使用Java Script转换来实现部件的逻辑。
转换的Java Script属性包含用于生成输出值的Java Script代码。转换的Arg List属性通过$ N符号提供脚本中使用的可变的参数,其中N是基于1的参数索引(即 $ 1是第一个参数)。参数可以是双(D)、字符串(S)或XYZ(G)类型。Java Script转换的输出值也可以是D、S或G类型,与其所附属性的类型相匹配。
例如,可以使用以下Java Script将D属性的值设置成以度为单位的第一个参数的sin函数:Math.sin ($ 1 / 180. * Math.PI)
下面的Java Script可用于根据第一个参数的值和由第二个、第三个参数定义的阈值来在“NORMAL” 和“ALARM”之间切换的文本字符串:$ 1 <$ 2 || $ 1> $ 3?“ALARM”:“NORMAL”
对于复杂的Java Script来说,可以通过Java Script文件提供Java Script函数和方法库。加载此文件时,可以在图形中使用该文件中定义的Java Script函数。
应用程序可以使用包含Java Script方法集合的全局Java脚本文件并在应用程序的图纸中使用。该文件将被预加载并用作Java Script库。Viewport的JavaScriptFile属性也可定义为该viewport预加载的Java Script文件。所有加载的Java脚本都是全局的,可以在应用程序的任何位置访问。从Java Script文件加载的函数将覆盖任何以前具有相同名称的Java Script函数。
GLGeditors和所有GLG API都支持Java Script:C / C ++、Java、C#和Windows上的ActiveX。C / C ++和ActiveX中的Java Script支持由Duktape JavaScript Engine提供,对于C#来说可以使用Jurassic JavaScript引擎(由Jurassic.dll提供)。在Java中可以使用Java的JavaScript引擎。
所有Java Scripts都在绘图设置时先行编译,以实现更快的运行。这些脚本也可以进行缓存。
GlgJavaScriptFile全局配置资源或GLG_JAVA_SCRIPT_FILE环境变量可用于指定全局Java Script文件。 对于GLG Builder和GLG HMI配置器,还可以通过-glg-java-script-file命令行选项或GLG配置文件中的GlgJavaScriptFile资源(即glg_config或glg_hmi_config)提供全局Java Script文件。
【本文作者慧都Elyn,转载注明出处】
未发布 教你如何恢复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备份中恢复已删除的文件和数据的轻便、快速、易于使用的解决方案。
阅读原文>>>