iText - 如何搜索/替换现有的RTF文档

问题描述:

目前我正在研究一个简单的邮件合并模块。iText - 如何搜索/替换现有的RTF文档

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

我发现iText库是免费的,并且能够加载/保存pdf和rtf。 我设法加载rtf,将几个副本合并到一个巨大的文档中,但我不知道如何用客户名称/地址等自定义数据替换[[field]]。

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

最后我决定用* .DOCX和 “微软的Office Open XML SDK 2.0”。NET强类型的包装。

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

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

会像RTFLib更适合你吗?

G-人

您可以使用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;