gpt4 book ai didi

c# - 使用 C# 将页眉和页脚添加到 RTF 文件

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:46 24 4
gpt4 key购买 nike

我们有一个 MVC 应用程序,它根据模板(它们本身就是 RTF 文件)输出 RTF 文件。

我同事写的代码使用 System.Windows.Forms.RichTextBox 将文本转换为 RTF 文件(更确切地说,它使用了 Rtf 属性>富文本框)。我正在考虑将页眉和页脚添加到模板 RTF 文件中,但 RichTextBox 似乎删除了它们。此外,我们生成的一些文档由多个模板组成(通常情况下,单个模板不等于单个页面,一个模板可以插入到另一个模板的中间),所以这也是为什么要包含标题和模板中的页脚将不起作用。

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

我尝试从互联网上搜索有关该主题的内容,但找不到任何具体内容。

最佳答案

我正在寻找一个可能解决我的问题的图书馆,我遇到了这个: .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}

}

我仍然需要弄清楚如何在此处应用正确的格式,但这应该相对容易找到。因此,我可以通过将上面的代码注入(inject) RichTextBox 生成的 RTF 代码来解决我最初的问题。我不确定这两个标签的位置是否重要,但我想我很快就会发现...


这是我用来注入(inject)页眉和页脚的代码:

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 文件末尾相关的问题。

关于c# - 使用 C# 将页眉和页脚添加到 RTF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com