Text Control 中的域可以与MS Word中的域进行相互的导入和导出操作,Text Control中的ApplicationField类为获取/设置域的数据/参数提供了相应的公共接口。下面将结合MS Word中最常用的MERGEFIELD 和 FORMTEXTBOX功能来讲解域相关的操作。
相应的源代码可以在TX Text Control.NET的安装目录中找到:
Samples\WinForms\VB.NET\ ApplicationFields
Samples\WinForms\CSharp\ ApplicationFields
(一)实现MERGEFIELD 类
在MS Word和RTF文档中会经常用到合并域,通过合并域能在模板设计器中为文本域添加一些附加信息,例如:可以指定文本应该显示在文本域的前面还是后面,或者指定文本的显示格式。为了能够处理这些字段和相应的功能,示例程序中实现了三个不同的类:
• MergeField
• MergeFieldCollection
• CollectionSync
MergeField类继承与TextField,并扩展了相应功能。通过MergeField可以得到该类所处理的ApplicationField的引用。此外,MergeField包含下面的这些属性:
• TextFormat
• TextBefore
• TextAfter
• Mapped
• MergeFieldName
• PreserveFormatting
• VerticalFormatting
当设置MergeField的TextBefore属性时,会相应地设置ApplicationField的Text属性,此外,新的设置会以一种合适的值保存在Parameters属性中。
MergeFieldCollection是一个MergeField的集合类,它实现了标准集合类型的公共属性和方法。
最后,需要实现TextControl和MergeFieldCollection集合中各个对象的同步。当ApplicationField集合改变时都需要进行同步操作。这个类型提供了两个重要的事件,用于监听TextControl中的变化:TextFieldCreated 和 TextFieldDeleted。
启动示例程序之后,点击File/Load菜单加载示例文档,该文档包含很多合并域字段,将输入光标定位到一个存在的字段中,例如《COMPANY》字段:
从MergeField菜单中选择Edit..菜单项,打开合并域字段的编辑对话框:
在这个对话框中,可以处理MergeField的所有属性,选中“Text to be inserted after”复选框,然后输入相应的文字,这些文本将被插入到该字段的后边,点击【OK】按钮关闭设置该设置对话框。
通过Merge/Merge fields...菜单打开客户数据表格,选中一条客户信息,点击【Merge】按钮将数据库中数据合并到文档中。
以上操作时通过循环遍历MergeFieldCollection中的字段,并替换字段的Text属性,代码如下:
(二)实现FORMTEXT类
FormText字段在MS Word中用来创建可填充的文档。在许多应用系统中,例如文档自动化,这些字段必须是完全自动可读的。ApplicationField对象就像是这些字段所有属性的一个容器。
为了与第一个例子有所区别,这个例子中为FormText字段实现了一个类型,该类型不是继承于TextField。在该示例中没有需要同步的集合类型,每次编辑一个FORMTEXT类型的ApplicationField,都会创建一个FormText对象:
ApplicationField的应用被存储在FormText实例中,与第一个例子类型,ApplicationField通过get或set访问与FormText属性相对应的Parameters。可以通过对话框来改变特定窗体文本字段的属性设置:
(三)创建、合并MS Word 模板
邮件合并是TX Text Control最典型的应用场景。将TX Text Control中与MS Word一致的字段功能与TX Text Control .NET Server的自动邮件合并组件相结合,可以构建出高性能的邮件合并应用系统。
TX Text Control不仅支持合并操作,而且提供了所见即所得的模板编辑器。
本示例工程主要演示TX Text Control的邮件合并能力,主要操作步骤如下:
• Database binding
• Adding fields
• Preview
• Export the merged document
该功能与MS Word 的邮件合并功能极为相似,而且还提供源码,完全支持用户自定义操作。下面讲解如何使用该示例。
1、 链接数据库
• 点击recipients按钮或者从Mail Merge菜单中选择Recipients菜单项。
• 在打开的对话框中,定位到address.xml文件,并打开该文件。
通过点击工具栏中的下拉框查看加载的数据表,如果该数据库包含多个数据表,你可以只选择你需要的数据表,然后合并字段将制动添加到Insert Field下拉按钮中。
2、插入合并字段
• 从下拉列表中选择一些字段插入到文档中,插入字段的位置就是当前输入光标的位置。
• 通过工具栏中的三个按钮来切换字段的显示方式:
• 字段编码:该视图显示字段的MS Word 字段编码
• 字段文本:该视图显示结果或者字段名称
• 预览:该视图显示字段数据库内容合并之后的结果
• 点击预览按钮,第二个数据库导航工具栏便可使用,你可以通过查看字段所对应数据库中的实际值。
3、导出文档
最后,点击导出按钮,开始数据合并操作。
这实际是打开一个新的窗体,窗体包括一个TX Text Control和一个简单的工具栏。通过DocumentServer.MailMerge组件在后台完成模板与数据库中数据合并的工作,这一个合并操作只需3行代码:
TX Text Control试用版下载
分享到:
相关推荐
TX Text Control 文字处理控件 21.0
TX Text Control ActiveX是一个字处理控件,能够读取,编写和创建行业标准的文档格式,如MS Word DOCX,DOC,RTF,HTML和XML,它还能够导出所有文档到打印就绪的Adobe PDF文档,而且不用第三方软件。TX Text Control...
TX TextControl文字处理控件X9产品白皮书,包括产品的特点、功能、版本、授权方式、技术服务、常见问题、典型用户等方面的信息,用户用户从整体上了解该产品。
TX Text Control.NET 14 破解版亲测可用
control could not be licensed:TXTextControl.TextControl 发布时:只需要将如下文件复制到应用程序目录即可。注意我的项目只用到rtf文档,如果是使用其它文件则复制相应的dll。 tx14.dll 核心组件dll tx14_tls.dll...
轻松集成MS Word编辑功能到您的应用程序。将不同的文档类型修改为标准化的样式,或将不同的文档类型合并为一个统一的文档。 文档打印 用于Windows窗体的TX Text Control . net用于在批处理过程中打印文档,或在...
TX Text Control.NET for Windows Forms 20.0 破解版。安装时请先阅读readme.txt文件,按照其说明安装即可破解
文档处理控件TX Text Control的优势详解
TX Text Control Express文字处理控件 17 0
TX Text Control 23.0 ActiveX.zip
TX Text Control .NET Server for ASP.NET X15 最新版下载。
TX Text Control X10新功能文档
TX Text Control .NET Enterprise TX Text Control .NET Enterprise
TX TextControl: ...实现Tx TextControl指定字段的可编辑性控制(其他字段均不可编辑——保持模版格式的不可随意编辑,确保模版格式的稳定); 实现图片的插入(可控制图片的大小、每行显示的个数);
TX Text Control.NET for Windows Forms 25.0 Express,官网的资源太难找了,下载一份方便大家。
TX Text Control ActiveX基于可信赖的及经过全面测试的技术,TX Text Control ActiveX 以简单的形式为开发人员提供高级文档处理功能。对于需要强大且灵活的文档处理能力的应用程序而言,是理想的选择。
TX.Text.Control.ActiveX
TX Text Control .NET Server for ASP.NET 24.0 中文语言包
TX Text Control操作模版 实现如下功能:(其中包含一些其他操作Tx Control的方法) 模版中包括某些特殊字符,需要特殊显示(加粗或其他颜色),对于哪些字符需要特殊显示需要可配置。 例如包括以下字符:癌、瘤、病...
1、RichTextBox置换 ...打印支持开箱,没有额外的分页代码是必需的。 3、可编程文本框和代码 4、正文页码自动根据当前页面的格式(包括多格式的部分)。 5、包含嵌套表,重复表格标题和表行卷帘控制页面之间。