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();
}
}
}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' }
]2017慧都十四周年狂欢搞事情,全场产品折扣风暴来袭!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!
2003年11月,慧都破茧而出;
2017年11月,慧都已崛世而立。
14岁了,搞件大事情——创造折扣奇迹!
这个狂欢月,就要躁!起!来!
七大玩法,花样玩赚周年趴!
狂欢时间:2017.11.1-2017.11.30
![]() 下单即送砸金蛋机会 100%抽微信现金红包 188元、88元、18元等你领取!
| |
全场满额豪送iPhone X! --------------------- 购买慧都任意产品 满额即送8级好礼 iPhone X、iPhone8速速领走! | DevExpress庆周年 --------------------- DevExpress汉化资源免费送 DEV团队培训套包 最高立省10万元
|
慧都学院培训“拼拼团” --------------------- 不要998!不要888! 只要1分钱! 立抢DevExpress/Kendo UI研修班团购优惠名额! |
全场热销产品7折起 --------------------- Kendo UI、Aspose、BCGSoft、Dynamsoft等产品 超低折扣等你来! 葡萄城GrapeCity更享专属折扣 |
在线商城 聚惠再续 --------------------- MyEclipse个人授权低至6.9折! 在线订购商城全场优惠促销 下单还送砸金蛋机会 | 周年送祝福 好礼齐掉落 --------------------- 您送祝福,我送好礼 提交周年祝福、评价等 随机获取定制台历、保温杯或雨伞! |
关注的产品没在促销活动中?不用担心,点击咨询在线客服有意想不到的惊喜哦!
C#
// We assume "C:\Inetpub\wwwroot" is a physical path to the location
// visible from Internet as "http://www.domain.com" (virtual path).
msg.Parser.WorkingFolder = @"C:\Inetpub\wwwroot";
Response.Write(oMsg.GetHtmlAndSaveRelatedFiles("http://www.domain.com", VirtualMappingType.Static,
MessageFolderBehavior.DoNotCreate));
VB.NET
' We assume "C:\Inetpub\wwwroot" is a physical path to the location
' visible from Internet as "http://www.domain.com" (virtual path).
msg.Parser.WorkingFolder = "C:\Inetpub\wwwroot"
Response.Write(oMsg.GetHtmlAndSaveRelatedFiles("http://www.domain.com", VirtualMappingType.Static,
MessageFolderBehavior.DoNotCreate))using System.Windows.Forms; using Leadtools; using Leadtools.Codecs; using Leadtools.WinForms; using Leadtools.Annotations;
RasterImageViewer viewer = new RasterImageViewer();
RasterImage img;
AnnAutomationManager annger;
AnnAutomation automation;private void initControl() {
Support.SetLicense();
viewer.Dock = DockStyle.Fill;
panel1.Controls.Add(viewer);
viewer.HorizontalAlignMode = RasterPaintAlignMode.Center;
viewer.VerticalAlignMode = RasterPaintAlignMode.Center;
loadImage("qwe.jpg");
if (viewer.Image != null)
{
// create and setup the automation manager
annger = new AnnAutomationManager();
// Instruct the manager to create the default (all) automation objects.
annger.CreateDefaultObjects();
// create the toolbar and add it to the form
annger.CreateToolBar();
Controls.Add(annger.ToolBar);
// setup the automation (will create the container as well)
automation = new AnnAutomation(annger, viewer);
// add an event handler for changes to the current designer
automation.CurrentDesignerChanged += new EventHandler(automation_CurrentDesignerChanged);
// setup this automation as the active one
automation.Active = true;
}
toolStripComboBox1.SelectedIndex = 0;
}
private void loadImage(string filename)
{
img = new RasterCodecs().Load(filename);
viewer.Image = img;
}
private void automation_CurrentDesignerChanged(object sender, EventArgs e)
{
AnnAutomation automation = sender as AnnAutomation;
AnnButtonRunDesigner buttonRunDesigner = automation.CurrentDesigner as AnnButtonRunDesigner;
if (buttonRunDesigner != null)
buttonRunDesigner.Run += new EventHandler(buttonRunDesigner_Run);
}private void buttonRunDesigner_Run(object sender, AnnRunDesignerEventArgs e)
{
if (e.OperationStatus == AnnDesignerOperationStatus.End)
{
AnnButtonObject btn = e.Object as AnnButtonObject;
MessageBox.Show(string.Format("Button with text = {0} was clicked!", btn.Text));
}
}
private void loadImage(string filename)
{
img = new RasterCodecs().Load(filename);
viewer.Image = img;
}
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
annger.UserMode = (toolStripComboBox1.SelectedIndex == 0) ? AnnUserMode.Design : AnnUserMode.Run;
}
流行的数据库管理系统(DBMS)Oracle MySQL 中发现了被称为“The Riddle”的编码漏洞,该漏洞允许攻击者利用MiTM(man-in-the-middle,中间人)来窃取用户的用户名和密码等登录凭证。用户请立即更新到5.7版本。
MiTM 攻击(Man-in-the-MiddleAttack)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。例如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。
Riddle漏洞是Oracle MySQL 5.5和5.6客户端数据库中发现的关键安全漏洞。该漏洞允许攻击者使用‘中间人攻击’来破坏MySQL客户端和服务器之间的SSL配置连接。这个漏洞是一个非常关键的安全漏洞,因为它影响到MySQL(一个非常流行的SQL数据库,SSL连接由其定义安全。)
该漏洞编号为“CVE-2017-3305”,可以潜在地将用户登录凭证暴露给攻击者,当MySQL客户端5.5和5.6将这些用户凭证信息发送到服务器时,攻击者就能够顺利捕获它们。
针对5.5.49和5.6.30版本发布的安全更新无法完全解决这一安全漏洞。5.7及更高版本以及MariaDB系统不受该安全问题的影响。

根据安全研究人员 Pali Rohár 所言,他们曾经尝试利用影响MySQL数据库的BACKRONYM漏洞的修补方式来修复Riddle漏洞,但是结果失败了。Backronym漏洞也同Riddle漏洞一样,允许攻击者运行中间人攻击来窃取用户登录凭证,即使流量已经被加密也无法阻止。
MySQL 5.5.49以及5.6.30 稳定版的安全更新包括在验证过程完成后添加安全参数的验证。因为验证完成后,攻击者可以使用中间人攻击与 SSL 降级攻击来窃取用户的登录数据,以便立即进行身份验证并登录 MySQL 服务器,可笑的部分是,MySQL 客户端不会在MySQL服务器拒绝验证用户时报告任何与 SSL 问题相关的错误,而是报告服务器发送的未加密的错误信息。此外,当中间人攻击处于活跃状态时,错误信息可以由攻击者控制。
安全专家建议用户尽快将客户端软件更新到MySQL 5.7 或 MariaDB,因为这些应用程序的安全更新正在正常运行,未受该安全漏洞影响。需要注意的是,这个漏洞虽然早在今年2月份就已经发现了,但是目前仍然在影响Oracle MySql软件。
如果你不是Oracle 用户,那么你对他们报告安全漏洞是无用的(即使确实是与安全相关的漏洞)。他们可以完全无视这些安全报告,甚至希望任何人都不要知道这些报告和漏洞的存在,所以至此他们都没有对漏洞进行修复。所以,立即向用户公开披露这些安全漏洞看来是最有效的解决方案,因为这样可以让用户知道一旦受影响应该做什么,有效的保护用户数据安全。
试用、下载、了解更多产品信息请点击"咨询在线客服"













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()1 2 3 | /* Property *//* Scan pages in 200 DPI */DWObject.Resolution = 200; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // Method ///<summary> /// Rotates the image of a specified index in buffer by a specified angle. /// </summary>///<param name="sImageIndex" type="short" data-filtered="filtered">specifies the index of image in buffer. The index is 0-based.///<param name="fAngle" type="float" data-filtered="filtered">specifies the angle.///<param name="bKeepSize" type="bool" data-filtered="filtered">specifies whether to keep the original size///<returns type="bool" data-filtered="filtered"></returns>DWObject.Rotate(0, 45, false); // rotate the 1st image in the buffer by 45 degrees |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script type="text/javascript" data-filtered="filtered">Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);var DWObject;/* OnWebTwainReady event fires as soon as Dynamic Web TWAIN is initialized and ready to be used. It is the best place to add event listeners */function Dynamsoft_OnReady() { DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); DWObject.RegisterEvent("OnPostTransfer", Dynamsoft_OnPostTransfer);}function Dynamsoft_OnPostTransfer() { /* This event OnPostTransfer will be triggered after a transfer ends. */ /* your code goes here*/}</script> |
1 2 3 4 5 6 7 8 9 10 | <script type="text/javascript" data-filtered="filtered">Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);var DWObject;function Dynamsoft_OnReady() { DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); DWObject.RegisterEvent("OnPostTransfer", function() { /* your code goes here*/ });}</script> |
1 2 | /* sImageIndex is the index of the image you clicked on*/OnMouseClick(short sImageIndex) |
1 2 3 | function DynamicWebTwain_OnMouseClick(index) { CurrentImage.value = index + 1;} |
1 2 3 | DWObject.RegisterEvent("OnPostTransfer", function(index) { CurrentImage.value = index + 1;}); |
1 2 3 4 5 6 7 | <script type="text/javascript" data-filtered="filtered">Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);var DWObject;function Dynamsoft_OnReady() { DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');}</script> |
1 2 3 4 5 | <script type="text/javascript" data-filtered="filtered"> Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', function() { DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); });</script> |
本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!
