未找到

未发布 矢量图形引擎库VectorDraw Developer Framework更新至v7.7012.1.1,周年8.5折限时特惠!
by Harriet666 keys 分享 1509529066316
VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。VectorDraw Developer Framework最新版点击下载>>>
 
慧都十四周年狂欢开启VectorDraw Developer Framework(VDF)8.5折冰点价,限时一个月,错过不再有,马上咨询>>>
 
VectorDraw Developer Framework(VDF)v7.7012.1.1更新内容:

WebJS

新增需求(7.7012.0.1)
  • 70001107 支持vdPolyface对象的3d形状和GradientColors
  • 70001111 获取实体边界框
新增需求(7.7012.0.3)
  • 70001119 支持vdViews
  • 70001128 WebControl中增加了两个样本
新增需求(7.7012.0.5)
  • 70001115 vdViews的新功能
  • 70001133 Esc键取消整个polyline命令
  • 70001160 3d渲染支持更多的截面剪辑
新增需求(7.7012.0.7)
  • 70001171 在所有绘图实体上绘制新的临时实体
  • 70001172 获取复制的实体
新增需求(7.7012.0.9)
  • 70001194 支持标准折线和直角的宽度
 
漏洞(7.7012.0.1)
  • 70001098 vdSelectionModified事件返回不正确的所选项目数
漏洞(7.7012.0.2)
  • 70001118 GetEntitiesFromLayer()方法中的错误
漏洞(7.7012.0.3)
  • 70001123 isCanceled在scriptCommand.select中始终返回true
漏洞(7.7012.0.4)
  • 70001127 MouseRightButton和e鼠标按钮在Web控件中不一致
漏洞(7.7012.0.9)
  • 70001198 3D视图中的鼠标位置不正确
 
通常( 7.7012.0.5)
  • 70001162 WebCad示例已添加到WebControl中
通常( 7.7012.0.7)
  • 70001179 取消动作已被双击删除
 

Converter

新增需求(7.7012.0.5)
  • 70001159 支持DWG 2018格式
 
漏洞(7.7012.0.5)
  • 70001165 错误的文本转换
漏洞(7.7012.0.9)
  • 70001195 特定的.DWG不打开
 

vdDXF

漏洞(7.7012.0.5)
  • 70001147 无法在ACAD中打开DXF
  • 70001150 DefPoint1和LinePosition在保存后交换特定径向尺寸的值
  • 70001152 DXF文件加载并保存的问题
 

Engine

新增需求(7.7012.0.1)
  • 70001096 无法选择带有窗口选择的面
  • 70001105 提升GradientColors
  • 70001106 cmdMultiline中的自我复制
新增需求(7.7012.0.4)
  • 70001144 ZoomPrevous和鼠标放大
新增需求(7.7012.0.5)
  • 70001155 启用opengl反斜杠的细线
  • 70001157 以2D线模式应用部分剪辑
新增需求(7.7012.0.7)
  • 70001176 MText改进
  • 70001185 禁用默认屏幕显示的新方法
新增需求(7.7012.0.8)
  • 70001189 相对于最后一个折线段的PolarTrack
新增需求(7.7012.0.9)
  • 70001192 使用形状编号获取SHX中形状的ShapeName
 
漏洞(7.7012.0.1)
  • 70001102 编辑文本时的EditText问题
  • 70001109 如果在没有GetGripSelection方法的情况下添加选择,则不会引发GripModified事件
  • 70001110 Mtext未正确呈现
  • 70001113 3D模式中的文本线型显示错误
漏洞(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)
  • 70001131 文件没有使用ocx打开
  • 70001142 线型打印出现错误的刻度
  • 70001145 vdInsert的BoundinBox不正确
漏洞(7.7012.0.5)
  • 70001151 MText对象不符合BoxWidth
  • 70001154 ActiveTextHorJustify文本命令的问题
  • 70001158 当在ATI卡中使用OpenGL设置EdgeColor时,不正确的行将被渲染
  • 70001161 vdInsert与AligneToView未正确选择
漏洞(7.7012.0.6)
  • 70001166 CmdSketch忽略MouseElevation属性
  • 70001167当活动图层冻结时,CmdDimStyleDialog预览为空
漏洞(7.7012.0.7)
  • 70001170 vdSelection选择所有的问题
  • 70001173 VDF ActiveX 64位指针问题
  • 70001175 dwg未以vds格式正确导出
  • 70001181 Mtext命令无法正常使用特定文本
  • 70001184 忽略MaxBmpMemorySize for x86应用程序
漏洞(7.7012.0.8)
  • 70001187 EMF文件在不同分辨率的PC上加载不同的绘图大小
  • 70001188 PolarTrackAngle与SnapAngle不相关
漏洞(7.7012.0.9)
  • 70001196 图像透明度在wire2dGdiPlus模式下不起作用
  • 70001199 具有自定义对象xproperties的DXF未正确保存
2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 Essential Studio for UWP发布2017 v2,新增甘特图控件
by Harriet666 keys 分享 1495780729601
Essential Studio for UWP是包含有35 +组件的综合套包,包括最快的图表和网格组件。所有组件根据当前被呈现的设备系列自适应渲染。Essential Studio for UWP发布2017 v2,新增甘特图控件。

【Essential Studio for UWP最新版点击下载>>>】


图表

区段颜色设置

图表中的每个段现已支持颜色贴图。

995952bfb60443129bd83ac458ae54f8ojpg

多个样条曲线类型

图表控件现在支持样条区域的多个样条类型。

484149a96b314a5491b95cb18957eeb9ojpg

 

图表

片段装饰

连接器中添加了一种新的装饰元素,以指示连接在另一个连接器或片段上的流动。

de1341f252e34bdabb7a48bc63b8bba0ojpg

 

PDF

增强PDF安全功能

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

77d44e0e6b76401ab02e8a510924d4e6ojpg

 

数据透视图表

快速图表类型

在透视图控件中实现了以下快速图表类型:快速列位图、快速条形图、快速行、快速位图、快速步进位图、快速分散位图和快速堆叠列位图。

修饰

添加数据透视图修饰以显示与图表细分元素相关的值。

9ffff64fc71147f4929d16d12331f483ojpg

注释

数据透视图注释显示有关绘图区域中特定目标点的图表或系列的元数据。

9137007f09c3430fad13f40e823af42bojpg

Pivot客户端

标签和值过滤器

Pivot客户端支持按标签和值进行过滤。

a1c70a38440e4827b6f7fb54f2694211ojpg

延迟更新

Pivot客户端可以仅在需要时更新,而不是在每次UI交互期间更新。

Pivot网格

Pivot行

Pivot网格可以定制为平面网格。

2f2237b52b994d8ca4fe1c9eaaf84c70ojpg

分组栏

Pivot网格提供了一个UI选项来拖动字段、过滤,并在运行时通过分组栏创建Pivot视图。

996bf06c54264a969c20b3ccf4db9af0ojpg

演示

注释功能

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

4773c7e27f8649bea7af50162dd246e3ojpg

富文本框

支持打印

富文本框控件现在支持从桌面和移动应用程序中打印文档内容。

a002e003c13149c6b2b951898d3207c9ojpg

页面布局

富文本框控件支持在移动设备上逐页查看文档内容。

63a5e6287a674089b4eccd746ca3434fojpg


甘特图

甘特图控件用于可视化和编辑项目进度,并跟踪项目进度。它可以帮助你组织和安排项目。你还可以通过编辑、拖动和调整大小等操作来更新项目进度。

f4eb369c934546068418ec2abec15752ojpg

主要特征

  • 任务关系
  • 交互式编辑
  • 排序
  • 自定义时间格式

树型网格

过滤

树状网格控件现在支持使用各种过滤器选项,用编程方的式过滤节点。

0d08e7d6f68d4251acd0519484bb65f4ojpg


未发布 屏幕录制软件ALLCapture常见问题合集(上)
by Harriet666 keys 分享 1504776846597
ALLCapture是一款实时抓取桌面的屏幕录制软件。实时、快速、轻松地录制屏幕,创建自己的屏幕录像、示例、指南、软件模拟以及无需任何编程的网络视频。制作步骤如此简单:录制-编辑-导出-播放。
ALLCapture
使用ALLCapture遇到了问题?我们的FAQ将帮助你找到答案。

1、我的序列号和注册信息都无法使用?

注册信息包括三部分:“序列号”,“字段 #1”以及“字段 #2”-要成功注册你的软件这些信息都是必须。为了确保你的注册没有任何问题,请从发送给你的邮件中复制注册信息,然后粘贴到相应的注册字段。请参考以下截图。
 

2、ALLCapture对系统的最低要求是?

功能要求
主要功能Windows 98或更高
最低1.2GHzPentium或兼容CPU
256MB内存
50MB可用硬盘
SVGA显卡,256色
对电影或视图截图Windows 2000或更高(文件格式为NTFS)
最低2GHz Pentium或兼容CPU
1GB内存
30GB可用硬盘
专业版SVGA显卡,最低显存256MB
(非集成显卡)
 

3、最大帧速非常慢,我该怎么办?

当ALLCapture显示的帧速小于10FPS(帧每秒)时,要么是显卡不支持要么是驱动过期。用户可用升级电脑的显卡驱动来增加帧速,但是显卡或显卡芯片仍然无法支持。在购买新显卡前我们还是建议先升级显卡驱动。如果驱动升级成功,你可以在ALLCapture中新建一个项目,然后在“录制选项”页中点击“帧速”,然后再点击“刷新帧速最大值”按钮。


4、为什么录制的视频是黑色的一片?

先了解一下处理机制,电影是直接从显卡解码而来,这就是造成黑色一片的原因。Windows只能同时让一个屏幕可用,这样操作系统无法获取在屏幕下面的东西,因此ALLCapture也无法捕捉到。

用户可以通过停用显卡的硬件加速来捕获画面。硬件加速可以从这里找到:“开始>设置>控制面板>显示>设置>高级>疑难解答”,滑动控制条到“没有硬件加速”。


5、为什么ALLCapture没有录制系统声音?

很多笔记本厂商没有配置完整的声卡芯片驱动。这应该是录制驱动识别功能无法识别系统的声卡驱动的原因。对于台式电脑应该安装了提供这个功能的声卡,升级声卡驱动应该可以解决这个问题。
 
如果你使用的是Vista,请查看示例
 

6、我怎样可以把PowerPoint录制为视频?

使用ALLCapture新建一个项目,然后在录制前选择分辨率,例如:800x600像素,打开PowerPoint开始录制,然后开始放映PowerPoint,并立即按下CTRL+SHIFT+P使PPT填充录制窗口,PPT播放完毕即可结束录制,然后剪掉前面的录制让第一页幻灯片的画面为起始页。

提示:如果幻灯片播放太快以至于没有捕捉到第一页ppt画面,你只需在ppt开始处插入空白的幻灯片,这样当播放时点击空白幻灯片后,真正的第一页幻灯片就可以录制到了。
未发布 专业的格式转换工具pdf2cad发布v11,支持当前所有的Windows和Mac操作系统
by Harriet666 keys 分享 1491899188681

pdf2cad是一款可将PDF文件转换成CAD格式的转换工具。仅需几秒钟,便可将所提取的准确图形在常规的CAD工具中进行修改,如AutoCAD, TurboCAD和MicroStation。pdf2cad可将PDF工程图输出为DWG, DXF和HPGL格式。pdf2cad格式转换工具适用于Windows或Mac OS X操作系统。

pdf2cad v11提供了许多新功能和增强功能,包括64位版本,支持所有当前的Windows和Mac操作系统,处理受密码保护的PDF文件,更多地控制图像,灵活的页面编号,其他方法来分隔图层等等。

【pdf2cad点击下载>>>】

pdf2cad v11更新内容:


输入选项
  • pdf2cad v11提供了一个新的选项来指定受密码保护的PDF文件。
pdf2cad
输出选项
  • 在输出文件名中定义页码的新选项
  • 使用文件名作为目录名称的新选项
pdf2cad
文本选项
  • 支持Unicode字符集
  • 提升处理未知字符编码的能力
格式
  • 增加DXF / DWG格式的英寸作为单位选项
分层
  • 基于实体类型的图层
  • 改进嵌套分层和名称验证
  • 将每个图层转换为单独文件的新选项(仅限DXF)
pdf2cad
比例选项
  • 使用mm、英寸、英尺和米的新选项来定义比例
pdf2cad
图像选项
  • 可忽略小图像或裁剪后将其转换为颜色线
  • 将图像对象移动到背景的新选项
  • 如果PDF文件包含IMAGE对象,则显示警告消息
pdf2cad
综合
  • 改进字体警告处理
  • 修复和改进DXF / DWG格式
  • 增强PDF解释器
  • 新的64位版本pdf2cad 
  • 支持最新的操作系统版本,包括Windows 10.0和Mac OS X Mavericks
  • pdf2xxx CL(Windows)支持Unicode文件名
未发布 MailBee.NET Objects退回邮件教程(二):POP3部分
by Harriet666 keys 分享 1503567760428
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,
简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。

MailBee.NET Objects介绍和试用点击查看>>>
 
 
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
在上期的SMTP部分中,我们将退回的电子邮件发送到指定的单个电子邮件地址。
 
每封退回的电子邮件都包含失败的电子邮件地址(以及其他信息)。这个失败的地址是我们想知道的。这个任务看起来很简单 - 你需要做的是扫描退回的
邮件以确定地址的典型字段。但是有一个隐藏的危险:每个邮件服务器都有自己的邮件退回格式。虽然它们几乎具有相同的“From”和“主题”字段,但是退回地址可以在邮件的任何位置。MailEnable服务器的典型退回邮件如下所示:
From: POSTMASTER@domain.com
To: jdoe@domain.com
Subject: Message Delivery Failure

MailEnable: Message Delivery Failure.

The following recipient(s) could not be reached: 

Recipient: [SMTP: bill@domain.com] Reason: The message could not be delivered because the domain name (domain.com) does not appear 

to be registered.

函数GetInvalidEmailAddressME()检查邮件是否被退回,并从退回的邮件中提取失败的地址。由于退回邮件格式不同,此功能仅对MailEnable服务器有效。例如,如果你正在使用Communigate Pro服务器,则退回消息如下所示:
From: MAILER-DAEMON@domain.local
To: jdoe@localhost Subject:
Undeliverable mail:

Failed to deliver to ''
 
正如你所看到的,这个退回的邮件与前一个几乎相同。使用哪个服务器并不重要,退回信息总是有From,To和Subject字段,退回信息在其正文中有失败的地址。函数GetInvalidEmailAddressCP()与前一个函数几乎相同; 区别仅在于检查邮件字段并搜索失败的地址。支持尽可能多的退回电子邮件格式至关重要。这就是为什么你需要修改GetInvalidEmailAddress()函数,以适应服务器使用的退回电子邮件格式。
 
注意:在某些情况下,你可能需要扫描退回的电子邮件以获取其他信息。如果由于暂时的问题,退回的邮件到达,则不要删除电子邮件地址:邮箱超过配
额,邮件服务器关闭等。退回邮件可以分为两种类型:硬邮件和软邮件。如果是不存在的帐户或域,则会发生硬性退回。其他故障,如完整的邮箱或暂时
不可用的域,则是软性退回。你可以为数据库中的每个地址进行计算。也许下一次尝试发送邮件到具有一些软性退回的地址时将成功。
 
代码示例:
在此示例中,我们从指定的帐户中检索退回的电子邮件,然后从每个退回的电子邮件中提取失败的电子邮件地址。失败的地址传递给RemoveEmailFromDatabase子程序,该子程序必须从数据库中删除失败的地址。应用程序还会从服务器中删除退回的电子邮件,以避免下次处理。
C#:
// Create POP3 object
Pop3 pop = new Pop3();

// Enable logging to file
pop.Log.Enabled = true;
pop.Log.Filename = @"C:\log.txt";
pop.Log.Clear();

// Connect to POP3 server
pop.Connect("mail.domain.com");
pop.Login("bounce", "secret");

// Download headers and bodies of all messages.
MailMessageCollection msgs = pop.DownloadMessageHeaders(1, -1, -1);
                        
// Loop through all messages in the mailbox
foreach (MailMessage msg in msgs)
{
        string strLine = msg.BodyPlainText;
        Console.WriteLine("From: " + msg.From.Email);
                                
        // Get failed email address
        string str_invalid_email =  GetInvalidEmailAddressME(msg);

        // If str_invalid_email is non-empty then failed email 
        // address was found
        if (str_invalid_email.Length > 0)
        {
                // Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email);

                // Display invalid adress
                Console.WriteLine("Invalid email: " + str_invalid_email);                

                // Delete bounced email from server to avoid
                // processing it next time
                pop.DeleteMessage(msg.IndexOnServer);
        }
}

// Disconnect from POP3 server
pop.Disconnect();

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for MailEnable servers
static string  GetInvalidEmailAddressME(MailMessage msg)
{
        string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Delivery Failure") == -1)
{ 
                return "";
        }
        if (msg.From.ToString().IndexOf("POSTMASTER") == -1)
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("SMTP:");

        // Check if bounced message report contains "Recipient:" field
        if (i_start == -1)
        {
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for Communigate Pro servers
static string  GetInvalidEmailAddressCP(MailMessage msg)
{
string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Undeliverable mail") == -1) 
        {
                return "";
        }
        if (msg.From.ToString().IndexOf("MAILER-DAEMON") == -1) 
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("to '<");

        // Check if bounced message report contains 
        // "Failed to deliver to " field
        if (i_start == -1)
        { 
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// This function must remove (or disable) specified
// email address from mailing list
static void RemoveEmailFromDatabase(string str_invalid_email)
{
// TODO: Add your code here                        
}
 
VB.NET:
Dim pop As New Pop3

' Enable logging to file
pop.Log.Enabled = True
pop.Log.Filename = "C:\log.txt"
pop.Log.Clear()

' Connect to POP3 server
pop.Connect("mail.domain.com")
pop.Login("jdoe", "secret")

' Download headers and bodies for all messages.
Dim msgs As MailMessageCollection = pop.DownloadMessageHeaders(1, -1, -1)

' Loop through all messages in the mailbox
Dim msg As MailMessage
For Each msg In msgs
        Dim strLine As String = msg.BodyPlainText
        Console.WriteLine("From: " + msg.From.Email)

        ' Get failed email address
        Dim str_invalid_email As String = GetInvalidEmailAddressME(msg)

        ' If str_invalid_email is non-empty then failed email 
        ' address was found
        If str_invalid_email.Length > 0 Then
                'Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email)

                ' Display invalid address
                Console.WriteLine("Invalid email: " & str_invalid_email)

                ' Delete bounced email from server to avoid
                ' processing it next time
                pop.DeleteMessage(msg.IndexOnServer)
        End If
Next
Console.ReadLine()

' Disconnect from POP3 server
pop.Disconnect()

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for MailEnable servers
Function GetInvalidEmailAddressME(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Delivery Failure") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("POSTMASTER") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("SMTP:")

        ' Check if bounced message report contains "Recipient:" field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for Communigate Pro servers
Function GetInvalidEmailAddressCP(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Undeliverable mail") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("MAILER-DAEMON") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("to '<")

        ' Check if bounced message report contains 
        ' "Failed to deliver to " field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' This function must remove (or disable) specified
' email address from mailing list
Sub RemoveEmailFromDatabase(ByVal str_invalid_email As String)
        ' TODO: Add your code here                        
End Sub
未发布 【更新】支持多种格式音视频的本地.NET组件Audio Sound Recorder for .NET 更新至v9.0.0.0
by Harriet666 keys 分享 1510908930689
Audio Sound Recorder for .NET是一款本地.NET组件,它可以轻松把录音功能添加到用Visual Studio.NET和Borland Developer Studio编写的Winforms应用程序中。

Audio Sound Recorder for .NET v9.0.0.0最新版下载

Audio Sound Recorder for .NET v9.0.0.0更新内容:
新功能
  • 支持播放声音,同时通过鼠标手动滚动波形滚动条。
  • 支持通过外部编码器FdkAac.exe以AAC+格式记录和导出。
  • 支持播放录制声音。
  • 支持对录制声音进行高速播放,可以将声音保持原始速度。
  • 支持以HLS格式(HTTP Live Streaming)进行流媒体回放。
  • 增加了将Wasapi采集或回送设备的立体声录音会话分为两个单声道输出文件的可能性
  • 增加了切换立体声分离录制会话的单声道输出文件的功能
  • 波形分析仪的新选项
      - 波形现在可以基于绝对值显示检测到的峰值
      - 更多地控制时间标尺上显示的时间字符串的格式
      - 可选的自动垂直缩放功能,用于低音量级别的波形
  • 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。
  • 增加了在录制和回放过程中检索峰值电平和RMS(均方根)电平的支持。
  • 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性
 
新属性
  • EncodeFormats.AACPlus (class)
 
新方法
  • CallbackWaveformValueChangeSet
  • StartSplitFromWasapiCaptureDevice
  • StartSplitFromWasapiLoopbackDevice
  • SwitchOutputFilesOnSplit
  • StreamPeakLevelsGet
  • RecordedSound.PlaybackRateGet
  • RecordedSound.PlaybackRateSet
  • RecordedSound.PlaybackTempoGet
  • RecordedSound.PlaybackTempoSet
  • RecordedSound.PlaybackRateRatioGet
  • RecordedSound.SoundDirectionEnable
  • RecordedSound.SoundDirectionGet
  • RecordedSound.SoundDirectionIsEnabled
  • RecordedSound.SoundDirectionSet
  • WASAPI.MixerInputDevicePeakLevelsGet
  • WaveformAnalyzer.AutoZoomEnable
  • WaveformAnalyzer.SettingsRulersTimeFormatSet
  • WaveformAnalyzer.PeaksBufferLengthGet
  • WaveformAnalyzer.PeaksBufferGet
  • WaveformScroller.PlaybackOnScrollEnable
  • WaveformScroller.PlaybackOnScrollInfoGet
 
新事件
  • WaveformValueChange
 
新的回调委托
  • CallbackWaveformValueChange
 
新的类
  • EncodeAACplus

试用、下载、了解更多产品信息请点击"咨询在线客服"  

未发布 条码控件Dynamsoft Barcode Reader教程:从PDF417驾驶执照中提取数据
by Harriet666 keys 分享 1499929296192
根据AAMVA卡的设计标准,PDF417二维条码符号系统是符合驾驶执照/识别文件必须存在的最低强制性机读技术。条形码编码关于持卡人的关键信息,包括姓名、出生日期、性别、眼睛颜色、身高等等。
 
从驾驶执照中提取数据有两种方法。我们可以使用OCR技术识别ID上打印的字符。或者,我们可以使用条形码识别技术对PDF417符号系统进行解码,然后将其解析为可读的格式。一般来说,后者比前者更准确,性价比更高。
 
本文将讨论如何使用Dynamsoft Barcode Reader SDK从驾驶执照中提取文本。
 
Dynamsoft Barcode Reader最新版下载>>>

在线演示

要了解这是如何进行的,你可以尝试在线演示 - 查看驾驶执照的PDF417条码
 
请注意,此演示还提供文档扫描,由Dynamsoft Web TWAIN SDK提供支持。

如何从PDF417驾驶执照中提取数据

步骤1.检测并解码PDF417代码
var barcodeImage = DWObject.GetImageURL(index, -1, -1);
dbrObject.readURLAsync(barcodeImage,
    index,
    GetBarcodeInfo,
    OnBarcodeReadFailure);
function OnBarcodeReadFailure(sImageIndex, errorCode, errorString) {
    console.log(errorString);
}
function GetBarcodeInfo(sImageIndex, result) {//This is the function called when barcode is read successfully
    //Retrieve barcode details
    var count = result.getCount();
    if (count == 0) {
        alert("The barcode for the selected format is not found.");
        return;
    } else {
        for (i = 0; i < count; i++) {
            Barcode_text = result.get(i).text;
            var x = result.get(i).x1;
            var y = result.get(i).y1;
            var format = result.get(i).formatString;
            var barcodeText = ("barcode[" + (i + 1) + "]: " + "\n" + Barcode_text + "\n");
            extractInformation();
        }
    }
}
 
步骤2.将其解析成可读的格式
driverLicenseFields = [
        { 'abbreviation': 'DAA', 'description': 'Full Name' }
        , { 'abbreviation': 'DAB', 'description': 'Last Name' }
        , { 'abbreviation': 'DAB', 'description': 'Family Name' }
        , { 'abbreviation': 'DAC', 'description': 'First Name' }
        , { 'abbreviation': 'DAC', 'description': 'Given Name' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name' }
        , { 'abbreviation': 'DAE', 'description': 'Name Suffix' }
        , { 'abbreviation': 'DAF', 'description': 'Name Prefix' }
        , { 'abbreviation': 'DAG', 'description': 'Mailing Street Address1' }
        , { 'abbreviation': 'DAH', 'description': 'Mailing Street Address2' }
        , { 'abbreviation': 'DAI', 'description': 'Mailing City' }
        , { 'abbreviation': 'DAJ', 'description': 'Mailing Jurisdiction Code' }
        , { 'abbreviation': 'DAK', 'description': 'Mailing Postal Code' }
        , { 'abbreviation': 'DAL', 'description': 'Residence Street Address1' }
        , { 'abbreviation': 'DAM', 'description': 'Residence Street Address2' }
        , { 'abbreviation': 'DAN', 'description': 'Residence City' }
        , { 'abbreviation': 'DAO', 'description': 'Residence Jurisdiction Code' }
        , { 'abbreviation': 'DAP', 'description': 'Residence Postal Code' }
        , { 'abbreviation': 'DAQ', 'description': 'License or ID Number' }
        , { 'abbreviation': 'DAR', 'description': 'License Classification Code' }
        , { 'abbreviation': 'DAS', 'description': 'License Restriction Code' }
        , { 'abbreviation': 'DAT', 'description': 'License Endorsements Code' }
        , { 'abbreviation': 'DAU', 'description': 'Height in FT_IN' }
        , { 'abbreviation': 'DAV', 'description': 'Height in CM' }
        , { 'abbreviation': 'DAW', 'description': 'Weight in LBS' }
        , { 'abbreviation': 'DAX', 'description': 'Weight in KG' }
        , { 'abbreviation': 'DAY', 'description': 'Eye Color' }
        , { 'abbreviation': 'DAZ', 'description': 'Hair Color' }
        , { 'abbreviation': 'DBA', 'description': 'License Expiration Date' }
        , { 'abbreviation': 'DBB', 'description': 'Date of Birth' }
        , { 'abbreviation': 'DBC', 'description': 'Sex' }
        , { 'abbreviation': 'DBD', 'description': 'License or ID Document Issue Date' }
        , { 'abbreviation': 'DBE', 'description': 'Issue Timestamp' }
        , { 'abbreviation': 'DBF', 'description': 'Number of Duplicates' }
        , { 'abbreviation': 'DBG', 'description': 'Medical Indicator Codes' }
        , { 'abbreviation': 'DBH', 'description': 'Organ Donor' }
        , { 'abbreviation': 'DBI', 'description': 'Non-Resident Indicator' }
        , { 'abbreviation': 'DBJ', 'description': 'Unique Customer Identifier' }
        , { 'abbreviation': 'DBK', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBL', 'description': 'Date Of Birth' }
        , { 'abbreviation': 'DBM', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBN', 'description': 'Full Name' }
        , { 'abbreviation': 'DBO', 'description': 'Last Name' }
        , { 'abbreviation': 'DBO', 'description': 'Family Name' }
        , { 'abbreviation': 'DBP', 'description': 'First Name' }
        , { 'abbreviation': 'DBP', 'description': 'Given Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DBR', 'description': 'Suffix' }
        , { 'abbreviation': 'DBS', 'description': 'Prefix' }
        , { 'abbreviation': 'DCA', 'description': 'Virginia Specific Class' }
        , { 'abbreviation': 'DCB', 'description': 'Virginia Specific Restrictions' }
        , { 'abbreviation': 'DCD', 'description': 'Virginia Specific Endorsements' }
        , { 'abbreviation': 'DCE', 'description': 'Physical Description Weight Range' }
        , { 'abbreviation': 'DCF', 'description': 'Document Discriminator' }
        , { 'abbreviation': 'DCG', 'description': 'Country territory of issuance' }
        , { 'abbreviation': 'DCH', 'description': 'Federal Commercial Vehicle Codes' }
        , { 'abbreviation': 'DCI', 'description': 'Place of birth' }
        , { 'abbreviation': 'DCJ', 'description': 'Audit information' }
        , { 'abbreviation': 'DCK', 'description': 'Inventory Control Number' }
        , { 'abbreviation': 'DCL', 'description': 'Race Ethnicity' }
        , { 'abbreviation': 'DCM', 'description': 'Standard vehicle classification' }
        , { 'abbreviation': 'DCN', 'description': 'Standard endorsement code' }
        , { 'abbreviation': 'DCO', 'description': 'Standard restriction code' }
        , { 'abbreviation': 'DCP', 'description': 'Jurisdiction specific vehicle classification description' }
        , { 'abbreviation': 'DCQ', 'description': 'Jurisdiction-specific' }
        , { 'abbreviation': 'DCR', 'description': 'Jurisdiction specific restriction code description' }
        , { 'abbreviation': 'DCS', 'description': 'Family Name' }
        , { 'abbreviation': 'DCS', 'description': 'Last Name' }
        , { 'abbreviation': 'DCT', 'description': 'Given Name' }
        , { 'abbreviation': 'DCT', 'description': 'First Name' }
        , { 'abbreviation': 'DCU', 'description': 'Suffix' }
        , { 'abbreviation': 'DDA', 'description': 'Compliance Type' }
        , { 'abbreviation': 'DDB', 'description': 'Card Revision Date' }
        , { 'abbreviation': 'DDC', 'description': 'HazMat Endorsement Expiry Date' }
        , { 'abbreviation': 'DDD', 'description': 'Limited Duration Document Indicator' }
        , { 'abbreviation': 'DDE', 'description': 'Family Name Truncation' }
        , { 'abbreviation': 'DDF', 'description': 'First Names Truncation' }
        , { 'abbreviation': 'DDG', 'description': 'Middle Names Truncation' }
        , { 'abbreviation': 'DDH', 'description': 'Under 18 Until' }
        , { 'abbreviation': 'DDI', 'description': 'Under 19 Until' }
        , { 'abbreviation': 'DDJ', 'description': 'Under 21 Until' }
        , { 'abbreviation': 'DDK', 'description': 'Organ Donor Indicator' }
        , { 'abbreviation': 'DDL', 'description': 'Veteran Indicator' }
        , { 'abbreviation': 'PAA', 'description': 'Permit Classification Code' }
        , { 'abbreviation': 'PAB', 'description': 'Permit Expiration Date' }
        , { 'abbreviation': 'PAC', 'description': 'Permit Identifier' }
        , { 'abbreviation': 'PAD', 'description': 'Permit IssueDate' }
        , { 'abbreviation': 'PAE', 'description': 'Permit Restriction Code' }
        , { 'abbreviation': 'PAF', 'description': 'Permit Endorsement Code' }
        , { 'abbreviation': 'ZVA', 'description': 'Court Restriction Code' }
    ]
未发布 MailBee.NET Objects显示HTML/纯文本邮件教程(三):在Web应用程序中显示
by Harriet666 keys 分享 1502355696673
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了在Web应用程序中显示HTML/纯文本邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
由于Web应用程序在呈现HTML而不是纯文本的Web浏览器中运行,因此应将纯文本数据转换为HTML,以便在浏览器中查看此数据。这也适用于在HTML容器中渲染数据的桌面应用程序。
 
MailBee可以邮件解析期间自动将纯文本内容转换为HTML。为了调整邮件解析过程,MailMessage类提供了Parser属性。
C#
MailMessage msg = pop.DownloadEntireMessage(1);
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml;
VB.NET
Dim msg As MailMessage =  pop.DownloadEntireMessage(1) 
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
 
上面的节点从服务器中下载邮件,并让MailBee自动将邮件的纯文本转换为HTML(如果邮件还没有HTML版本)。因此,你将得到可以在ASP.NET应用程序中显示的HTML邮件,如下所示:
C#
Response.Write(msg.BodyHtmlText);
VB.NET
Response.Write(msg.BodyHtmlText)

如果你还需要在HTML容器中显示邮件标头,你可以使用HeadersAsHtml属性替换邮件的所有标题中的“<”,“>”,“和”和“”字符,其HTML表示形式为:
C#
msg.Parser.HeadersAsHtml = true;
Response.Write("From: " + msg.From.ToString());
VB.NET
msg.Parser.HeadersAsHtml = True
Response.Write("From: " + msg.From.ToString())

未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何将本地图像加载到查看器中
by Harriet666 keys 分享 1513762100521
未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何自定义扫描设置
by Harriet666 keys 分享 1512380145488
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
 
本文为你介绍Dynamic Web TWAIN中如何自定义扫描设置,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>
 
我们上一节介绍了三种使用Dynamic Web TWAIN的方法:属性、方法和事件。Dynamic Web TWAIN的所有内置属性、方法和事件的完整列表可在我们的在线API文档中找到,以供参考。本文将更详细地介绍Dynamic Web TWAIN的功能:在开始扫描之前,您可以设置如何扫描文档,并更改扫描仪内置用户界面中的所有设置。以虚拟扫描器为例:
image017
 
您可能希望以相同的方式扫描您的所有归档文档。使用Dynamic Web TWAIN,您可以在JavaScript代码中自定义所有这些设置。例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DWObject.SelectSource();
/* You should customize the settings after opening a source */
DWObject.OpenSource(); 
/* Hide the User Interface of the scanner */               
DWObject.IfShowUI = false;    
/* Use the document feeder to scan in batches */     
DWObject.IfFeederEnabled = true; 
/* Scan in Simplex mode (only 1 side of the page) */    
DWObject.IfDuplexEnabled = false;   
/* Scan pages in GRAY */ 
DWObject.PixelType = EnumDWT_PixelType.TWPT_GRAY;
/* Scan pages in 200 DPI */
DWObject.Resolution = 200;  
/* Start scanning */           
DWObject.AcquireImage();

本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA