首页 > 解决方案 > 如何使用c#打开和读取“.RTF”文件的内容

问题描述

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

我做了什么:我使用“ microsoft.office.interop.word.dll ”完成了它,即.. Docment.open(String Filename);

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

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

欢迎任何可能的答案。

标签: c#.netazure-functions

解决方案


如果要将 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;
    }
}

推荐阅读