将RTF转换为.NET中的HTML

问题描述 投票:2回答:4

我设法使用WebBrowserRichTextBox进行相反的操作。

但是我如何将RTF转换为HTML?

.net html rtf
4个回答
2
投票

免责声明:我正在为这家公司工作。

正如我所看到的,这个问题很旧,但也许有人也为此寻找了解决方案。我们的RTF到HTML组件允许将RTF转换为HTML。您可以下载组件或尝试在线演示。如有疑问,请先尝试试用版。 :)免费试用。

这是在ASP.NET中从RTF转换为HTML的代码示例:

    SautinSoft.RtfToHtml r = new SautinSoft.RtfToHtml();
    r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.HTML_401;
    r.ImageStyle.IncludeImageInHtml = false; //To save images inside HTML as binary data specify this property to 'true'

    r.ImageStyle.ImageFolder = Server.MapPath(""); 
    r.ImageStyle.ImageSubFolder = "images";
    r.ImageStyle.ImageFileName = "picture";       

    string rtf = ".....";
    string html = r.ConvertString(rtf);        

    //show HTML
    if (html.Length>0)
    {
        Response.Buffer = true;
        Response.Clear();
        Response.ContentType = "text/html";
        Response.Write(html);
        Response.Flush();
        Response.End();
    }

1
投票

如果弹出NuGet并搜索“ RTF”,则目前最受欢迎的结果看起来像RtfPipe;您可以在此处安装它,也可以通过软件包管理器控制台通过以下方法安装:

Install-Package RtfPipe

然后在您的C#中,您可以轻松地将RTF超级转换为HTML:

var html = RtfPipe.Rtf.ToHtml(rtf);

根据their GitHub page上的readme.md:

此库试图支持RTF规范1.9.1中记录的核心RTF功能。这些功能包括:

  • 字符格式(粗体,斜体,颜色等)
  • 表(包括嵌套表)
  • 列表
  • 超链接
  • 图片
  • 标题级别
  • HTML封装(例如,由Outlook执行)

话虽如此,非平凡的文档在很多情况下,与其他RTF阅读器(例如MS Word)相比,该库将无法产生“正确的”视觉表示。

我通过管道将RTF插入其中,并且效果惊人。 YYMV。


-1
投票

唯一的问题是,当您按预算进行工作时,额外的成本意味着利润会降低,因此我开始开发自己的版本。主要的问题是,目前它仅支持BoldItalic以及某些实体(&amp,&copy,&reg,&trade,&euro和&###),并且不支持字体和颜色,但它仍在进行中。我要添加字体和颜色,但我头疼的是它们可能来自样式表,而不是老式的html标签。

我正在VB.NET中编写此文件,并将启动代码发布在CodeProject上

Startup Code


-2
投票

如果要以编程方式执行此操作,则应解析rtf(基于文本的简单文件),将rtf控制字转换为html标签。

在这里您可以找到rtf规格http://www.biblioscape.com/rtf15_spec.htm

或使用现有的转换器:http://sourceforge.net/projects/rtf2html-lite/

© www.soinside.com 2019 - 2024. All rights reserved.