iText - 如何在现有RTF文档上进行搜索/替换

时间:2009-01-28 15:04:02

标签: c# itext mailmerge

目前我正在开发一个简单的Mail-Merge模块。

我需要加载普通的* .RTF模板,然后替换[[field]]标签中包含的所有单词并将其打印出来。

我找到了免费的iText库,可以加载/保存pdfs和rtf。 我设法加载rtf,将一些副本合并到一个巨大的文档但我不知道如何用客户名称/地址等自定义数据替换[[field]]。

该功能是否存在,如果是 - 如何操作? 解决方案平台是c#/。NET

3 个答案:

答案 0 :(得分:0)

我认为pdf不是你想要的方式。

根据this article,这是极其困难的,在最坏的情况下是不可能的。

RTFLib之类的东西会更适合你吗?

G-曼

答案 1 :(得分:0)

最后我决定使用* .docx和“Open XML SDK 2.0 for Microsoft Office”.NET强类型包装。

答案 2 :(得分:0)

您可以使用RichTextBox控件来查找/替换占位符。

RichTextBox rtb = new RichTextBox(); 
rtb.LoadFile("template.rtf");
string placeHolder = "[[placeholder_name]]"; 
int pos = rtb.Find(placeHolder); 
rtb.Select(pos, placeHolder.Length);
rtb.SelectedText = "new value";

在此之后,您可以使用以下命令获取rtf格式的文本:

rtb.Rtf;