You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何将RTF格式以及Word提取的文本转换为可读字符串

C# RTF编码转纯文本实现方案

实现思路

不用手动解析RTF语法规则,直接用成熟的RTF解析组件处理,兼容绝大多数标准RTF格式,代码量小且稳定性高。

方案1:基于RichTextBox实现(无需第三方依赖)

利用.NET框架自带的System.Windows.Forms.RichTextBox控件的RTF解析能力,后台调用不会弹出UI窗口,适合WinForm项目,非WinForm项目引用System.Windows.Forms程序集即可使用。

代码示例

/// <summary>
/// RTF编码内容转纯文本
/// </summary>
/// <param name="inputContent">输入的原始内容,可能包含普通文本或RTF编码</param>
/// <returns>解析后的可读纯文本</returns>
public string ConvertRtfToText(string inputContent)
{
    // 空内容直接返回
    if (string.IsNullOrWhiteSpace(inputContent))
        return string.Empty;
    
    // 非RTF格式内容直接返回原内容
    var trimmedContent = inputContent.TrimStart();
    if (!trimmedContent.StartsWith("{\\rtf"))
        return inputContent.Trim();

    using (var richTextBox = new RichTextBox())
    {
        try
        {
            richTextBox.Rtf = inputContent;
            // 可根据业务需求调整换行、空白处理逻辑,不需要直接返回richTextBox.Text即可
            return richTextBox.Text
                .Replace("\r\n", "\n")
                .Trim();
        }
        catch (ArgumentException)
        {
            // RTF格式非法时返回原内容
            return inputContent.Trim();
        }
    }
}

方案2:轻量无UI依赖方案(基于RtfPipe)

如果不想引用WinForms程序集,可以用开源的RTF解析库RtfPipe,适合控制台、ASP.NET Core等非UI项目。

操作步骤

  1. 安装NuGet包:Install-Package RtfPipe
  2. 调用代码示例:
using RtfPipe;

public string ConvertRtfToText(string inputContent)
{
    if (string.IsNullOrWhiteSpace(inputContent))
        return string.Empty;
    
    var trimmedContent = inputContent.TrimStart();
    if (!trimmedContent.StartsWith("{\\rtf"))
        return inputContent.Trim();

    try
    {
        return Rtf.ToText(inputContent).Trim();
    }
    catch
    {
        return inputContent.Trim();
    }
}

效果说明

你提供的示例RTF内容经过上述方法解析后,输出的纯文本如下:

8APE100L-4K-IE3
2,2 KW, 4-polig, 230/400V, 50Hz, B5/A250, IP55

Neutrales Zusatztypenschild mit folgenden Angaben:
2,2 kW, 400-440V/Y, 50 Hz, 1465min-1
2,2 kW, 400-440V/Y, 60 Hz, 1760min-1
你可以根据业务需求额外添加连续空白合并、多余空行删除的逻辑适配自己的使用场景。

内容的提问来源于stack exchange,提问作者Skander Chouba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:18:00