未找到

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件
by Harriet666 keys 分享 1494839413968
MailBee.NET Objects介绍和试用点击查看>>>
 
为了发送带有嵌入对象的电子邮件,开发人员应该使用SMTP object。首先,开发人员应该按照【MailBee.NET Objects发送电子邮件(SMTP)教程一】中所述指定SMTP对象的所有必要属性。
 
如果HTML格式的邮件没有任何嵌入对象,开发人员可以使用SMTP.BodyHtmlText属性或SMTP.Message.LoadBodyText方法来设置邮件正文。
 
SMTP.BodyHtmlText属性允许开发人员直接分配邮件正文,如下所示:
C#:
oMailer.BodyHtmlText = @"
Test HTML message.



        
       


        This is a test HTML mes-sage.
       


       



        www.afterlogic.com";     
VB.NET:
oMailer.BodyHtmlText = "
Test HTML message.


" & vbCrLf & _
        "" & vbCrLf & _
        "

" & vbCrLf & _
        "This is a test HTML mes-sage." & vbCrLf & _
        "

" & vbCrLf & _
        "


" & vbCrLf & _
        "www.afterlogic.com"
 
也可以使用SMTP.Message.LoadBodyText方法。在这种情况下,开发人员可以从指定的URI中加载消息,如下所示:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html);  
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html)
 
或者
C#:
oMailer.Message.LoadBodyText(@"C:\Temp\saved_web_page.htm", MessageBodyType.Html);     
VB.NET:
oMailer.Message.LoadBodyText("C:\Temp\saved_web_page.htm", MessageBodyType.Html)

否则,开发人员应该调用SMTP.Message.LoadBodyText方法来编写一个包含嵌入对象(图像,音频或视频)的消息。以下示例将邮件正文加载为默认编码以及指定URI中的所有相关文件:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm ", 
                MessageBodyType.Html,
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles|
                ImportBodyOptions.ImportRelatedFilesFromUris);       
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm ", _
                MessageBodyType.Html, _
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles Or _
                ImportBodyOptions.ImportRelatedFilesFromUris)
 
请注意:在使用SMTP.Message.LoadBodyText方法时,所有相关文件将被添加到邮件中。
 
代码示例:
该示例从拥有嵌入对象的现有网页中创建新邮件并发送。在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using System.Text;
using MailBee;
using MailBee.SmtpMail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Smtp oMailer = new Smtp();
            oMailer.To.AddFromString("Bill Smith ");
            oMailer.From.AsString = "John Doe (Company Info)";
            oMailer.Subject = "Test web page";
            oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris);
            try
            {
                oMailer.Send();
                Console.WriteLine("The message has been successfully sent.");
            }
            catch (MailBeeSmtpMessageSizeOutOfRangeException e)
            {
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).");
            }
        }
    }
}
VB.NET:
Imports System
Imports System.Text
Imports MailBee
Imports MailBee.SmtpMail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        
        Shared  Sub Main(ByVal args() As String)
            Dim oMailer As Smtp =  New Smtp() 
 
            oMailer.To.AddFromString("Bill Smith ")
 
            oMailer.From.AsString = "John Doe (Company Info)"
 
            oMailer.Subject = "Test web page"
 
            oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris)
 
            Try
                oMailer.Send()
                Console.WriteLine("The message has been successfully sent.")
            Catch e As MailBeeSmtpMessageSizeOutOfRangeException
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 图像工具包VintaSoftImaging.NET SDK发布v8.5,新增独立web服务
by Harriet666 keys 分享 1496214322390
VintaSoftImaging.NET SDK是一个为.NET开发人员开发的,强大而易于使用的图像工具包。它可以让你加载、查看、处理、打印和保存数字图像,可将它们转换为不同的图像格式,可用多种TIFF和动态GIF文件提高您的工作效率。
 
【VintaSoftImaging.NET SDK点击下载>>>】
Version 8.5更新内容

Web图像查看器:

  • 创建了独立的Web服务,用于渲染图像和缩略图。该Web服务允许为任何.NET兼容的Web平台快速创建Web服务,例如ASP.NET WebForms、ASP.NET MVC、ServiceStack。Web服务位于Vintasoft.Imaging.Web.Services.dll程序集中。
  • 在ASP.NET MVC 5中创建用于渲染图像和缩略图的Web服务。该Web服务位于Vintasoft.Imaging.Web.Api2Controllers.dll程序集中。
  • 用于渲染图像和缩略图的HTML5和SVG控件现在与jQuery 2和3完全兼容。
  • 改进了web图像查看器中的放大镜功能。

在Web应用程序中处理图像:

  • 创建了独立的Web服务,用于图像处理。该Web服务允许为任何.NET兼容的Web平台快速创建Web服务,例如对于ASP.NET MVC、ASP.NET WebForms、ServiceStack。 Web服务位于Vintasoft.Imaging.Web.Services.dll程序集中。
  • 在ASP.NET MVC 5中创建用于图像处理的Web服务. Web服务位于Vintasoft.Imaging.Web.Api2Controllers.dll程序集中。
  • 负责图像处理的JavaScript类现在与jQuery 2和3完全兼容。

在Web应用程序中打印图像:

  • 负责图像打印的JavaScript类现在与jQuery 2和3完全兼容。

演示应用:

  • 创建新的Web演示应用程序,演示如何在ASP.NET MVC 5中查看、处理、注释和打印图像。
  • 修复演示应用程序中的一些小问题。

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

VintaSoftTwain ActiveX Control

未发布 矢量图形引擎库VectorDraw Developer Framework 更新至v7.7011.0.4
by Harriet666 keys 分享 1494227369959

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework点击下载>>>

VectorDraw Developer Framework(VDF)v7.7011.0.4更新内容点击查看>>>


未发布 图表制作工具TeeChart Pro VCL/FMX发布v2017.22.170619[附下载]
by Harriet666 keys 分享 1508141755628

TeeChart Pro VCL/FMX 是一款主流的图表制作工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。

【点击下载TeeChart Pro VCL/FMX v2017.22.170619最新版本】
 
支持新的IDE:
  • Embarcadero RAD Studio、Delphi 10.1 Berlin Starter和10.2 Tokyo Starter。
修复:
  • TeeChart Pro与Rad Studio 10.1入门版不完全兼容的问题。
  • 当使用ColorGrid时,单击方法失效,并将“Inverted Axes”属性设置为true。

所有关于授权升级、授权折扣和其他细节的附加信息,请移步我们的价格页面进行查看。

我们将很高兴回答您可能想要知道的所有的问题!请即时与我们的在线客服联系!


【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】

活动时间:10月1日-10月31日

未发布 企业级工具包Essential Studio Enterprise Edition发布2017 v3丨附下载
by Harriet666 keys 分享 1509698271238

Essential Studio企业版,一个跨越八个平台并包含433种独特控件的企业级工具包。使用Essential Studio企业版,开发者可以创建丰富的应用程序,并轻松地集成商业智能分析和报告解决方案。Essential Studio企业版是世界级的软件组件,它使得开发者能在最苛刻的环境下开发出高质量的软件。

Essential Studio企业版2017 v3点击下载>>>
 
Xamarin.Forms

构建跨平台应用程序

新的选择器控件

新的径向菜单控件

PDF查看器中的文本选择和复制功能

查看详情

ASP.NET MVC

构建强大的Web应用程序

StackingSplineArea和100%StackingSplineArea图表

图表支持标尺

甘特图控件支持修改工作周

查看详情

ASP.NET Web Forms

Web开发

新的日期范围选择器

StackingSplineArea和100%StackingSplineArea图表积图类型

图表支持标尺

查看详情

UWP

开发Windows生态系统

新的选择器控件

图表的轴刻度

支持甘特图控件的样式定制

查看详情

JavaScript

充分利用JavaScript

StackingSplineArea和100%StackingSplineArea图表

图表支持标尺

甘特图控件支持修改工作周

查看详情

Windows Forms

构建更好的应用程序

DocIO内容控件

消息框定制

标记PDF

查看详情

WPF

控制桌面

树形网格的主题支持

图表的轴刻度

基于参数布局的Report Viewer参数渲染

查看详情


2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 Essential Studio for JavaScript发布2017 v4版本,添加Essential JS 2工具包
by Harriet666 keys 分享 1516351007437
Essential Studio for JavaScript是首款专门用于LOB应用开发的JavaScript框架。包含40多种独特的、全新设计的控件,包括网格、图表、计量器、编辑器、树形视图、菜单、OLAP网格等等。
 

ESSENTIAL JS 2:企业级JAVASCRIPT UI工具包

Essential JS 2是一个现代的JavaScript UI工具包,具有轻量级、响应式和模块化的特点。它是用TypeScript编写的,完全支持Angular和React框架的完整支持。目前有以下组件可供使用:
  • Grid
  • Chart
  • Drop-Down List
  • Tree View
  • Date Picker
  • Dialog
  • Numeric Text Box
  • Tab
  • Toolbar
  • Circular Gauge
  • Linear Gauge
  • Form Validator
  • Combo Box
  • Autocomplete
  • Multiselect Drop-Down
  • Calendar
  • Date Range Picker
  • Button
  • Radio Button
  • Check Box
  • Text Box
  • Time Picker
  • Masked Text Box
  • List View
  • Tooltip
  • Context Menu
  • Accordion
完整的包可以从npmGitHub中获得。
查看演示
2d0ee79c3c0b40b781b46b85c269d443ojpg
 

支持ANGULAR 5

用于Angular组件的基本JavaScript已经升级到无缝支持Angular 5。
 

组合框

新的控件
组合框组件允许用户输入一个值或从预定义选项列表中选择一个选项。单击此组件的箭头图标时,下拉列表将显示用户可以从中选择的值列表。
 
主要特征
  • 数据绑定:允许绑定和访问本地或服务器端数据源的项目列表。
  • 分组:支持将单个或特定类别下的逻辑相关项目进行分组。
  • 排序:支持按字母顺序(升序或降序)排序列表项。
  • 过滤:允许根据组件中输入的字符过滤列表项目。
  • 模板:允许自定义列表项目、选定的值、页眉、页脚、类别组页眉。
  • 可访问性:内置的可访问性支持有助于通过键盘、屏幕阅读器或其他辅助技术设备访问所有组件的功能。
 

媒体播放器

新的控件
JavaScript的媒体播放器提供了一个简单而强大的视频和音频播放器,内置控制选项。它支持HTML5标准音频和视频格式,如MP4、MP3、WebM和Ogg。
 
主要特征
  • 支持HTML5标准视频。
  • 支持YouTube视频。
  • 内置控制栏,用于桌面和移动设备的所有基本操作,包括播放/暂停、下一首、上一首、音量控制和全屏。
  • 时间轴滑块,便于导航。
  • 标题栏。
c9b384463e464f0b9e59dfe642f91166ojpg
 

CHART

轴标签
支持显示多行轴标签。

 
显示外部数据标签
现在可以在图表区域内显示部分可见的数据标签。
 

数据管理器

防伪
防伪令牌可用于帮助保护应用程序免受跨站请求伪造。它生成一个隐藏的表单字段(防伪造标记),在提交表单时进行验证。
 
额外的数据操作
提供了IN和NotIN过滤器操作用于在WHERE过滤器中指定多个值。
 

DIAGRAM

对齐
支持定制用户手柄的位置。

 
端口增强
现在可以拖动端口来重新定位端口。

 
对称布局
对称布局是用于以圆形和对称方式排列图的自动布局。

 
标签交互
已经为标签提供了交互支持。他们可以被选中、拖动、调整大小和旋转。
 

AUTOCOMPLETE

搜索索引多栏弹出
现在可以区分多列AUTOCOMPLETE控件中的显示格式和搜索字段,允许用户在列表中搜索任意数量的字段,而无需修改所选的文本格式。
 

条码

EAN
条形码控制器现在支持EAN-8和EAN-13条形码。
 

计算

27个新的Excel公式
支持以下Excel公式:
ASINH,ATANH,AVERAGEIF,AVERAGEIFS,BASE,BESSELI,BESSELJ,BESSELK,BESSELY,COUNTIF,MMULT,MOD,NORMSDIST,NORMDIST,ODD,POWER,PV,RADIANS,RAND,ROUND,ROUNDUP,ROUNDDOWN,SECH,SUMPRODUCT,TEXT, VLOOKUP和STDEV。
 

下拉列表

服务器过滤
在搜索框中输入文本时,此功能将过滤数据源。过滤是基于包含来自整个数据源的匹配项。
 
服务器过滤:远程数据
 
服务器过滤:本地数据
 

文件管理器

支持鼠标选择
支持在文件资源管理器控件中使用鼠标管理文件/文件夹。
 

KANBAN

外部拖放
KANBAN控件现在支持与其他控件之间的拖放操作。
 
没有数据源的KANBAN列
KANBAN列可以在不绑定数据源的情况下显示。
 

滑块

添加按钮
添加了一个可以隐藏的按钮,允许增加和减少滑块的值。
 

甘特图

 
资源分配视图
甘特图控件支持资源分配视图。使用该视图,用户可以解释在同一日期发生的任务以及项目中资源的过度分配。
2820158d42a74615b57182485b50c1eaojpg
 
排序
现在可以根据行顺序显示具有序列号的任务。
9735e84a7c5d43b5bb25c29d3b1b1f89ojpg
 
多行选择
现在可以选择多行并执行缩进和负缩进操作。
6a44aceda37444c7b23b6d97d3180658ojpg
 
列过滤
现在可以过滤甘特图控件中的特定字段或列。
 
展开/折叠记录
甘特图控制现在支持扩展和折叠特定的记录。
未发布 .NET图像处理库ImageGear for .NET v23发布,新增AcroForm功能和亚洲OCR丨附下载
by Harriet666 keys 分享 1496731502868
ImageGear for .NET是一款图形图像处理控件,可以轻松地为程序添加扫描/压缩/条形码识别/PDF/文件查看与处理/图形编辑与处理等功能。具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。
 
最新版本的ImageGear.NET v23,为开发人员提供了新的AcroForm功能;将亚洲光学字符识别(OCR)输出添加到PDF,通过将中文、日文和韩文OCR输出结合到PDF中,扩大了适应性和在全球无缝创建PDF的能力;并通过合规性检查加强了PDF/A转换。
 
【ImageGear.NET v23最新版下载>>>】

新增功能


PDF AcroForms——创建、读取和写入PDF表单字段和数据

d353839346c4441381fb5d0d1e386b06ojpg
高级AcroForms SDK提供强大的表单功能
.NET开发中AcroForms SDK *可以将AcroForm字段添加、更新或删除到新的或现有的PDF中。这为你的用户提供从表单域读取和写入数据的方式,而无需离开你的网站或应用程序。如果他们需要更新现有的PDF,SDK会通过注释工具提供帮助。
使用表单增强你的应用程序
需要让你的用户访问数字表单?预先填充表单域允许用户直接从你的网站或应用程序将数据写入表单。将表单字段添加到PDF,包括:
·  复选框
·  文本字段
·  列表框
·  组合框
·  状态设置框
ImageGear还允许低级别访问PDF,以便用户可以直接从你的网站或应用程序访问任何文档或AcroForm。
 

亚洲OCR——包括中文、日文和韩文的语言自动检测和PDF输出
274011dbdffa41fba34c89f02c47a271ojpg

 
ImageGear增加了其先进的光学字符识别功能。ImageGear支持亚洲语言,提供中文、日文和韩文的OCR。
语言支持
亚洲OCR支持横向和纵向文字的亚洲语言。支持的语言有:
·  传统中文
·  简体中文
·  日语
·  韩语
自动语言检测技术
ImageGear使用自动语言检测技术来完成文档的OCR,包括含有亚洲语言的文档。此功能可以帮助你的业务在亚洲市场取得成功。
亚洲OCR输出格式
通过使用所有识别信息(字体细节、定位的图像区域和识别的表格结构信息)来创建格式化的输出,以重述原始文档的含义。亚洲版利用OCR引擎的强大功能,用亚洲语言创建文档图像的强大格式化输出。
亚洲版输出格式:
·  TXT
·  Word
·  Excel
·  HTML
·  PDF 

 

功能增强


OCR——改进OCR布局、分区顺序和文档

21c94ebab7e64b349fc0a74e76e8c3c0ojpg.NET,C,C ++和C#OCR
ImageGear OCR可用于Windows上的多种平台和语言,包括C,C ++,C#和其他.NET语言。ImageGear提供超过100种语言的全页光学字符识别(OCR),包括西方和亚洲语言如中文、日文和韩文。ImageGear的自动语言检测功能使OCR功能完善。
OCR可作为附件购买,为应用程序开发提供完整的文档图像库。我们的C#OCR SDK:
·  包括100多种不同的语言
·  检测并读取中文、韩文和日文
·  识别单个图像中的多种语言的字符
·  OCR样本可用于C#,VB.NET,C和C ++
全页OCR
·  通过我们的自动分区和细分功能,你的用户可以:
·  将页面自动分割为各个区域进行处理
·  根据流程、表格或图形将类型分配给定位的区域
·  用先进技术检测表格,改善数据结果重构
·  处理页面的全幅图像或单个区域
·  由用户定义区域,从文件加载或由引擎自动检测
最大精度的图像预处理
OCR之前会发生什么?看看OCR的预处理步骤:
·  高级图像处理方法可用于提高OCR精度
·  自动反转功能检测图像是否需要反转以获得最高精度
·  自动图像方向检测和调整图像
·  纠错方法检测图像并自动校正,提高分割和识别精度
·  去斑方法去除图像捕获过程中的污点和缺陷
·  分辨率增强提高了低分辨率图像的质量
预定义和可定制的字典
ImageGear的OCR在扫描文档时使用预定义的字典和数据字典。ImageGear使用17种不同语言的高级拼写检查,每种语言都在特定字典中。17个词典中的每一个都包含100,000到200,000个条目。垂直字典可以改善医疗和法律行业的拼写检查和OCR准确性。
卓越的结果处理
ImageGear OCR引擎以Unicode格式处理所有数据。可以为具有多个输出选项的特定代码页格式化数据输出,如:
·  PDF上的图像
·  基于文本的PDF
·  Microsoft Office 2007
·  Microsoft Office 97(Word,Excel和Powerpoint)
·  RTF
·  HTML
·  XML
OCR版本:ImageGear的功能选项
ImageGear有三个不同的功能选项。三个选项之间的主要区别是OCR引擎创建的输出格式。你的开发选项如下:
1、标准版
标准版为西方语言(如英语)创建输出格式。标准版仅输出文本文件并生成PDF。它包括的文件格式是可搜索的文本PDF和文本文档。
2、标准版Plus
标准版本Plus为西方语言(如英语)创建格式化输出。使用识别技术创建格式化的输出,以识别字体细节、定位图像区域并识别表格结构以创建原始文档。它包括的文件格式有Word、Excel、HTML、可搜索的PDF和文本文档。
3、亚洲版
亚洲版为亚洲语言(如中文,日语和韩语)创建格式化的输出。这种格式化的输出是使用与标识字体相同的识别技术来创建的,它标识字体细节、定位图像区域,并识别表格结构。格式包括Word、Excel、HTML、可搜索的PDF和文本文档。
*目前该功能仅适用于ImageGear for .NET。
 

PDF/A——丰富的PDF/A,并具有PDF/A转换的合规性检查

55374f37758442cbb78dd8962f7c570dojpg将PDF文件转换成PDF/A文件
PDF/A是一种ISO标准类型的PDF文件,用于存档和长期保存文件,以便它们能够与原始文件完全一致。元素(如字体)必须是独立的或嵌入的,以保留原始文件的格式和属性。PDF/A已经在欧洲流行,在美国正成为更广泛使用的文件格式。
ImageGear PDF/A特点:
·  根据光栅图像文件和扫描的图像创建PDF/A文件
·  验证PDF/X(PDF/X-1a,PDF/X-3和PDF/X-4)和PDF/A(PDF/A-1a和PDF/A-1b)合规性的PDF文件
·  将不合格的PDF文件转换为符合PDF/A-1b的PDF文件
·  新的增强功能可以改善从PDF到PDF / A的合规检查和转换过程
*目前PDF到PDF/A转换仅在ImageGear .NET中可用。
 
 

未发布 15个适合初学者学习C#编程语言的免费在线资源丨附地址
by Harriet666 keys 分享 1488523005149

C#是一种通用编程语言,广泛应用于开发企业应用程序。C#是由Microsoft开发的,是.NET框架的主要语言。C#主要用于创建控制台应用程序、图形用户界面(GUI)应用程序和Web应用程序等。这些应用程序在个人计算机、Windows移动设备和嵌入式系统上运行。C#提供了一系列功能,例如自动管理内存和垃圾回收。它支持数据封装和继承和多态性,并且包括对COM技术(组件对象模型)和基于Windows的应用程序的本地支持。 

如果你准备学习C#编程语言,那么有大量的在线资源非常适合初学者学习。这里列出了15个在线资源可以让你逐步学习C#编程。

点击查看详情>>>

未发布 数据库解决方案Data Abstract 9发布丨附下载
by Harriet666 keys 分享 1488791846601

Data Abstract 9最新版试用点击下载>>>

Data Abstract 9是一次重要的版本更新,而更重要的是它的基础:Remoting SDK框架。查看详细的更新日志,以获得所有功能、增强和错误修正的完整列表。

未发布 条码控件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' }
    ]

 近期热门 - 点击最多
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Node.js 打印vite react+go项目目录树
  5. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  6. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  7. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

  全端社区 - 最新回复
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  4. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  5. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  6. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  7. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  8. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  9. Node.js 打印vite react+go项目目录树
  10. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库

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

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

OnceOA