我的需要: 我需要打开RTF文件并读取RTF文件中的内容,并将其存储在字符串变量中。
我做了什么: 我已经使用“ microsoft.office.interop.word.dll ”即文档完成了它。打开(字符串文件名);
但是我最后的需要是: 我需要使用其他方式打开它以读取RTF文件。这是因为在AzureFunction中(不支持microsoft.office.interop.word.dll),即无法在服务器中安装word。
OpenXML- 用于打开word,excel,powerpoint文件。它无法打开RTF文件。
欢迎任何可能的答案。
答案 0 :(得分:2)
如果要将RTF文件转换为纯文本,仅保留 文本,并丢失所有格式和其他非文本元素(例如位图),则可以使用System.Windows.Forms.RichTextBox
请注意,您不需要不需要具有用户界面的应用程序;例如,您可以在服务中使用RichTextBox
-但您需要引用System.Windows.Forms.dll
。
从RTF文件转换为纯文本字符串的代码如下所示:
using System.Windows.Forms;
public static string RtfFileAsPlainText(string rtfPathName)
{
using (var rtf = new RichTextBox())
{
rtf.Rtf = File.ReadAllText(rtfPathName);
return rtf.Text;
}
}