如何使用c#

时间:2018-10-15 11:03:28

标签: c# .net azure-functions

我的需要: 我需要打开RTF文件并读取RTF文件中的内容,并将其存储在字符串变量中。

我做了什么: 我已经使用“ microsoft.office.interop.word.dll ”即文档完成了它。打开(字符串文件名);

但是我最后的需要是: 我需要使用其他方式打开它以读取RTF文件。这是因为在AzureFunction中(不支持microsoft.office.interop.word.dll),即无法在服务器中安装word。

OpenXML- 用于打开word,excel,powerpoint文件。它无法打开RTF文件。

欢迎任何可能的答案。

1 个答案:

答案 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;
    }
}