2014-06-18 139 views
2

我们有一个MVC应用程序,其基于模板(它本身的RTF文件)RTF文件的RTF文件。添加页眉和页脚使用C#

我的同事写的代码使用System.Windows.Forms.RichTextBox将文本转换为RTF文件(更加激动人心,它使用RichTextBoxRtf属性)。我正在考虑为模板RTF文件添加页眉和页脚,但似乎删除RichTextBox。另外,我们生成的一些文档由多个模板组成(通常多个模板不等于一个页面,一个模板可以在另一个模板的中间注入),这就是为什么包含头文件和模板中的页脚不起作用。

有什么办法可以将C#中的页眉和页脚添加到以上述方式创建的RTF文档中?

我试着从互联网上钓鱼的东西,但我没有找到具体的东西。

回答

2

我正在寻找为可能会解决我的问题库,而我碰到这个人来: .NET RTF Writer Library in C#

库本身并不完全解决它自己我的问题,而是由它生成的文件容易阅读和没有所有的废话Word将投入他们。该库的演示生成一个包含页眉和页脚的文档。这两个看起来或多或少像这样的代码:

{\header 

{\pard\fi0\qd 
This is a header 
\par} 

} 

{\footer 

{\pard\fi0\qc 
{\fs30 
This is a footer 
}\par} 

} 

我还需要弄清楚如何在这里应用正确格式化,但应该是比较容易找到。所以,我可以通过将上面的代码注入由RichTextBox生成的RTF代码来解决我最初的问题。我不知道,如果这两个标签问题的立场,但我想我会发现,出来很快...


下面是我用注入页眉和页脚代码:

public string AddHeaderAndFooter(string rtf) 
{ 
    // Open file that stores header and footer 
    string headerCode = System.IO.File.ReadAllText(Server.MapPath("~/DocTemplates/header.txt")); 
    // Inject header and footer code before the last "}" character 
    return rtf.Insert(rtf.LastIndexOf('}') - 1, headerCode); 
} 

请注意我的页眉和页脚处于静态txt文件中,因为它实际上包含RTF可读格式的图像,并且该图像太大而无法放入代码。我没有注意到与RTF文件末尾定义的页眉和页脚有关的任何问题。