未找到

未发布 VMProtect用户手册:专用术语
by Harriet666 keys 分享 1521622426288
VMProtect是一款虚拟机保护软件,是目前最为流行的保护壳之一。VMProtect将保护后的代码放到虚拟机中运行,这将使分析反编译后的代码和破解变得极为困难。除了代码保护,VMProtect还可以生成和验证序列号,设置过期时间,限制免费更新等等。

VMProtect最新试用版下载>>>


 
如果您不知道相应主题的专用术语,则无法有效使用该工具。本篇教程解释了VMProtect中使用的术语。一些术语可能会提供与传统术语不同的含义。
 
字节码 - 将实际处理器的命令转码为虚拟机命令后收到的代码。
 
虚拟化 - 一种将应用程序的部分可执行代码转换为具有命令系统,体系结构和操作逻辑的虚拟机命令的过程,这些命令对潜在的黑客来说是未知的。代码的虚拟化片段由虚拟机的解释器执行,而不将其转换为物理处理器的机器语言代码。通常,虚拟化片段的反向工程归结为建立一个具有与虚拟机模拟的处理器相同架构的反汇编程序,并分析由此产生的反汇编代码。
 
虚拟机 - 在受保护的应用程序中直接执行字节码的程序代码。
 
水印 - 每个字节的用户数组都有一个唯一的标识,可以明确标识该程序被黑客复制的合法所有者。
 
突变 - 用一个模拟或一组命令代替一个原始命令产生相同的结果。
 
混淆技术 - 一组旨在使程序代码分析复杂化的方法和技术。根据编程语言写入受保护程序,使用不同的混淆类型。写在解释语言(的Perl,PHP等)的应用程序混淆通过修改源代码所做的:评论被删除,变量给出了毫无意义的名称,字符串常量被加密等等。通过转换由虚拟机处理的字节码来执行Java / .NET应用程序的混淆。编译程序的混淆依赖于修改机器语言代码:混淆器添加各种“垃圾”命令,“死代码”,随机跳转。另外,原始命令会发生变化,部分操作会移至堆栈,并进行了一些结构(或不太常数学的)转换。对混淆的代码片段进行反向工程会尝试将片段恢复到其原始状态,只要正确完成混淆处理,这是一项耗时的任务。
 
保护器 - 旨在保护其他程序免遭黑客攻击的软件。现在的大多数保护器都不会修改应用程序的源代码,而是打包或加密应用程序。主要重点放在保护解包/解密程序或程序上。
 
入口点 - 加载到内存中的应用程序的初始地址执行从开始。
 
压缩 - 通过使用非典型算法压缩程序和/或库的可执行文件来保护程序代码的一种方法。受保护的代码片段由封装器压缩,并在应用程序执行时在用户端完全或部分解压缩。
 
加密 - 通过强大的加密算法来保护应用程序代码的一部分。受加密保护的软件要求最终用户输入激活码,以消除开发者为未注册版本的程序设置的限制。

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

未发布 专业图像转换工具PDF FLY发布v10.0,支持最新的操作系统
by Harriet666 keys 分享 1491898404343

PDF FLY™是一款专业图像转换工具,用于将PostScript®, EPS 和 PDF文件转化为矢量和光栅图像文件格式。通过它,您可以将图像、图标、窗体和报表等无图像损失得移动到您的视图、编制和发布的系统中。您可以转换多个文件及进行文件夹级别的文件转换,其操作就像进行单个文件转换一样简单。

【最新PDF FLY v10.0点击下载>>>】

PDF FLY v10.0的新功能
支持最新的操作系统,包括Windows 8.1、Windows 10、Mac OS X Mavericks、Yosemite和El Capitan。

格式

  • 新的输入格式 - 现在可以转换EPS(.eps)和Adobe Illustrator(.ai)以及PDF
  • 图像格式、颜色深度、CMYK和多页TIFF的新输出选项
  • 图像格式旋转选项
  • 支持AutoCAD 2000及更高版本的所有DXF和DWG输出格式

文本选项

  • 微调转换字符为文本字符串的新选项
  • 默认字体映射选项
  • 新的扩展文本选项

对象识别

  • 从多边形/路径中识别圆/椭圆的新选项
  • 识别线段中的水平/垂直线的新选项

分层

  • 基于专色名称的层分离(例如RGB_0_0_0)
  • 基于颜色和线宽的组合分隔层

属性

  • 创建自定义线条样式的新选项
  • 颜色支持线和填充属性(AutoCAD 2004及更高版本)
  • Width Polyline DXF Entry

综合

  • 提高精度和标度线宽度
  • 指定基准线宽度的选项
  • 改进错误和警告处理
  • 增强PDF解释器
  • 在PDF中转换隐藏文本的选项
未发布 SSLRobot:适用于HttpWatch的免费SSL / TLS测试工具
by Harriet666 keys 分享 1491983448478
HttpWatch显示了用于HTTPS请求的SSL连接的摘要:
HttpWatch
虽然此信息非常有用,但有客户已经在询问有关证书、协议版本以及服务器配置等其他方面的更多详细信息。一些在线的SSL工具可以做到这一点,但测试通常很慢,不能用于调查本地网络或测试环境中的服务器。
为了解决这些问题,HttpWatch开发了SSLRobot - 一种基于桌面(Mac和PC)的SSL扫描工具,可快速检查安全服务器:
HttpWatch
该工具可以突出显示可能会危及安全Web服务器安全性的配置问题:
HttpWatch
此工具已经集成到HttpWatch(1.0.56+版本)中,你可以从SSL选项卡或URL上下文菜单开始检查:
HttpWatch
如果你拥有当前版本的HttpWatch Professional许可证,你可以访问此页面申请SSLRobot的免费许可证密钥。

 
HttpWatch简介
HttpWatch是一款集成的HTTP嗅探器,为IE和Firefox提供新的方法以查看你网站的负载和运行情况。你直接在浏览器中调试由web页面生成的网络流量,而无需切换到一个单独的工具。
未发布 Edraw Office Viewer component教程(二):将Excel嵌入VB 6并使之自动化
by Harriet666 keys 分享 1494475186338
Edraw office viewer component对于开发人员来说是一个将Microsoft Excel电子表格嵌入到vb.net应用程序中的简单可靠的解决方案。
 
使用Edraw office viewer component,vb开发人员可以轻松地将一个现有的Excel电子表格嵌入到表单中,然后进行自动化。在加载表单时,开发人员可以使用Open方法从硬盘驱动器或服务器中加载* .xls、* .xlsx、* .xslm或* .cvs文件,并在窗口的某个区域中打开。Excel文件可以是只读、完全编辑或禁止保存等状态。开发人员还可以使用excel组件轻松实现excel自动化。
 
本文将演示如何逐步将Excel嵌入到VB中。如果你没有officeviewer.ocx文件,请先安装。

Office viewer component - 支持Word、Excel、PowerPoint、Visio和Project的vb6、vb.net项目

在VB 6中嵌入Excel组件

启动Visual Basic并创建一个新的标准项目。默认情况下创建Form1。
在“工具箱”面板中,右键单击空白区域。然后单击Component...
 
在弹出的对话框中,查看Edraw Office Viewer Component。
 
单击确定按钮。
Office Viewer Component便已添加到“工具栏”窗口中。

切换到VB 6窗口,然后添加组件。

该组件包括许多自定义Excel窗口的方法、事件和属性。
开发人员可以使用以下代码在Form_Load事件中打开一个excel文件。
Private Sub Form_Load()
EDOffice1.OpenFileDialog'EDOffice1.OpenWord 
“d:\ test.xlsx” 
'EDOffice1.Open“d:\ test.xls”,“Excel.Application” 
End Sub

为了保护Excel工作表不被最终用户修改,开发人员需要在DocumentOpened事件中添加以下代码。
Private Sub EDOffice_DocumentOpened()
EDOffice1.ProtectDoc 1'XlProtectTypeNormal 
End Sub
 
一些包含excel自动化的方法可用于创建或修改Excel数据。
bool ExcelAddWorkSheet(long Index); 
bool ExcelDeleteWorkSheet(long Index); 
bool ExcelActivateWorkSheet(long Index); 
长ExcelGetWorkSheetCount(); 
bool ExcelSetCellValue(long Column,long Row,BSTR Value); 
BSTR ExcelGetCellValue(长列,长行); 
bool ExcelSetRowHeight(long Row,double Height); 
bool ExcelSetColumnWidth(long Column,double Width); 
afx_msg bool ExcelDeleteRow(long Row); 
bool ExcelDeleteColumn(long Column); 
bool ExcelInsertRow(long Row); 
bool ExcelInsertColumn(long Column); 
bool ExcelInsertPageBreakInRow(long Row); 
bool ExcelInsertPageBreakInColumn(long Column); 
bool ExcelCopyToClipboard(); 
bool ExcelPasteStringToWorksheet(BSTR bstText);

 

使用Visual Basic自动化操作Excel

单击项目,然后单击引用。将显示“引用”对话框。向下滚动列表,找到Microsoft Excel object库(Microsoft Excel xx.x Object库),然后选择引用Excel。如果列表中没有正确的Excel Object库,请确认你是否安装了合适的Excel版本。
单击“确定”关闭“引用”对话框。
将CommandButton添加到Form1。
在Form1的代码窗口中,插入以下代码:
Private Sub Command1_Click()
 
Dim oXL As Excel.Application
Set oXL = EDOffice1.GetApplication()
Dim oWB As Excel.Workbook
Set oWB = EDOffice1.ActiveDocument()
Dim oSheet As Excel.Worksheet
Dim oRng As Excel.Range
Set oSheet = oWB.ActiveSheet
oSheet.Cells(1, 1).Value = "First Name"
oSheet.Cells(1, 2).Value = "Last Name"
oSheet.Cells(1, 3).Value = "Full Name"
oSheet.Cells(1, 4).Value = "Salary"
' Format A1:D1 as bold, vertical alignment = center.
With oSheet.Range("A1", "D1")
.Font.Bold = True
.VerticalAlignment = xlVAlignCenter
End With
' Create an array to set multiple values at once.
Dim saNames(5, 2) As String
saNames(0, 0) = "John"
saNames(0, 1) = "Smith"
saNames(1, 0) = "Tom"
saNames(1, 1) = "Brown"
saNames(2, 0) = "Sue"
saNames(2, 1) = "Thomas"
saNames(3, 0) = "Jane"
saNames(3, 1) = "Jones"
saNames(4, 0) = "Adam"
saNames(4, 1) = "Johnson"
' Fill A2:B6 with an array of values (First and Last Names).
oSheet.Range("A2", "B6").Value = saNames
' Fill C2:C6 with a relative formula (=A2 & " " & B2).
Set oRng = oSheet.Range("C2", "C6")
oRng.Formula = "=A2 & "" "" & B2"
' Fill D2:D6 with a formula(=RAND()*100000) and apply format.
Set oRng = oSheet.Range("D2", "D6")
oRng.Formula = "=RAND()*100000"
oRng.NumberFormat = "$0.00"
' AutoFit columns A:D.
Set oRng = oSheet.Range("A1", "D1")
oRng.EntireColumn.AutoFit
oXL.UserControl = True
End Sub
 
按F5运行项目。Excel将自动填充excel单元格。
自动化Excel时要注意的一点是Excel Macro Recorder。它仍然在Word 2007中,但隐藏在开发者功能区栏。
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 Visual Studio2017 15.4提供预览版,面向Windows 10秋季更新(FCU)
by Harriet666 keys 分享 1504518418665
鉴于Visual Studio 15.3现已发布(一并给出了些许更新),Microsoft已将注意力转向近期宣布的VS2017 15.4版本。15.4目前处于预览状态,该版本所关注的是添加对即将发布的Windows 10 FCU(Fall Creators Update)的支持,FCU已确定将在2017年秋季发布。尽管15.4预览版本现已对所有感兴趣的用户可下载,但是要使用FCU的特定特性,还需要成为Windows测试人员(Insider),并下载相应的Windows 10 SDK。

当前VS2017的稳定版本是15.3.x,其中包括对.NET Core 2的支持,但是UWP应用依然要支持.NET Standard 2。在15.4版中对此加以了改进,允许针对FCU和.NET Standard 2的UWP应用开发,这将提升代码重用,并简化开发人员编写支持跨多平台(Mono、Xamarin、.NET Framework、.NET Core等)的软件库。

鉴于15.4当前只是预览版,应该注意的是该构建版本存在一个严重的已知问题(Know Issue),即对UWP应用禁用了XAML Designer,这是Windows 10 FCU至少应该解决的一个问题。正如前面所介绍的,非XAML的UWP应用可以遵循.NET Standard 2.0,但是要完全支持使用了XAML的UWP应用还需假以时日。

那些有考虑编写面向Windows用户应用的开发人员,将会受益于新添加的“Windows Application Packaging Project”模板。该模板提供了添加已有Windows项目和软件包到appx容器中的功能,这样就可以提交到Windows Store等发布途径中。被打包的应用不必是UWP应用。该模板并不需要目标平台运行Windows 10,为开发人员提供了一种更易于发布他们应用的方式,不再依赖于传统的Win32风格安装程序。


非Windows 10的特定添加特性

该版本中改进了Xamarin Tools for Visual Studio,其中包括对Xamarin Live Player的支持,使得开发人员可以使用VS2017和移动设备快速地构建应用原型。一旦Player安装在Apple或Android设备上,它将从运行VS2017的工作站屏幕上读取QR代码,提供了一种无需先期部署到App Store就可在移动设备上实际开发和测试代码的快速方法。

先前独立提供的Power Tool工具“Control Click Go To Definition”,现在已经集成到VS2017中。该特性目前支持C#、VB和Python。在使用时,只需将鼠标悬停在IDE中的任意一行代码上,并同时按住CTRL键,就可以轻易地查看到相关定义。

15.4版本和预览版一样,并未得到可用于“上线”系统的许可,也不能应用于生产环境。VS2017预览版的安装可以与VS2017生产系统并存,但是这样做依然存在着风险,也许在关键业务环境中不应该这样做。该预览版的完整发行说明已经给出,如果用户不确定是否应在本地机器上安装该预览版时,可寻求咨询。
未发布 ActiveX组件CADViewX v12发布,支持最新的AutoCAD®DWG 2018版本
by Harriet666 keys 分享 1497342612988
CADViewX一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具,无需任何CAD软件或查看器即可打开、浏览、打印AutoCAD等几十种格式的图像文件,还能享受直观的鼠标滚轮缩放、拖拽、平铺印画功能。
 
【CADViewX 12最新版下载>>>】
 
CADViewX v12更新内容

CADViewX v12是用于导入和导出CAD文件的新版本的ActiveX组件。
现在,CADViewX Lite支持最新的DWG版本 - AutoCAD®DWG 2018。借助CADViewX Lite开发的应用程序将能够查看最新的图纸。
c971427152d14ce4b2f480de2dc696d5ojpg
要测试CADViewX Lite并将DWG 2018查看功能添加到应用程序中,请下载试用>>>
 
 

试用、下载、了解更多产品信息请点击"咨询在线客服"   
7
未发布 Edraw Office Viewer component教程(一):将Microsoft Word嵌入VB.NET并使之自动化
by Harriet666 keys 分享 1494316589819
Edraw office viewer component对于开发人员来说是一个将Microsoft Word文档嵌入到vb.net应用程序中的简单可靠的解决方案。
 
在VB.Net应用程序中嵌入word文档的最佳方法是什么?相信大多数人都记得OLE技术,它可以将Excel图表嵌入到Word文档中。使用Office XP Primary Interpol Assemblies或嵌入WebBrowser控件并导航到相应的Office文档等。但是所有这些技术都不支持完整的Microsoft Word功能。也有很多已知的错误。
 
本文将逐步介绍如何使用Edraw office viewer component在VB.NET应用程序中嵌入MS Word文件。如果你没有officeviewer.ocx文件,请先安装。
点击下载Edraw office viewer component>>>

打开Visual Studio并创建一个新的VB.NET应用程序。
右键单击HostOffice解决方案。然后单击“Add Reference...”的选项。
 
在弹出的对话框中,从浏览选项卡中选择officeviewer.ocx文件。
 
或从COM选项卡中选择Edraw Office  Viewer Component。
单击确定。Edraw Office  Viewer Component引用此时已添加到新的vb.net项目中。
 
切换到Form1的Form设计窗口。
 
将Edraw Office Viewer Component从“工具箱”面板拖到form1中。

添加以下VB.NET代码来新建、打开、保存、关闭并打印一个word文档,如下所示:
Public Class Form1
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
If Dialog1.ShowDialog() Then
If Dialog1.GetChooseType() = 1 Then
AxEDOffice1.CreateNew("Word.Application")
ElseIf Dialog1.GetChooseType() = 2 Then
AxEDOffice1.CreateNew("Excel.Application")
ElseIf Dialog1.GetChooseType() = 3 Then
AxEDOffice1.CreateNew("PowerPoint.Application")
ElseIf Dialog1.GetChooseType() = 4 Then
AxEDOffice1.CreateNew("Visio.Application")
ElseIf Dialog1.GetChooseType() = 5 Then
AxEDOffice1.CreateNew("MSProject.Application")
End If
End If
End Sub
Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
AxEDOffice1.OpenFileDialog()
End Sub
Private Sub btnSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveAs.Click
AxEDOffice1.SaveFileDialog()
End Sub
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
AxEDOffice1.CloseDoc()
End Sub
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
AxEDOffice1.PrintDialog()
End Sub
Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click
AxEDOffice1.PrintPreview()
End Sub
Private Sub btnToolbars_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToolbars.Click
If AxEDOffice1.Toolbars = True Then
AxEDOffice1.Toolbars = False
Else
AxEDOffice1.Toolbars = True
End If
End Sub
Private Sub btnAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click
AxEDOffice1.AboutBox()
End Sub
End Class
 
打开配置管理器。将Active解决方案平台更改为x86选项。
 
然后创建VB.NET项目并开始运行。

The office viewer component支持MS Word 97、Word 2000、Word 2003、Word 2007、Word 2010。它可以在Windows 2000/Xp/Vista/2008/7的32位或64位操作系统上运行。将MS Excel或PowerPoint、Visio、Project嵌入到VB.NET应用程序中,只需要改变Open方法的第二个参数。如下所示:
public void Open()

axEDOffice1.Open(sPath,“Excel.Application”); 
axEDOffice1.Open(sPath,“PowerPoint.Application”); 
axEDOffice1.Open(sPath,“Visio.Application”); 
axEDOffice1.Open(sPath,“MSProject.Application”); 
}
 
有了word组件,在Visual Basic应用程序中使用COM实现Word自动化就会变得十分简单。从解决方案资源管理器引用中为Word Object Library 11.0添加引用。在这里我所用Word 2003,所以对象库的版本是11.0。
下面的示例代码显示了如何构建一个最小的文档,插入一个书签,并且在随后用文本更换空书签。
Imports Microsoft.Office.Interop.Word
Private Sub Automating_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handle Automating.Click 
Dim word = AxEDOffice1.GetApplication()
word.Visible = True 
Dim doc As Document = AxEDOffice1.ActiveDocument()
Dim range As Range = doc.Range 
range.InsertAfter(“Range1”+ vbCrLf)
range.Collapse(WdCollapseDirection.wdCollapseEnd)
doc.Bookmarks.Add(“MijnBookmark”,range)
range.InsertAfter(“Range2”+ vbCrLf)
Dim bookmark As Bookmark = doc。书签(1)
range = bookmark.Range 
range.Text =“Bookmark”+ vbCrLf 
range.Font.Color = WdColor.wdColorBlue 
End Sub
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 TWAIN扫描识别工具Dynamic Web TWAIN发布v13.4,改进安装过程丨附下载
by Harriet666 keys 分享 1520925039127
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
 
 
Dynamic Web TWAIN v13.4更新内容
改进:
  • [HTML5]优化安装过程,无法将Dynamic Web TWAIN模块下载为ZIP的用户现在可以将其下载为MSI文件进行安装。
修复:
  • [HTML5]修复了将Dynamic Web TWAIN与其他库或框架(如流行的BootStrap)一起使用时在页面上看到进度条的错误。

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

315

未发布 【教程】Edraw Max(亿图图示):怎么插入图片到思维导图中?
by Harriet666 keys 分享 1502356521857
Edraw Max(亿图图示)作为一款功能非常强大的可视化绘图软件,不仅操作简单,还具有直观、友好的绘图界面。尤其是在使用Edraw Max(亿图图示)绘制思维导图时,可以通过形象生动的画面再附上文字解释说明,能让思维导图更加的充实、易懂。
 
那么问题来了,在Edraw Max(亿图图示)思维导图中该如何导入外部图片呢?本文为大家演示详细操作步骤,一起来学习吧!目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
Edraw Max(亿图图示)v8.7最新版下载地址>>>
 
第一步:新建“思维导图”,选择所需的模板或例子;
 
第二步:选中需要添加图片的图形,并点击“思维导图”栏上的“插入图片”,这样插入的图片就会和形状紧贴在一起;
 
第三步:选择图片,点击“打开”即可;
 
第四步:点击图片,被选中的图片四周会出现几个蓝色的小方框,只需轻轻拖动那几个小方框,就可以调整图片的大小了,如果需要等比缩放,拖住对角的四个小方框即可。

未发布 条码控件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. 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补全pip临时配置环境变量;即零权限使用node.js/npm
  2. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  5. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  6. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  7. Node.js 打印vite react+go项目目录树
  8. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  9. Windows与Mac通过git ssh和rsync实现文件共享互传
  10. Windows与Mac通过git ssh和scp实现文件共享互传

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

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

OnceOA