在C#中将RichTextFormat信息转换为HTML的最佳解决方案是什么?

时间:2009-02-06 00:32:59

标签: c# html rtf

在C#中将RichTextFormat信息转换为HTML的最佳解决方案是什么?

我知道有些图书馆可以做到这一点,我很想知道你们是否有任何建议,哪些是更好的。

谢谢, 杰夫

3 个答案:

答案 0 :(得分:2)

我最近使用RTF到HTML conRTverter,效果很好,称为DocFrac。

它可以与GUI一起使用来转换文件,但它也是一个DLL。

我在几分钟内将400多个RTF文件转换为HTML,因此性能也很好。我使用了GUI,因此我没有关于DLL的详细信息。根据该站点,DLL可以与.NET一起使用。

DocFrac at SourceForge

更新:固定链接,因为www.docfrac.net不再存在。

答案 1 :(得分:1)

尝试将此库RTF用于HTML .Net。它支持RTF到HTML和文本到HTML转换方式。完整版不是免费的,但有免费试用。

此代码可能很有用:

        SautinSoft.RtfToHtml r = new SautinSoft.RtfToHtml();

        //specify some options
        r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.XHTML_10;
        r.Encoding = SautinSoft.RtfToHtml.eEncoding.UTF_8;

        string rtfFile = @"d:\test.rtf";
        string htmlFile = @"d:\test.html";
        string rtfString = null;
        ReadFromFile(rtfFile,ref rtfString);

        int i = r.ConvertStringToFile(rtfString,htmlFile);
        if (i == 0)
        {
            System.Console.WriteLine("Converted successfully!");
            System.Diagnostics.Process.Start(htmlFile);
        }
        else
            System.Console.WriteLine("Converting Error!");
    }

    public static int ReadFromFile(string fileName,ref string fileStr)
    {
        try
        {
            FileInfo fi = new FileInfo(fileName);
            StreamReader strmRead = fi.OpenText();
            fileStr = strmRead.ReadToEnd();
            strmRead.Close();
            return 0;
        }
        catch 
        {
            //error open file
            System.Console.WriteLine("Error in open file");
            return 1;
        }
    }

答案 2 :(得分:0)

ScroogeXHTML,一个用于RTF到HTML / XHTML转换的小型库,可能很有用。但是它仅支持RTF标准的子集。对于包含表格和其他高级布局的报表,还有其他库,如Logictran R2Net转换器。