未找到

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程一:使用SMTP服务器发送消息
by Harriet666 keys 分享 1493280142680
MailBee.NET Objects介绍和试用点击查看>>>
 
Smtp对象提供了多种方法和属性来调整优化发送消息的过程。可以创建一个新的Smtp对象实例,如下所示:
C#:

Smtp mailer = new Smtp();

VB.NET:

Dim mailer As New Smtp()
 
如果SMTP服务器不需要任何身份验证,那么指定的主机名或它的IP地址就足以连接到此SMTP服务器。
C#:

mailer.SmtpServers.Add("mail.domain.com");

VB.NET:

mailer.SmtpServers.Add("mail.domain.com")
 
然而,大多数服务器现在要求用户对自己进行身份验证(例如,如果要通过此服务器将电子邮件发送给外部收件人,则必须拥有有效的帐户)。要指定你的帐户凭据,请使用以下代码:
C#:
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");

VB.NET:

mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")
 
根据服务器设置,你可能需要输入整个电子邮件地址,而不仅仅是一个帐户名称(例如,在某些情况下为jdoe@domain.com或domain.com \ jdoe)。
某些SMTP服务器要求客户端进行身份验证,但不支持任何SMTP命令。这些服务器依赖于同一个客户端的最近POP3连接的认证结果(即相同的IP地址)。因为POP3和SMTP服务器通常共享相同的用户帐户数据库。
在发送消息之前,你应该确定内容。例如:
C#:

mailer.Message.From.AsString = "jdoe@domain.com";

mailer.Message.To.AsString = "bill@domain.com";

mailer.Message.Subject = "Hi";

mailer.Message.BodyPlainText = "Hello Bill";


mailer.Message.From.AsString = "John Doe ";

mailer.Message.To.AsString = "Bill  (Company Inc), Kathy ";

mailer.Message.Subject = "The document";

mailer.Message.BodyHtmlText = "The document body";


mailer.Message.From.Email = "jdoe@domain.com";

mailer.Message.From.DisplayName = "John Doe";

mailer.Message.To.AsString = "Kathy ";

mailer.Message.Cc.Add("bill@domain.com", "Bill Smith");

mailer.Message.Subject = "News";

mailer.Message.BodyPlainText = "News body";
 
VB.NET:

mailer.Message.From.AsString = "jdoe@domain.com"

mailer.Message.To.AsString = "bill@domain.com"

mailer.Message.Subject = "Hi"

mailer.Message.BodyPlainText = "Hello Bill"



mailer.Message.From.AsString = "John Doe "

mailer.Message.To.AsString = "Bill  (Company Inc), Kathy "

mailer.Message.Subject = "The document"

mailer.Message.BodyHtmlText = "The document body"



mailer.Message.From.Email = "jdoe@domain.com"

mailer.Message.From.DisplayName = "John Doe"

mailer.Message.To.AsString = "Kathy "

mailer.Message.Cc.Add("bill@domain.com", "Bill Smith")

mailer.Message.Subject = "News"

mailer.Message.BodyPlainText = "News body"
 
内容完成后,你就可以点击发送了。
C#:

mailer.Send();

VB.NET:

mailer.Send()
未发布 电子邮件.NET控件MailBee.NET Objects使用指南合集(上)
by Harriet666 keys 分享 1503998428608
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。本文主要介绍了MailBee.NET Objects的使用指南。
 
MailBee.NET Objects介绍和试用点击查看>>>

一、发送和接收电子邮件时需要哪些东西?

要在应用程序中发送和接收电子邮件,你需要MailBee Objects或MailBee.NET Objects,它们是应用程序和邮件服务器之间的接口(API),允许发送、接收和解析/构建电子邮件。
 
虽然MailBee.NET Objects允许没有中继SMTP服务器的情况下(直接发送到收件人的SMTP服务器)发送电子邮件。通常,发送是通过一个SMTP服务器执行的,该服务器接收你的邮件,并将其转发给收件人。显然你需要SMTP服务器来发送和接收电子邮件,或者你可以发送没有SMTP服务器的邮件,但在这种情况下,由MailBee.NET Objects提供的应用程序应安装在已分配MX记录的工作站/服务器上,否则大多数收件人的SMTP服务器将出于安全原因拒收你的邮件。你可以设置自己的邮件服务器,使用ISP的一个或任何可用的Internet服务器。
 
大多数邮件服务器支持SMTP、POP3和IMAP协议。SMTP协议用于发送邮件,POP3和IMAP用于接收存储在邮箱中的邮件。MailBee Objects和MailBee.NET Objects完全支持这些协议,你可以使用它们与任何邮件服务器进行通信。如果你想通过Web浏览器向用户提供对其电子邮件的访问权限,则可以使用AfterLogic WebMail Lite或AfterLogic WebMail Pro。
 

二、MailBee和MailBee.NET组件可以与MS Exchange服务器配合使用吗?

是的,你可以同时使用MailBee(ActiveX)和MailBee.NET组件将电子邮件发送到Exchange服务器,也可以从此服务器接收电子邮件和文件夹。WebMail Pro应用程序还可以访问Exchange服务器上的邮件。
 
同时也支持与Exchange服务器的SSL连接(例如S / POP3,S / IMAP,S / SMTP)。
 
要从.NET在.NET应用程序中下载电子邮件,可以使用MailBee.NET POP3或MailBee.NET IMAP组件。
 
要在ActiveX / Windows /ASP应用程序中从Exchange下载电子邮件,可以使用MailBee POP3或MailBee IMAP ActiveX组件。
 
但是,请确保在防火墙中打开POP3(110)或IMAP(143)端口,并在Exchange服务器上运行POP3 / IMAP服务。默认情况下,POP3和IMAP在Exchange中被禁用!MS Office Outlook在与Exchange通信时使用内部协议,因此不需要IMAP或POP3,因此POP3 / IMAP服务通常在Exchange服务器上禁用。
 
要发送电子邮件到Exchange,你可以分别使用MailBee.NET SMTP或MailBee SMTP ActiveX。另外,确保SMTP(25)端口在防火墙中打开,SMTP服务在Exchange服务器上运行。在Exchange上登录邮件帐户时,你可能会发现Outlook中使用的用户名不能与MailBee一起使用。这不是错误。其实Outlook可能不只是用户名,还包含用户名+域名。因此,建议只尝试用户名,username @ domain,domain\username。此外,Exchange中可能会禁用某些身份验证方法,因此你可能需要使用NTLM而不是常规身份验证。
 

三、如何下载带有附件的电子邮件

当你使用MailBee(ActiveX)或MailBee.NET组件(例如POP3RetrieveSingleMessage for ActiveX或POP3.DownloadEntireMessage for .NET)下载邮件时,你将收到带有附件的邮件而无需单独下载附件。
 
以下.NET组件可以下载电子邮件:MailBee.NET POP3、MailBee.NET IMAP。
 
以下ActiveX组件可以下载电子邮件:MailBee POP3、MailBee IMAP4。


四、MailBee.NET Objects和MailBee Objects有什么区别?

MailBee Objects是一组完整的组件,用于创建和发送邮件到SMTP服务器,并从POP3服务器接收、解析和删除电子邮件。MailBee组件可用于ASP、VB、C ++、VBScript、JavaScript或任何其他支持ActiveX技术的环境。虽然MailBee Objects可以在.NET应用程序中使用,但我们建议使用MailBee.NET Objects。
 
MailBee.NET Objects是一组用于创建、发送、接收和处理电子邮件的强大且功能丰富的.NET组件。MailBee.NET Objects可以在包含C#和VB的任何.NET语言中使用,并且可以在v2.0-4.x范围内使用任何.NET Framework版本。
 
如果要开发一个由MailBee组件支持的.NET应用程序,则应该使用MailBee.NET Objects。如果你正在开发的应用程序不能依赖.NET框架,建议使用MailBee Objects。
未发布 【百厂约惠】盘点2017年5款最好用的图形图像/CAD工具
by Harriet666 keys 分享 1512634858391
图像已经成为网络不可或缺的一部分,相比文字来说图像更直观。那么各种图形图像的处理软件、控件就必不可少了。
 
今天为大家推荐慧都2017年5款最受欢迎的图形图像/CAD工具,附带各个软件、控件的基本介绍以及最新版本的下载地址,有兴趣的朋友可以免费下载进行试用。在使用过程中出现了任何问题,请联系我们的在线客服
 
Dynamic Web TWAIN——应用于Web应用程序的TWAIN扫描识别工具 支持所有主流浏览器
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
Dynamic Web TWAIN已加入慧都“百厂约惠”促销活动中,历史最低6.7折等你来抢>>>
【Dynamic Web TWAIN最新版下载】
 
VectorDraw Developer Framework——构建2D、3D图形的矢量图形引擎库
VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
VectorDraw Developer Framework历史最低6.6折限时抢购中,立即查看>>>
【VectorDraw Developer Framework最新版下载】
 
CAD .NET——支持AutoCAD®DWG,DXF,PLT及其它CAD格式
CAD .NET是一款在CAD领域被广泛应用的控件,可以快速准确的阅读DWG和DXF文件,并且通过Windows GDI+方法绘制件,支持多种文件格式,包括DWG、DXF、Gerber、光栅图像等,并支持部分编辑功能。

【CAD .NET最新版下载】

ImageGear for .NET——为程序添加扫描/识别/PDF/文件查看与处理/图形编辑与处理等功能
ImageGear for .NET是一款图形图像处理控件,具有扫描,压缩,浏览、添加注释,打印,图像编辑,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 for .NET最新版下载】

LEADTOOLS Document Imaging Developer Toolkit——多语言的文档图像处理控件
使用LEADTOOLS Document Imaging可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。

【LEADTOOLS v19总套包免费下载】


更多百厂约惠折扣产品,点击了解>>
 
郑重承诺:慧都所售产品均为厂商授权的正版产品,请完全放心!
 
*想要了解更多优惠信息?请咨询慧都客服
*本活动最终解释权归慧都科技所有
咨询热线: 400-700-1020(免费)  023-66090381

未发布 条码控件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' }
    ]
未发布 TWAIN扫描组件Dynamic .NET TWAIN v7.1发布,将图像保存为多页TIFF
by Harriet666 keys 分享 1498807336769
Dynamic .NET TWAIN是为桌面应用程序设计的.NET控件,适用于C#和VB.NET。这是一个能让你从任何TWAIN设备中(如scanners, digital cameras,等)获取图像的托管代码SDK。拥有精心设计的用户界面以及内置向导模式,Dynamic .NET TWAIN易于使用,只需要几行代码即可完成TWAIN设备相关工作,并且兼容TWAIN Specification V1.9(比如:三图像传输模式等)。高级采样支持保证了Dynamic .NET TWAIN的易用性,低阶功能则使其在即使最为苛刻的应用程序中也能保持灵活性和可控性。
 
用于.NET应用程序的简单有效的TWAIN扫描组件——Dynamic .NET TWAIN v7.1版本现已可用。
c5851770a2fd4e6d8d9752aedf37113fojpg
 
新版本亮点:
  • 添加了SaveAsTIFF方法可以将图像保存为多页TIFF(以字节为单位)。
  • 优化了Webcam模块中视频流的内存管理。
  • 修正了PDF库中输出PDF的解析度固定为72 DPI的问题。
Dynamic .NET TWAIN 7.1点击下载>>>

Dynamic .NET TWAIN v7.1更新内容
新增
  • 添加了SaveAsTIFF方法可以将图像保存为多页TIFF(以字节为单位)。
改进
  • 删除未使用的命名空间和类。
  • 降低Webcam模块中视频流的内存消耗。
  • 改进了演示指南程序和示例的界面。
修复
  • 修复了在Webcam模块中设置“变焦值”引发错误的问题。
  • 修复了PDF库中输出PDF的分辨率固定为72 dpi的问题。
  • 修复了在Viewer模块中选择区域时鼠标闪烁的问题。
  • 其他小的修改和调整。
未发布 PDF插件VintaSoftPDF.NET Plug-in v5.5发布,新增PDF验证功能
by Harriet666 keys 分享 1496299140709

VintaSoftPDF.NET Plug-in是一个完全的.NET组件,可用于查看,创建以及编辑PDF文档。该程序库还可用于显示,渲染,创建,转化,注释,打印,保存,修改和编辑PDF文档页面。

VintaSoftPDF.NET Plug-in下载试用>>>


PDF文件的验证和转换:
  • 增加了验证符合标准的PDF文件的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够验证PDF文档是否符合所有章节、单独的章节或PDF / A规范的项目。
    ·  快速验证模式(直到找到第一个错误)。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够详细查看验证结果。
    ·  开放架构,允许开发任何算法来验证PDF文档。
  • 增加了将PDF文档转换成以下格式的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够查看转换结果的全部细节。
    ·  开放架构,允许开发任何算法来转换PDF文档。

使用PDF文档:

  • 增加了在多个线程中处理PDF文档的功能(渲染、缩略图、文本提取、图像提取)。
  • 改进了XREF表恢复的算法。

使用PDF文档的注释:

  • 支持的新类型的PDF注释:
    ·  Ink
    ·  文件附件
  • 添加了PDF注释的样式:多边形、矩形、自由文本。
  • 在WinForms和WPF中添加了在注释图像查看器中显示PDF注释的弹出窗口的功能。
  • 改进了PdfAnnotationTool和WpfPdfAnnotationTool编辑模式下的注释多选功能。

使用PDF文档的交互式领域:

  • 添加了新的交互式字段--PDFFInteractiveFormVintasoftBarcodeField,它允许使用VintaSoft Barcode .NET SDK中可用的所有类型的1D和2D条形码。该字段有一些额外的参数,这在PdfInteractiveFormBarcodeField中是不可用的:
    ·  背景颜色
    ·  条码颜色
    ·  边框(颜色、宽度)
    ·  条形码布局
    ·  BestFit模式(条形图被拉伸以填充整个区域,二维条形码将保持其比例)
  • 增加了自动更新交互式字段外观的功能(PdfDocument.AutoUpdateInteractiveFormAppearances)。

渲染PDF文档:

  • 增加了在PDF页面中渲染JPEG图像时控制样本插值的功能。
  • 提高了1-bit图像的渲染性能。

查看具体更新内容>>>

未发布 屏幕录制软件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开始处插入空白的幻灯片,这样当播放时点击空白幻灯片后,真正的第一页幻灯片就可以录制到了。
未发布 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


未发布 苹果公司透露Siri新发音引擎的内部原理
by Harriet666 keys 分享 1505467031256
苹果公司透露了他们通过深度学习让Siri的发音更加自然的内幕。

iPhone用户使用自然语言向Siri提问,Siri也通过语音回答问题。Siri可以使用21种语言回答问题,遍布全球36个国家。在2017年WWDC大会上,苹果宣布了iOS 11上的Siri将使用最新的文本语音引擎。2017年8月,苹果的机器学习期刊透露了他们是如何让Siri的发音更加自然的。

iPhone上的语音是通过拼接预先录制的人类语音来生成的。先录制几个小时的语音,再把它们拆分成单词,然后再把单词拆成最基本的元素:音素。在生成句子的时候,系统会选择合适的音素,再把它们拼接在一起。
 
为音素选择合适的录音是一件很有挑战性的事情。每一个音素都要与发音相匹配,也要与相邻的其他音素相匹配。旧系统只有几种录音,音素的来源很有限,所以听起来有点不自然。于是苹果决定使用深度学习来确定声音单元在句子中的各种属性。
 
每一台iOS设备都包含了一个小型的预录音素数据库。每一份数据都包含了音频属性:声音频谱的音高和音长。一个经过训练的“深度混合密度网络(deep mixture density network)”用于预测每一个音素在句子中的特征。苹果设计了一个成本函数来训练这个网络,着重考虑到两个方面的问题:如何让音素与发音相匹配以及如何让它与句子相融合。
 
在通过“Viterbi”算法从数据库里找到需要的数据后,系统会选出最佳的音素组合,把它们拼接起来,然后播放出声音。
 
另一种方式是生成声波,而不是拼接预录的声音。2016年9月,Alphabets Deepmind发布了WaveNet引擎,可以基于电脑生成文本语音。它的不足是速度很慢,就算使用最快的台式电脑也需要很长时间才能完成合成任务。所以,Siri不会在短时间使用合成语音代替录制语音。
未发布 扫描识别工具Dynamic Web TWAIN使用教程:属性/方法/事件介绍
by Harriet666 keys 分享 1511947096620
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文为你介绍Dynamic Web TWAIN中属性/方法/事件的具体操作代码,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>
 
当正确实施后,Dynamic Web TWAIN将在页面加载后自动初始化。一旦初始化,你就可以像堆任何正常的JS对象一样控制它。您可以参考我们的在线API文档来查看Dynamic Web TWAIN的所有内置属性、方法和事件。
 
这里有三种使用Dynamic Web TWAIN的方法:

属性

属性用于在运行时从Dynamic Web TWAIN中获取或设置特定的值,例如Resolution、Duplex、IfShowUI等。
1
2
3
/* Property */
/* Scan pages in 200 DPI */
DWObject.Resolution = 200;

方法

方法用于调用Dynamic Web TWAIN对象的内置函数,如AcquireImage、SaveAsJPEG、Rotate等。语法非常简单:
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

事件

当达到某个触发点时触发事件。例如,OnMouseClick鼠标点击事件等。与属性和方法相比,事件是有点难度的。在这里我们再多谈一下。
 
处理事件
添加一个事件监听器
 
要添加事件监听器,可以使用内置方法RegisterEvent。请参考下面的示例代码:
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>
 
在上面的代码中,我们添加了JavaScript函数Dynamsoft_OnPostTransfer()作为事件OnPostTransfer的事件监听器。另外,你可以写这样的代码:
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>
 
有参数的事件
一些事件具有参数。以OnMouseClick事件为例:
1
2
/* sImageIndex is the index of the image you clicked on*/
OnMouseClick(short sImageIndex)
 
当您创建相应的JavaScript函数(AKA,事件侦听器)时,可以包含参数并在运行时进行检索。
1
2
3
function DynamicWebTwain_OnMouseClick(index) {
    CurrentImage.value = index + 1;
}

或者
1
2
3
DWObject.RegisterEvent("OnPostTransfer", function(index) {
    CurrentImage.value = index + 1;
});
 
特殊事件 -“OnWebTwainReady”
在所有的内置事件中,有一个特殊事件“OnWebTwainReady”。基本上这个事件在Dynamic Web TWAIN对象被初始化并准备好使用的时候触发。正如您在本文前面看到的那样,推荐使用它的方法是:
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的用户带来帮助,接下来还会有更多的相关教程,敬请期待!


 近期热门 - 点击最多
  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临时配置环境变量
  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