未找到

未发布 ByteScout旗下产品更新合集丨附下载
by Harriet666 keys 分享 1490853095097
ByteScout
Bytescout公司主要为家庭和商业用户提供软件产品及为软件开发商(AactiveX和.NET SDK)提供开发工具。产品主要包含条形码、文档管理、音频视频以及文件格式转换等类型。

BarCode Reader SDK
一款支持多种图像格式、线型条码和二维条码的条码读取器开发包。
更新详情:BarCode Reader SDK 更新至v8.90.0.1651>>>
点击下载:最新版BarCode Reader SDK >>>

Bytescout PDF To HTML SDK
用于PDF转换HTML,并且不需要任何第三方软件支持。
更新详情:Bytescout PDF To HTML SDK更新至v8.3.0.2794>>>
点击下载:最新版Bytescout PDF To HTML SDK>>>

Spreadsheet SDK
无需MS Excel而只使用本地的.NET库来写、读、修改、计算电子表格的电子表格控件。
更新详情:Spreadsheet SDK更新至v2.8.1.1601>>>
点击下载:最新版Spreadsheet SDK>>>
BarCode Generator SDK
在Visual Basic 6、.NET WinForm和ASP.NET应用中生成和显示1D(线性)和2D条形码。

更新详情:BarCode Generator SDK更新至v4.57.0.925>>>
点击下载:最新版BarCode Generator SDK>>>
SWF To Video and Images SDK
一款可以将SWF与Flash电影转换为WMV/AVI视频的多功能工具包。

更新详情:SWF To Video and Images SDK更新至v2.13.1038>>>
点击下载:最新版SWF To Video and Images SDK>>>
Image To Video SDK
将图片转换为WMV、AVI视频并进行幻灯片播放,你还可以自定义设置2D、3D滚动效果。

更新详情:Image To Video SDK更新至v2.12.1038>>>
点击下载:最新版Image To Video SDK>>>
Screen Capturing SDK
一款具有屏幕录制功能的控件,你可以用它录制高质量的视频、音频。

更新详情:Screen Capturing SDK更新至v2.54.1044>>>
点击下载:最新版Screen Capturing SDK>>>
PDF Extractor SDK
一款可以转换PDF为txt、CSV、XML,从PDF文件中提取图像和信息的多功能工具包。

更新详情:PDF Extractor SDK更新至v8.3.0.2792>>>
点击下载:最新版PDF Extractor SDK>>>
未发布 百度正式开源其RPC框架brpc
by Harriet666 keys 分享 1506650334597
9月14日,百度正式在GitHub上基于Apache 2.0协议开源了其RPC框架brpc。brpc是一个基于protobuf接口的RPC框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有RPC协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc的性能领跑于其他同类RPC产品。
 
brpc开发于2014年,主要使用的语言是C++和Java,是百度内部使用最为广泛的RPC框架,它经受了高并发高负载的生产环境验证,并支撑了百度内部大约75万个同时在线的实例。据了解,百度内部曾有多款RPC框架,甚至在2014年时还开源过另外一款RPC框架sofa-pbrpc。那brpc是在什么样的背景下诞生的?它有什么样的优势?又为何要开源?就这些问题,InfoQ记者采访了brpc负责人戈君。
 
Q:谈谈brpc的一些基本情况?什么时候开始研发的?经过了怎么样的迭代和升级?目前在内部应用情况如何?

戈君:brpc于2014年创建,在百度内部称为“baidu-rpc”。到目前为止,brpc一共进行了3000次左右的改动,现在仍在持续优化中,百度内的wiki上可以查询到每次改动的描述。brpc的主要语言是C++和Java,对其他语言的支持主要是通过包装C++版本,比如brpc的Python版包含C++版的大部分功能。
 
brpc目前支撑百度内部大约75万个同时在线的实例(不含client),超过500种服务(去年的统计,现在已不统计这类数据)。Hadoop、Table、Mola(另一种广泛使用的存储)、高性能计算、模型训练、大量的在线检索服务都使用了brpc。brpc第一次统一了百度内分布式系统和业务线的通信框架。
 
Q:为什么百度当时要研发brpc?

戈君:我们在实践中意识到,RPC作为最基础的通信组件,当时的百度已经不领先了。我当时的经理刘炀曾是Google的工程师,非常重视基础架构的建设,也愿意在这个方向投入资源。
 
我们在内部会更加深入地讨论这些问题。“好用”有时看起来很主观,但其实还是有据可循的,它的关键点是能不能真正地提高用户的效率:开发、调试、维护都要考虑到,如果用户效率真的被提高了,用户会想着你的,靠吹嘘或政令推广的东西得不了人心。我们创建brpc的初衷是解决百度业务所面临的实际挑战,同时也希望成为百度同学最喜爱的工具,哪怕离开百度也会怀念brpc。我们希望在提供了一个好用框架的同时,也展现了一种工作方法:注释怎么写,日志怎么打,ChangeLog怎么写,版本怎么发布,文档怎么组织,甚至对未来不在百度的同学的工作也有帮助,所以从这点来说brpc从一开始就是拥抱开源的。事实上,我们在口碑上做得还不错,brpc的wiki可能是百度内被点赞最多的内容之一。
 
Q:与其他的一些开源的RPC框架相比,brpc的优势是什么?

戈君:brpc主打的是深度和易用性。一方面我们没有精力像gRPC那样摊大饼,什么都做。另一方面我们也注意到gRPC(包括更早的Thrift)的深度和易用性并不够。技术方面的东西就是这样,看示例程序,文档非常牛逼,但实战中可能就是另一回事了,为什么各个公司都要造自己的轮子,一个隐藏原因就是表面高大上的东西在一些细节上让你无法忍受。

RPC真正的痛点是什么?是可靠性、易用性和定位问题的便利性。服务中不要出现不可解释的长尾,程序的可变项要尽量少,各种诡异问题要有工具支持快速排查。而这些在目前开源的RPC框架中做的并不好,它们大多看着很牛,但就是无法在自己组织中推广开来。回到前面那三点,brpc是如何做的呢?
  • 可靠性。这一方面是代码质量问题,通过为brpc团队设立很高的招聘门槛,以及在团队中深入的技术讨论,我们确保了稳固的代码基础。另一个问题是长尾问题,这是设计问题,brpc其实包含了很多模块,其中的bthread是一个M:N线程库,就是为了更好地提高并发避免阻塞。brpc中的读和写都是wait-free的,这是最高程度的并发。技术细节请点击链接查看。
  • 易用性。有种设计是什么选择都做成选项丢给用户,号称功能都有,但一旦出问题,则是用户“配置错了”。而且这样用户还非常依赖开发团队,没有开发团队的支持基本用不了,开发团队有足够的理由扩充团队。这么做其实非常不负责任,用户面对海量的选项也很难受。brpc对于增加选项非常谨慎,框架能自己做判断的绝不扔给用户,所有用户选项都有最合理的默认值,不设也能用。我们认为这对用户体验来说非常重要。
  • 定位问题的便利性。这点其它开源框架目前做的都不好,正常使用是可以的,但出问题就麻烦了。这个问题在百度内部其实也很严重,brpc之前用户排查问题都要拉RPC同学一起排查,RPC框架对用户是个黑盒,用户根本不知道里面发生了什么。按我们的经验,基本每天都有几个用户在群里问server卡顿,client超时之类的问题,排查问题是常态,人手必然不够。时间长了用户就觉得你这个框架各种问题,人还拽的不行很少回他们消息。brpc的解决办法是给server内加入各种HTTP接口的内置服务,通过这些服务,用户可以很快看到server的延时、错误、连接、跟踪某个RPC、CPU热点、内存分配、锁竞争等信息,用户还可以使用bvar来自定义各类统计信息,并在百度的运维平台NOAH上汇总。这样大部分问题用户可以自助解决。其实我们去看也是看这些,只是会更加专业。内置服务的具体说明可以看这里。
 
Q:作为公司内部的RPC框架,在服务治理方面有什么考虑?

戈君:百度内部RPC使用非常广泛,基本都是RPC调用,一些产品线还会通过local RPC隔离工程框架和策略代码。这么多年下来,服务周边的系统也比较全面了:编译是BCLOUD,发布是Agile,服务注册和发现是BNS,认证是Giano,监控和运维是NOAH。在百度内部,brpc和这些系统做了比较紧密的绑定,用户体验是一站式的。虽然在开源版本中,这些结合大都删掉了,但用户可以根据自己组织中的基础设施来进行定制:交互协议,名字服务,负载均衡算法都可以定制。对于其中一些特别通用的,我们希望用户反馈到开源版本中来以方便所有人。
 
Q:之前百度还开源过sofa-pbrpc,brpc与它的区别是什么?

戈君:sofa-pbrpc也是百度开发的一个比较早期的RPC框架,属于sofa编程框架的一部分,在搜索有应用。brpc相比sofa-pbrpc有如下优点:
  • 对协议的抽象更一般化,并统一了全百度的通信架构。bprc能容纳非常多的协议,基于Protobuf的,基于HTTP的,百度内的nshead/mcpack,开源的Redis/Memcached,甚至RTMP/FLV/HLS直播协议,brpc能逐渐地嵌入现有系统,而不需要彻底重构,但sofa-pbrpc则不具备扩展协议的能力。类似的,sofa-pbrpc也无法定制负载均衡算法,brpc默认提供round-robin、随机、一致性哈希,Locality-aware(局部性感知)四种算法,用户还能定制。
  • 多线程质量更好。多线程编程是非常困难的,看起来简单的RPC遍布多线程陷阱,比如处理超时的代码可能在RPC还没发出去时就运行了;发送函数还没结束,处理回复的回调就被运行了;一个回复还在被处理另一个回复回来了,诸如此类。另外,一个异步RPC的回调里发起一个同步RPC会发生什么,带着锁做同步RPC会发生什么。这些问题我们都不能在sofa-pbrpc中找到满意的答案。
  • 完备的调试和运维支持。解决这个问题的本质还在可扩展性,你如何让用户参与进来定制他们感兴趣的指标,为此我们设计了bvar,让用户能用比原子变量代价还小的方式自由地定制各种指标,用户能在浏览器上看到指标的变化曲线,或在运维平台NOAH看到汇总的监控数据。brpc还加入了大量内置服务方便用户调试程序,查看连接,在线修改gflags,追踪RPC,分析CPU热点,内存分配,锁竞争等一应俱全。
无需讳言,brpc在诞生之初和sofa-pbrpc在百度内部是有竞争关系的,但就像其他地方一样,这种竞争带来了活力。类似的,brpc和其他已经开源的RPC框架也是良性的竞争关系,在比拼谁能真正提高用户效率的过程中共同进步。每个用户都可以去对比代码、文档质量,接口设计,易用程度,扩展能力等,投出自己的一票。
 
Q:谈谈brpc的整体架构?

戈君:技术栈无外乎是从传输层垒到应用层,就略过不讲了,具体可以去看下开源出来的文档。brpc在架构上强调“在不牺牲易用性的前提下增强可扩展性”,比如brpc支持非常多的协议,在百度内部一个brpc server同端口可以支持二十几种协议,这对于服务的平滑迁移就非常好用。

Client端的协议也非常多,用户用brpc和bthread用得很爽,所以希望我们最好能统一所有的客户端,像对Redis和Memcached的客户端支持也是在这个背景下做的,这两个客户端比官方Client好用多了,感兴趣的读者可以去尝试一下。但这么多协议的配置非常简单,填个字符串就行了,比如HTTP就是把ChannelOptions.protocol设为“http”,Redis就是“redis”。Server端甚至不用设,它会自动判断每个client的协议,怎么做到的开源文档里也有。

名字服务、负载均衡也都可以定制。但为了对用户负责,我们也不鼓励“太自由”的定制,比如一点点需求的变化就要搞个新的,这时更需要想清楚本质区别是什么。这个事情我们在百度内的支持群里每天都在做,我们是开放的”乙方”,但我们也是严厉的”乙方”。
 
Q:brpc的性能如何?这么高的性能是怎么做到的?

戈君:性能是我们非常看中的一点,它和用户体验也是紧密联系的。好用但性能不行,或不好用但性能很牛,用户会很难受,我们不希望用户纠结。从另一个角度来看,在推广初期,我们要说服产品线用brpc靠什么?最直观的就是性能提升。而且这儿的性能不能停留在benchmark的图片上,而是能在真实应用中体现出来。开放出来的案例文档中或多或少都包含了性能提升,具体如下:
  • 百度地图API入口
  • 联盟DSP
  • ELF学习框架
  • 云平台代理服务
 
Q:为什么要将brpc开源?接下来在开源项目的迭代方面有什么计划吗?

戈君:因为马上还有不少依赖RPC的百度系统要开源啊。RPC作为最基础的组件,开源不仅仅是为了自身,也是为其它开源项目铺路,比如说我们马上还会开源基于brpc的RAFT库,搭建高可用分布式系统非常方便;以及使用brpc的bigflow,让流式计算变得很顺手。这些年百度对开源的认识也在不断加深,开源看似曝光了百度的核心技术,但带来的生态影响力更重要。从Apollo、PaddlePaddle开始,百度真的开始拥抱开源了。brpc的开源版和内部版很接近,只是去掉了对百度内部独有的一些基础设施的支持,我们在内网写的深入分析RPC技术细节的文档也都一并开源了,后续也会及时推送改动,请大家放心。这是一个活项目,不会拉个开源分支就不管了。
查看更多资讯>>>

未发布 MailBee.NET Objects撰写邮件教程(一):添加和删除自定义标题
by Harriet666 keys 分享 1501488557962
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了如何添加和删除自定义标题的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

在新邮件中添加自定义标题,可以使用一下代码:
C#
// Create a MailMessage object.
MailMessage msg = new MailMessage();

// Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", false);

VB.NET
' Create a MailMessage object.
Dim msg As New MailMessage()

' Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", False)

你可以指定标题的名称和值,如果邮件中已经存在标题,也可以指定是否重写。当覆盖参数设置为true并且具有相同名称的标题已经存在时,它将被覆盖;否则,将添加具有相同名称的另一个标题。
开发人员还可以轻松地从邮件中删除所有自定义标题:
C#
// Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders();

VB.NET
' Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders()
此方法可以删除标准的标题以外的所有标题。你可以在RemoveCustomHeaders方法描述中找到标准标题列表。另一种方法是使用Remove或RemoveAt方法,也能够指定要删除的标题:
C#
// Remove the specified header.
msg.Headers.Remove("X-Special-Header"); 

// Remove the first header.
msg.Headers.RemoveAt(0);

VB.NET
' Remove the specified header.
msg.Headers.Remove("X-Special-Header") 

' Remove the first header.
msg.Headers.RemoveAt(0)
未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何将本地图像加载到查看器中
by Harriet666 keys 分享 1513762100521
未发布 Oracle企业可视化解决方案AutoVue系列产品更新至v21.0.1!
by Harriet666 keys 分享 1489993142405

Oracle发布了最新的企业可视化解决方案AutoVue系列产品v21.0.1版本。(21产品系列中的一个分支版本)。新版本包括了在不支持Java applet *的浏览器中使用AutoVue的能力,并为核心的CAD格式提供支持。

*由于浏览器的已知问题,不支持Microsoft Edge。

AutoVue系列产品包括:AutoVue 3D Professional AdvancedAutoVue Electro-Mechanical ProfessionalAutoVue EDAAutoVue OfficeAutoVue 2D Professional

未发布 MailBee.NET Objects退回邮件教程(一):SMTP部分
by Harriet666 keys 分享 1503479866630
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

所有退回的电子邮件都应该到达一个邮箱地址。这里将其命名为我们的退件通知栏 - bounce@domain.com。显然,你需要确保退回的邮件能有它们的方式到达退件通知栏。
 
让我们看看这些邮件是如何由SMTP服务器发送的。当一封邮件提交给SMTP服务器时,它将被标记返回路径。返回路径是服务器用于与邮件的原始发送方通信的路径,因此返回路径通常是发件人的电子邮件地址(“From”地址)。
 
返回路径记录在邮件中。“From”用于显示发件人地址。返回路径和字段“From”中的地址不必一样。因此,您可以发送一个使用字段“From”的电子邮件显示发件人(jdoe@domain.com),但返回路径将是bounce box地址(bounce@domain.com)。有了这个技巧,所有的反弹消息都将返回到一个特殊的邮箱。
 
那么如何使用MailBee Objects呢?smtp.Send(senderEmail,recipient)方法向指定的收件人电子邮件地址发送电子邮件。第一个参数是发件人的电子邮件地址。如果是空引用,则电子邮件地址取自“From”属性。第二个参数包含收件人电子邮件地址的分隔列表。当第二个参数为空时,收件人列表可以由To、Cc和Bcc列表组合。正如你所看到的,第一个参数是我们组织一个退件栏所需要的。如果将退件栏地址设置为第一个参数,那么所有退回邮件将被发送到特殊地址。
 
注意:某些SMTP服务器不允许从“From”标头中指定的地址发送电子邮件。
 
代码示例:
 
此示例使用SMTP协议发送电子邮件。为了确保所有收件人都收到该邮件,TestSend将被调用。带有传送错误的邮件将来自指定的电子邮件地址。
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()

未发布 GIS软件开发工具包TatukGIS Developer Kernel更新至v11.5,修复紧急问题
by Harriet666 keys 分享 1498556827991
GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案

TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
 
v11.5更新内容:
  • 修复Winforms/WPF SharpDX渲染器内存泄漏的关键问题。
  • 修复了VCL Hi-DPI相关问题(比如RAD Studio 10.1 Berlin之前版本的低分辨率对话框的尺寸不正确)。[DK-9287],[DK-9278]
  • WinForms/WPF对话框加入阿拉伯语和希伯来语翻译。 [DK-9255]
  • WinForms/WPF是Hi-DPI aware。 [DK-9277]
  • 其他修复。
未发布 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文档图像处理工具包GdPicture.NET发布v14.0.30,改进PDF/OCR生成速度
by Harriet666 keys 分享 1515058010029
GdPicture.NET是一款功能全面且可无限分发的文档图像处理工具包,开发者可将其作为.NET组件运用在他们的C#, VB.NET和CodeGear应用程序中,从而实现文档生成,显示,获取,编辑和打印等功能。在您的程序中使用GdPicture.NET,可实现文档显示,获取TWAIN扫描图像,进行图像处理,执行光学字符识别操作,其涵盖了所有主流领域的其他文件成像技术。
 
GdPicture.NET v14最新版下载>>> 

GdPicture.NET v14.0.30更新内容

  • 改进了检测空白页的准确性。
  • 改进了页面方向检测精度。
  • 改进了autodeskew引擎的准确性。
  • 改进了PDF/OCR生成的准确性和速度。
  • 小的错误修复。
未发布 【移动开发】Essential Studio for WPF 2017 v1新版发布丨附下载
by Harriet666 keys 分享 1488445200868
Essential Studio for WPF更新至2017 v1版本,增加了数据网格、地图和sunburst chart控件等更多其他功能。

Essential Studio for WPF 2017 v1点击下载>>>


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

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

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

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

OnceOA