未找到

未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何使用图像编辑器
by Harriet666 keys 分享 1513675298041
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
 
本文为你介绍Dynamic Web TWAIN中如何使用图像编辑器,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>
 
什么是图像编辑器
图像编辑器是Dynamic Web TWAIN的内置功能。您可以使用图像编辑器来管理图像。
 
你可以用图像编辑器做什么?
在图像查看器中,您可以:
  • 浏览当前扫描或加载的所有图像
  • 以下列方式编辑图像:旋转、镜像、裁剪、更改大小等
  • 打印图像等
 
打开图像编辑器
当缓冲区中至少有一个图像时,可以使用方法ShowImageEditor()来显示编辑器窗口:
DWObject.ShowImageEditor();

image021



未发布 【教程】Edraw Max(亿图图示):使用免费模板和示例快速制作发票?
by Harriet666 keys 分享 1500277959908
外贸工作者长期与国外的用户打交道,除了需要用到英文或者其他语种进行沟通交流,还有一项也是不可或缺的技能,那就是制作英文版的发票。日常生活中,可能我们接触的国内的电子发票会比较多,比如日常吃饭、购物、停车等等,可是对于国外的发票很多人就会犯难了。
 
对此,Edraw Max(亿图图示)商贸发票制作软件特意提供了多种适用于涉外贸易时常用的几种商业发票模板。本文就详细介绍一下具体是如何操作的吧!
 
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
Edraw Max(亿图图示)V8.7中文版点击下载>>>
 

通过亿图软件内置模板和例子快速创建


首先打开亿图软件,新建“表格”,然后在右侧模板中选择“发票”。如下图所示。
1、双击“发票“模板,即可快速创建一个空白绘图页面,左侧会自动打开相应的发票符号库。
2、从例子中选择所需发票实例,双击任意一个例子,即可调用该实例,然后就可以对其进行任意修改了。
 

发票的基本内容


1、公司详情,比如:公司名称、公司地址、公司电话和邮件地址,以及公司相关号码增值税注册号、发票号等等。
2、公司相关号码:增值税注册号、发票号。每张发票应该有一个独一无二的发票号。尽管被称作号码,它还是可以包含字母的,最常用的方法就是用发票前缀字母来表示客户,比如说ED001等。
3、客户详情:机构名称、客户姓名等等。
4、日期:日期中应该包含开具发票日期以及到期时间,在这个时间之前应该完成支付,一般为发票开具后的30天内。
5、服务和费用:这一项包含以下:服务描述、总金额、增值税数量和总量。
6、支付项目:是用来表示以何种方式获得这笔资金。
 

发票格式编辑


文件中所有元素都可以进行编辑,包括:表格宽度、高度和边框样式等。
合并或者分解表格:
只要你会用Excel,那么,用亿图只会让你的绘图效率翻倍,让你的工作效率加倍!
未发布 MVC界面开发包Essential Studio for ASP.NET MVC发布2017 v3丨附下载
by Harriet666 keys 分享 1503307206856
Essential Studio for ASP.NET MVC控件包是一个原生的MVC界面开发包,它包含了几乎所有企业级Web应用程序开发所需要的控件,如Grids, Charts, Gauges, Menus, Calendars, Editors等。 除此之外,该控件包还包含了可以让您的应用程序浏览和创建Excel,Word,PDF文件的高性能元件库。
 
Essential Studio for ASP.NET MVC 2017 v3点击下载>>>
 
Essential Studio for ASP.NET MVC 2017 v3通过添加StackingSplineArea图类型、图表的标尺等,拓宽了开发Web应用程序的范围。
 

PAGER

新控件

PAGER是一个新的ASP.NET MVC组件,可以将大量数据导入页面进行导航。包含一个可以自定义的UI。
主要特征:
  • 导航到所需页面的选项。
  • 导航到上一个/下一个/最后/第一页的选项。
  • 支持本地化。
  • 支持手机。
4a85afa1b17a43a49b45541b2cc18023ojpg
 

统计图表

StackingSplineArea和100%StackingSplineArea系列

增加新的系列类型StackingSplineArea和100%StackingSplineArea。
f600d199c729410ba1e1d483d113ce2dojpg
8dc2cb8b93ce40d597ee163d9f572a08ojpg


数据标签饱和度

根据背景颜色来显示数据标签文本。
042f402f0d4d4057a6fc9799c8e57fb8ojpg
 

多种样条类型

图表控件现在支持多个样条类型。
d32c1e565d954914bdd77a6df1e71786ojpg
 

数据管理器

Web API批量编辑

数据管理器支持Web API批处理操作。Web API批量编辑是一个独特的功能,添加删除和更改的请求可以一次性处理。
 

可查询的数据操作

数据管理器允许通过使用可查询数据操作来查询特定数据源。它可以执行IQueryable服务器端操作,如过滤、分页和排序。
 

图表

支持标尺

标尺已添加到图表控件中。
cd297c41cc9f40879bf1fc3346aab647ojpg
 

标签拖动限制选项

拖动标签时进行对齐,以便在调整其主体对象大小后保留其相对位置。 还添加了将标签拖动到特定位置的选项。
 

DOCIO

内容控件

DocIO能够在Word文档中创建和修改内容控件,并提供了一种设计具有以下功能文档的方法:
  • 创建一个类似表单的用户界面。
  • 防止用户编辑内容控件的内容。
  • 将内容绑定到XML数据。
104139e1a795442c84f27d7c2f98f80aojpg
 

Word转换PDF增强功能

  • DocIO现在可以在Azure网站中将Word文档转换为PDF。
  • DocIO现在可以将具有旋转图像的Word文档转换为原始格式的PDF格式。
  • DocIO现在可以将镜像边距的Word文档转换为原始格式的PDF格式。
8136f46eb918458ca988d0e2a1e25d8fojpg
 

文件管理器

根文件夹配置

支持访问应用程序的根文件夹,并在该根文件夹中显示备用文本。
ed1c240dd8374ce1ae5191026827571bojpg
 

甘特图

工作周

甘特图控制现在支持改变项目的工作周。
775852b746e5462999f379a1ffb77e60ojpg
 

验证任务栏编辑

现在可以验证任务栏编辑。
eb1b8f75d51c44be97820269c5f26f47ojpg


表格

支持页面大小下拉

通过使用页面大小的下拉列表,支持更改网格页面的大小。
2b7454324c5a4e13bb1a3e4def551b6aojpg
 

看板

状态显示/隐藏选项

显示/隐藏卡的功能。它可以使用键值对卡进行分组,并可以切换显示。
46757f7645ad4663b3dfabbddd70e35cojpg
 

PDF

压缩现有的PDF文档

减小PDF文件的大小。
7ffe56de8fd3496c9439ff1de9223e45ojpg
 

标记PDF

 
通过允许用户创建PDF/通用可访问性(PDF / UA)或符合章节508的PDF文档来提供辅助功能。
7805a042de43444b8724d9e02b2348a4ojpg
 

PDF查看器

 

手写签名

PDF查看器允许您将签名添加到任何PDF文档,并将其保存为标准PDF文件。
23357d2ea53e4af8b515e746a0016222ojpg
 

枢轴网格

按需加载(关系数据库)

按需加载允许仅在向下钻取操作时检索数据,从而提高控件的性能。
7a961866813e48be94b65e5cf0ed502fojpg
 

分页(关系数据库)

分页将大量记录分成单独的段以便轻松查看数据。它还提高了枢纽网格的性能。
63a08a8f4eea49cc8fc743c6f5e81009ojpg
 

按日期分组类型(关系数据库)

枢纽网格对日期类型字段进行分类,并根据年、季、月和日格式进行分组。
8f8bde86a206446da0bca8d448d63454ojpg
 

按日期类型排序(关系数据库)

支持以升序或降序来排序日期类型字段。
bb82fc56099244808a56acb85c0fad83ojpg
 

演示

 

支持插入列

演示文稿现在允许在PowerPoint演示文稿中的表中插入列。
bbd6b21bdacc4ed9b88887f0273b52e6ojpg
 

PDF和图像转换增强功能

 
演示文稿现在可以将具有旋转和嵌套组形状的PowerPoint演示文稿精确转换为PDF或图像格式。
3074d62f238d4ba2b7f3af672d0b02b5ojpg
 

丰富的文本编辑

拼写检查器

拼写检查器控件可以在RTE中的iframe元素上呈现,从而很容易找到拼写错误,并在上下文菜单和对话框模式中提供建议。在对话模式中,将显示一个包含建议单词列表的下拉菜单。 在上下文菜单模式下,当右键单击拼写错误的单词时,将出现具有拼写建议的上下文菜单。
e276540b869a4e808b0ccb3a324718b1ojpg
9f51694f512e4a16b4986c48a93494abojpg


时间表

在线添加/编辑预约

用户现在可以创建或编辑预约。
d9126e4ca35c4045b145fca607cc59ffojpg
 

拼写检查

拼写检查同步请求

拼写检查控件提供了通过发送同步请求来检查拼写错误的选项。
 

错误词建议

拼写检查控件提供了将拼写错误的单词传递给客户端的选项,然后检索建议的单词以进行更正。
 

电子表格

支持不连续范围的图表

电子表格控件现在可以将串联的图表导入不连续的范围或一系列点。
48fcc74cbb9244649d4a05f576f0cbd6ojpg
 

树型网格

文字换行

树型网格控件现在支持在单元格中文本换行。
cb2420d796e44b30b6ad7a8ae047729bojpg
 

按需加载

树型网格控件现在使用“按需加载”方法来支持数据绑定。
 
5e04a46c08274b3eb7f8897b42c16147ojpg
27e87b959dbf4890b05ef905e8198ca6ojpg

 

命令列

现在可以使用树型网格中的命令列执行CRUD操作和自定义操作。
6159700e81d04aaebe2468feed7e5673ojpg
2bded05aad0e4eeb81502460adb8a190ojpg

 

打印

现在可以打印树型网格的内容。
5aff4cc45e6b43788428227ebe4e304dojpg
 

编辑模板

树型网格控件使用编辑模板支持使用自定义编辑器编辑单元格值。
b6decf948197447e86e8f37f704467feojpg
 

列优先

现在使用列优先级响应树格网格列。
32eba02ddd244b9db7b1d23cf9ac988cojpg
 

TREEMAP

文字溢出

支持Treemap控件中的标签文本溢出。
1e48300c56e343d591d7f41ddd865f9dojpg

XLSIO

过滤器功能增强

  • XlsIO现在允许用户通过文本、数字、单元格颜色和字体颜色对过滤的数据进行排序。
  • 提供基于自定义文本过滤器过滤数据的功能。
319473abe59c41dd917560a7d894029aojpg
未发布 HTML5文档查看器PrizmDoc发布v13.0,新增文档比较功能
by Harriet666 keys 分享 1509005590277
PrizmDoc新版本增加了多个功能,可提高文档管理流程的效率,促进更高的生产力。
 
PrizmDoc v13.0中最重要的新功能是文档比较。允许用户比较与Microsoft Word文档的原始版本之间所做的更改。用户选择原始文件以及更新版本,并将原始文件的所有更改(添加、删除等)显示在新的文档中,并以超链接进行快速访问。该功能对于合同条款和附录、组织图、企业标准和程序等文件特别有用。该增强功能与Microsoft Word本身的“跟踪更改”功能类似,旨在满足众多终端用户的要求。
 
PrizmDoc v13.0还在图像查看技术方面取得了显着进步。新的伽玛调整、图像锐化和线条加粗工具可以增强矢量、像素图像的查看,从而允许用户生成比以往任何时候更精致的效果图。图像增强工具对于医疗、工程和建筑行业特别有用,X射线、蓝图和CAD绘图之类的图像在线观看比以往更容易。
 
【PrizmDoc v13.0最新版下载】
 
PrizmDoc v13.0新功能

文档比较
PrizmDoc新增了Microsoft Word文档比较功能。文档比较是与先前版本交叉检查文档新版本的过程,您可以看到其更改的内容。这些更改可能包括格式修改如字体或间距更改、语法更改、添加或删除单词、句子、段落。有关如何使用新的文档比较功能的更多信息,请查看以下内容:
 
图像工具
PrizmDoc v13.0增加了一个名为Image Tools的新选项。您可以在查看器中操作文档保真度。有关更多信息,请参阅最终用户指南
 
支持Ubuntu 16.04 LTS
PrizmDoc现在支持Ubuntu 16.04 LTS。
 
支持Windows Server 2016
PrizmDoc现在支持Windows Server 2016。
 
本地SVG图标
Viewer已升级为支持本地SVG图标。您可以将默认图标替换成自己的版本。
 
在线帮助
PrizmDoc入门部分已更新,包括一个名为“1-获取评估许可证”的新步骤。
部署许可部分已更新,可以更好的帮助您了解所有许可选项。
最终用户指南部分已更新:
  • 文档比较 - 如何使用新的比较查看器
  • 图像工具 - 如何使用新的图像工具功能查看文档
 
PrizmDoc服务器
解决了错误的页面计数和呈现MS Word文档的内容问题(使用MSO渲染引擎时启用了跟踪更改)。
解决了使用LibreOffice渲染引擎时AAA/AAAA Excel日期/时间格式的不正确渲染。

未发布 MailBee.NET Objects退回邮件教程(二):POP3部分
by Harriet666 keys 分享 1503567760428
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,
简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。

MailBee.NET Objects介绍和试用点击查看>>>
 
 
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
在上期的SMTP部分中,我们将退回的电子邮件发送到指定的单个电子邮件地址。
 
每封退回的电子邮件都包含失败的电子邮件地址(以及其他信息)。这个失败的地址是我们想知道的。这个任务看起来很简单 - 你需要做的是扫描退回的
邮件以确定地址的典型字段。但是有一个隐藏的危险:每个邮件服务器都有自己的邮件退回格式。虽然它们几乎具有相同的“From”和“主题”字段,但是退回地址可以在邮件的任何位置。MailEnable服务器的典型退回邮件如下所示:
From: POSTMASTER@domain.com
To: jdoe@domain.com
Subject: Message Delivery Failure

MailEnable: Message Delivery Failure.

The following recipient(s) could not be reached: 

Recipient: [SMTP: bill@domain.com] Reason: The message could not be delivered because the domain name (domain.com) does not appear 

to be registered.

函数GetInvalidEmailAddressME()检查邮件是否被退回,并从退回的邮件中提取失败的地址。由于退回邮件格式不同,此功能仅对MailEnable服务器有效。例如,如果你正在使用Communigate Pro服务器,则退回消息如下所示:
From: MAILER-DAEMON@domain.local
To: jdoe@localhost Subject:
Undeliverable mail:

Failed to deliver to ''
 
正如你所看到的,这个退回的邮件与前一个几乎相同。使用哪个服务器并不重要,退回信息总是有From,To和Subject字段,退回信息在其正文中有失败的地址。函数GetInvalidEmailAddressCP()与前一个函数几乎相同; 区别仅在于检查邮件字段并搜索失败的地址。支持尽可能多的退回电子邮件格式至关重要。这就是为什么你需要修改GetInvalidEmailAddress()函数,以适应服务器使用的退回电子邮件格式。
 
注意:在某些情况下,你可能需要扫描退回的电子邮件以获取其他信息。如果由于暂时的问题,退回的邮件到达,则不要删除电子邮件地址:邮箱超过配
额,邮件服务器关闭等。退回邮件可以分为两种类型:硬邮件和软邮件。如果是不存在的帐户或域,则会发生硬性退回。其他故障,如完整的邮箱或暂时
不可用的域,则是软性退回。你可以为数据库中的每个地址进行计算。也许下一次尝试发送邮件到具有一些软性退回的地址时将成功。
 
代码示例:
在此示例中,我们从指定的帐户中检索退回的电子邮件,然后从每个退回的电子邮件中提取失败的电子邮件地址。失败的地址传递给RemoveEmailFromDatabase子程序,该子程序必须从数据库中删除失败的地址。应用程序还会从服务器中删除退回的电子邮件,以避免下次处理。
C#:
// Create POP3 object
Pop3 pop = new Pop3();

// Enable logging to file
pop.Log.Enabled = true;
pop.Log.Filename = @"C:\log.txt";
pop.Log.Clear();

// Connect to POP3 server
pop.Connect("mail.domain.com");
pop.Login("bounce", "secret");

// Download headers and bodies of all messages.
MailMessageCollection msgs = pop.DownloadMessageHeaders(1, -1, -1);
                        
// Loop through all messages in the mailbox
foreach (MailMessage msg in msgs)
{
        string strLine = msg.BodyPlainText;
        Console.WriteLine("From: " + msg.From.Email);
                                
        // Get failed email address
        string str_invalid_email =  GetInvalidEmailAddressME(msg);

        // If str_invalid_email is non-empty then failed email 
        // address was found
        if (str_invalid_email.Length > 0)
        {
                // Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email);

                // Display invalid adress
                Console.WriteLine("Invalid email: " + str_invalid_email);                

                // Delete bounced email from server to avoid
                // processing it next time
                pop.DeleteMessage(msg.IndexOnServer);
        }
}

// Disconnect from POP3 server
pop.Disconnect();

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for MailEnable servers
static string  GetInvalidEmailAddressME(MailMessage msg)
{
        string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Delivery Failure") == -1)
{ 
                return "";
        }
        if (msg.From.ToString().IndexOf("POSTMASTER") == -1)
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("SMTP:");

        // Check if bounced message report contains "Recipient:" field
        if (i_start == -1)
        {
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for Communigate Pro servers
static string  GetInvalidEmailAddressCP(MailMessage msg)
{
string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Undeliverable mail") == -1) 
        {
                return "";
        }
        if (msg.From.ToString().IndexOf("MAILER-DAEMON") == -1) 
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("to '<");

        // Check if bounced message report contains 
        // "Failed to deliver to " field
        if (i_start == -1)
        { 
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// This function must remove (or disable) specified
// email address from mailing list
static void RemoveEmailFromDatabase(string str_invalid_email)
{
// TODO: Add your code here                        
}
 
VB.NET:
Dim pop As New Pop3

' Enable logging to file
pop.Log.Enabled = True
pop.Log.Filename = "C:\log.txt"
pop.Log.Clear()

' Connect to POP3 server
pop.Connect("mail.domain.com")
pop.Login("jdoe", "secret")

' Download headers and bodies for all messages.
Dim msgs As MailMessageCollection = pop.DownloadMessageHeaders(1, -1, -1)

' Loop through all messages in the mailbox
Dim msg As MailMessage
For Each msg In msgs
        Dim strLine As String = msg.BodyPlainText
        Console.WriteLine("From: " + msg.From.Email)

        ' Get failed email address
        Dim str_invalid_email As String = GetInvalidEmailAddressME(msg)

        ' If str_invalid_email is non-empty then failed email 
        ' address was found
        If str_invalid_email.Length > 0 Then
                'Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email)

                ' Display invalid address
                Console.WriteLine("Invalid email: " & str_invalid_email)

                ' Delete bounced email from server to avoid
                ' processing it next time
                pop.DeleteMessage(msg.IndexOnServer)
        End If
Next
Console.ReadLine()

' Disconnect from POP3 server
pop.Disconnect()

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for MailEnable servers
Function GetInvalidEmailAddressME(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Delivery Failure") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("POSTMASTER") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("SMTP:")

        ' Check if bounced message report contains "Recipient:" field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for Communigate Pro servers
Function GetInvalidEmailAddressCP(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Undeliverable mail") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("MAILER-DAEMON") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("to '<")

        ' Check if bounced message report contains 
        ' "Failed to deliver to " field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' This function must remove (or disable) specified
' email address from mailing list
Sub RemoveEmailFromDatabase(ByVal str_invalid_email As String)
        ' TODO: Add your code here                        
End Sub
未发布 MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件
by Harriet666 keys 分享 1497516049930
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了接收电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

要接收简单的电子邮件,开发人员应使用POP3对象。创建此对象的新实例,如下所示:
C#:
Pop3 pop = new Pop3();
VB.NET:
Dim pop As Pop3 =  New Pop3()

基本属性和方法

要接收电子邮件,MailBee.NET Obiects与POP3服务器通信。要连接到POP3服务器,开发人员只需指定此POP3服务器的主机名(或相同的IP地址),如下所示:
C#:
pop.Connect("mail.domain.com");
VB.NET:
pop.Connect("mail.domain.com")
 
或者
C#:
pop.Connect("127.0.0.1");
VB.NET:
pop.Connect("127.0.0.1")
 
由于所有POP3服务器都需要身份验证,开发人员应指定登录邮箱的登录名和密码,如下所示:
C#:
pop.Login("login", "password");
VB.NET:
pop.Login("login", "password")
 
当开发人员成功登录邮箱时,可以通过调用POP3对象的DownloadEntireMessage方法轻松下载此邮箱包含的任何邮件。调用此方法时,开发人员应指定邮件的索引。例如,以下代码行表示从收件箱下载最后一封邮件:
C#:
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);
VB.NET:
Dim msg As MailMessage =  pop.DownloadEntireMessage(pop.InboxMessageCount)
 
其中:
  • pop.InboxMessageCount是一个属性,包含邮箱中存储的邮件总数;
  • msg是一个MailMessage对象,表示单个电子邮件。
注意!如果邮箱中没有邮件,则pop.InboxMessageCount属性为0并调用pop.DownloadEntireMessage(pop.InboxMessageCount)方法将出现错误。
 
如果要从邮箱下载中下载新邮件,开发者必须定义特殊的帮助函数。该功能应该查找已经下载邮件的现有数据库中邮件的UID。如果没有找到指定的UID,则将该邮件视为新邮件。因此,开发人员必须使用数据库引擎来存储所有接收到的邮件UID。
 
最后,当邮箱完成所有必要的操作,并且与POP3服务器的连接无效时,开发人员应该调用POP3对象的Disconnect方法以断开与POP3服务器的连接,如下所示:
C#:
pop.Disconnect();
VB.NET:
pop.Disconnect()

示例代码:

以下示例从指定的邮箱中下载最新的邮件,并显示此邮件的正文。
在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using MailBee;
using MailBee.Pop3Mail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static bool IsNewMessage(string UID)
        {
            return true;
        }
        static void Main(string[] args)
        {
            Pop3 pop = new Pop3();
            try
            {
                pop.Connect("mail.domain.com");
                pop.Login("login", "password");
                Console.WriteLine("Successfully logged in.");
            }
            catch(MailBeePop3LoginNegativeResponseException)
            {
                Console.WriteLine("POP3 server replied with a negative response at login.");
            }
            string[] arrIDs = pop.GetMessageUids();
            int n = pop.InboxMessageCount;
            if (IsNewMessage(arrIDs[n])) 
            {
                MailMessage msg = pop.DownloadEntireMessage(n);
                if (msg.BodyHtmlText != "") 
                     Console.WriteLine(msg.BodyHtmlText);
                else 
                    if (msg.BodyPlainText != "") 
                      Console.WriteLine(msg.BodyPlainText);
                    else 
                      Console.WriteLine("The body of this message is empty.");
            }
            try
            {
                pop.Disconnect();
                Console.WriteLine("Disconnected successfully.");
            }
            catch
            {
                Console.WriteLine("Disconnection failed.");
            }
        }
    }
}
VB.NET:
Imports System
Imports MailBee
Imports MailBee.Pop3Mail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        
 
        Shared Function IsNewMessage(ByVal UID As String) As Boolean
            Return True
        End Function
        Shared  Sub Main(ByVal args() As String)
            Dim pop As Pop3 =  New Pop3() 
 
            Try
                pop.Connect("mail.domain.com")
                pop.Login("login", "password")
                Console.WriteLine("Successfully logged in.")
            Catch
                Console.WriteLine("POP3 server replied with a negative response at login.")
            End Try
 
            Dim arrIDs() As String =  pop.GetMessageUids() 
            Dim n As Integer =  pop.InboxMessageCount 
            If IsNewMessage(arrIDs(n)) Then
                Dim msg As MailMessage =  pop.DownloadEntireMessage(n) 
 
                If msg.BodyHtmlText <> "" Then
                     Console.WriteLine(msg.BodyHtmlText)
                Else 
                  If msg.BodyPlainText <> "" Then
                    Console.WriteLine(msg.BodyPlainText)
                  Else 
                    Console.WriteLine("The body of this message is empty.")
                  End If
                End If
            End If
 
            Try
                pop.Disconnect()
                Console.WriteLine("Disconnected successfully.")
            Catch
                Console.WriteLine("Disconnection failed.")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

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

未发布 VintaSoft PDF插件VintaSoftPDF.NET Plug-in更新至v5.4,创建PDF可视化工具
by Harriet666 keys 分享 1491816822873
VintaSoftPDF.NET Plug-in是一个完全的.NET组件,可用于查看,创建以及编辑PDF文档。该程序库还可用于显示,渲染,创建,转化,注释,打印,保存,修改和编辑PDF文档页面。
【最新VintaSoftPDF.NET Plug-in点击下载】

VintaSoftPDF.NET Plug-in v5.4更新内容:


与PDF文档的视觉交互:
  • 创建了一个可视化工具 - PdfAnnotationTool,允许与PDF注释和PDF文档的交互式表单区域进行交互。可视化工具:
    • 在查看模式下,可以查看PDF注释并填写PDF交互式表单的区域。
    • 在标记模式下,允许编辑PDF标记注释并填写PDF交互式表单的区域。
    • 在编辑模式下允许:
      • 调整大小并重新定位PDF注释和交互式区域。
      • 修改PDF评论和交互式区域的外观。
      • 创建/删除/复制/粘贴PDF注释和交互式区域。
      • 立即选择几个PDF评论和交互式区域。
    • 允许将操作分配给PDF注释和交互式字段的触发器。
    • 允许在字段上方显示交互式区域的名称。
    • 允许突出显示可以填写的交互式区域。
    • 仅允许突出显示必须填写的交互式区域。
    • 允许在编辑模式下突出显示PDF注释和交互式区域。
    • 支持执行以下操作:JavaScript、隐藏注释、Goto、启动、命名、URI、导入表单数据、重置表单、提交表单。
    • 允许配置互动区域的视觉外观:颜色、透明度、大小、区域大小。
  • 增加了使用JavaScript注释器和支持执行JavaScript操作的能力。
  • 支持以下可视化工具用户界面(复制、剪切、粘贴、删除、全选)的常见操作:PdfAnnotationTool、PdfContentEditorTool、PdfTextSelectionTool、PdfImageExtractionTool、PdfRemoveContentool。
使用PDF注释:
  • 创建通用PDF注释的外观生成器。
使用PDF交互式区域:
  • 增加了从XFDF格式导入交互式表单的值的功能。
  • 增加了将交互式表单的值导出为XFDF格式的功能。
打印PDF文件:
  • 在WinForms中打印PDF文档时,增加了整体打印性能并减少了内存使用,这是因为新的PdfPrintDocument类是以矢量形
    式来打印PDF文档。
使用PDF文档的字体:
  • 创建通用PDF注释的外观生成器。
  • 使用PDF交互式区域:
  • 增加了从XFDF格式导入交互式表单的值的功能。
  • 增加了将交互式表单的值导出为XFDF格式的功能。
  • 打印PDF文件:
  • 在WinForms中打印PDF文档时,增加了整体打印性能并减少了内存使用,这是因为新的PdfPrintDocument类是以矢量形
    式来打印PDF文档。
  • 使用PDF文档的字体:
  • 增加了对可变代码长度的复合字体的支持。
  • 增加了对复合字体的预定义CMap编码的支持。
  • 增加了对TrueType字体集(.ttc文件)的支持。
  • 增加了创建基于Type1程序的字体子集的功能。
  • 使用改进和简化的字体搜索和替换算法创建了一个新版本的FontProgramsController-s。
  • 增加了将程序替换为14种标准字体的功能。
  • 增加了打包Type1和Type3字体的功能。
  • 增加了基于TTC程序嵌入和打包字体的功能。
  • 增加了对基于Type1和CFF程序的Type3字体模糊文字的功能。
  • 增加了查看进度并获取有关字体混淆、字体打包、内容删除的详细信息的功能。
  • 修复了Type1字体解析器中的一些错误。
  • 修复CFF字体解析器中的一些错误。
渲染PDF文档:
  • 增加了垂直对齐文本的渲染支持。
  • 增加了使用PdfContentRenderer类来控制PDF注释绘图的功能。
  • 支持使用PDF文档的渲染设置对PDF注释进行扩展管理。
使用PDF文档的ow-level tree:
  • 增加了查看和更改PDF文档基础对象树的功能。
  • 增加了将用户数据存储在PDF文档的任何节点中的功能。
演示应用:
  • PdfEditorDemo已经完全修改:
    • 添加了独立面板:
      • 文本选择、文本提取和文本搜索
      • 填写PDF文档的交互式表单区域
      • 注释PDF文件
      • 创建PDF文档的交互式表单区域
      • 从PDF页面提取图像
      • 将图形添加到PDF页面
      • 从PDF页面中删除内容。
    • 增加了注释PDF文档的功能。
    • 增加了填写PDF文档的交互式区域的功能。
    • 增加了使用交互式表单创建PDF文档的功能。
    • 增加了以XFDF格式导出/导入PDF交互式表单的功能。
    • 增加了将交互式表单域导出为PDF格式的功能。
    • 增加了将任何动作分配给PDF注释和交互式区域的任何触发器的功能。
    • 增加了为PDF事件处理程序分配任何操作的功能。
    • 增加了触发所有支持的PDF操作(包括JavaScript操作)的功能。
    • 增加了在激活时反转(超级)链接区域的功能。也可以配置自定义效果。
    • 增加了测试和调试JavaScript代码的功能。
    • 增加了在PDF页面上刻录矢量PDF注释的功能。
  • PdfReaderDemo已经完全修改:
    • 增加了独立面板:
      • 文本选择、文本提取和文本搜索
      • 填写PDF文档的交互式表单域
      • 从PDF页面提取图像。
    • 增加了填写PDF文档的交互式区域的功能。
  • 增加了在PdfStructureEditorDemo中查看PDF文档的low-level tree的功能。
  • 增加了一个演示了如何在PdfReportGeneratorDemo中创建和执行PDF操作的示例。
进行了许多主要和次要的修复。
未发布 10个学习JavaScript的免费在线资源丨附地址
by Harriet666 keys 分享 1488940926149

点击阅读原文>>>

我们都听说过“ JavaScript ” 这个术语,但我们中只有少数人知道它的用法和应用。这里的“我们中的少数”是指技术青年、网络程序员和IT专业人员。但是,对于外行来说,“JavaScript”只不过是一个与计算机编程相关的复杂术语。

那么,什么是JavaScript?如果你希望在计算机领域工作,那么你不能错过JavaScript。它是最着名的网页脚本语言。它也广泛用于游戏开发以及桌面和移动应用程序的创建。此外,网站上很多基本功能如下拉菜单、视觉效果、验证数据等都是使用JavaScript创建的。当然,这只是一个概述。

学习JavaScript最好的方法之一是通过视频教程进行在线学习。这里列出十个免费在线学习JavaScript的地址,让你的学习更方便、更有效。

未发布 超实用CAD控件CAD VCL发布v12,支持Embarcadero®RAD Studio 10.2 Tokyo丨附下载
by Harriet666 keys 分享 1497599034716
CAD VCL是一个高品质多功能且含源码的控件,它提供了几个强大的类用于为您的Delphi/C++Builder应用程序创建AutoCAD DXF, CGM, Hewlett-Packard PLT/HPGL, PDF和SVG文件。

【CAD VCL 12最新版下载>>>】


CAD VCL 12支持Embarcadero®RAD Studio 10.2 Tokyo,并支持最新的AutoCAD®DWG 2018。
 
我们发布了CAD VCL 12,它是一个Delphi和C ++ Builder的新版本CAD库。不久前Embarcadero®RAD Studio 10.2 Tokyo发布。我们很高兴地通知你,新版本的CAD VCL 12也与此开发环境兼容。
 
除了这项更新,CAD VCL还支持最新的DWG版本 - AutoCAD®DWG 2018。因此,使用CAD VCL 12创建的应用程序将能够阅读最新的图纸。
0709e112747c47a38c3156e0719e0e8aojpg
CAD VCL 12中包含的改进内容列表:
  • 支持Embarcadero®RAD Studio 10.2 Tokyo
  • 导入AutoCAD®DWG 2018
  • 改进了通过Windows图元文件导出功能
  • 导出G-code
 
你可以下载最新版本的CAD VCL来测试这些功能>>>
未发布 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
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

 近期热门 - 点击最多
  1. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  2. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  3. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  4. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  5. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  6. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  7. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  8. Springboot+Gradle+Mysql+Jpa最简单实例教程
  9. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  10. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片

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

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

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

OnceOA