C#/VB.NET 将RTF转为HTML

RTF文档即富文本格式(Rich Text Format)的文档。我们在处理文件时,遇到需要对文档格式进行转换时,可以将RTF转为其他格式,如转为DOCX/DOC、PDF或者HTML,以满足程序设计需要。网上有开发者提供了可实现RTF转为HTML格式的方法,但是方法可能不一定适用于所有程序,比如可能出现乱码、文字错位、重叠等现象。本文提供另外一种可实现转换的方法。经过测试,转换后的字体、文档排版等效果都还不错。而且仅仅需要三行代码就可以转换。下面,是详细方法及步骤。

一、引入类库工具

本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用 Spire.Doc.dll文件:

方法1:将 Free Spire.Doc for .NET下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的 Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2:通过 NuGet 安装。可通过以下2种方法安装:

(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

(2)将以下内容复制到PM控制台安装。

Install-Package FreeSpire.Doc -Version 10.2.0

二、RTF转HTML

转换时,通过以下三行代码步骤即可:

  • 创建Document类的对象。
  • 调用Document.LoadFromFile(string fileName)方法加载RTF文档。
  • 通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存为HTML格式的文件到指定路径。

完整代码如下:

C#

using Spire.Doc;

namespace RTFtoHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Document类的对象
            Document document = new Document();

            //加载RTF文档
            document.LoadFromFile("sample.rtf");

            //保存为HTML文件
            document.SaveToFile("RTFtoHTML.html", FileFormat.Html);
        }
    }
}

vb.net

Imports Spire.Doc

Namespace RTFtoHTML
    Class Program
        Private Shared Sub Main(args As String())
            '创建Document类的对象
            Dim document As New Document()

            '加载RTF文档
            document.LoadFromFile("sample.rtf")

            '保存为HTML文件
            document.SaveToFile("RTFtoHTML.html", FileFormat.Html)
        End Sub
    End Class
End Namespace

转换效果

转换前:

转换后:

 

注:

  •  测试代码中的文件路径为程序debug路径,文件路径可自定义为其他路径。
  •  本次测试使用免费版,该库可免费商用。

 

—END—

 

posted @ 2022-04-15 09:55  E-iceblue  阅读(565)  评论(0编辑  收藏  举报