c# - 如何使用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 文件。
欢迎任何可能的答案。
解决方案
如果要将 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;
}
}
推荐阅读
- javascript - 我的“屏幕顶部”按钮脚本有问题
- swift - 如何在 swift 4 中拖动 UIImage
- java - 在没有广告的调试模式下运行 android studio 应用程序?
- laravel - axios post请求在服务器上返回状态301
- rust - 将“密钥存在”与“如果它的类型正确”结合起来的惯用方式解析 toml
- python - 将整数秒值转换为日期时间。Python
- android - 资源确实存在,但 Resources$NotFoundException 导致 InflateException
- flutter - 高尔夫应用程序获得高尔夫球场和发球台的平均分数
- css - 从自定义链接 onhover 中删除下划线
- python - BeautifulSoup 从一个标签中获取文本,但忽略另一个标签中的文本