Convert RTF string to HTML string in C# and .NET


Complete code

using System;
using System.IO;
using System.Text;

namespace Sample
{
    class sample
    {
        static void Main(string[] args)
        {
            // Read our RTF file a string.
            string inpFile = @"..\..\example.rtf";
            string rtfString = File.ReadAllText(inpFile);

            // We'll use the file only for the demonstration.
            string outFile = @"Result.html";
            string htmlString = String.Empty;

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

            // Specify some properties for output HTML document.
            r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.HTML_5;
            r.Encoding = SautinSoft.RtfToHtml.eEncoding.UTF_8;

            // Imagefolder must already exist.
            r.ImageStyle.ImageFolder = System.Environment.CurrentDirectory;

            // Subfolder for images will be created by the component.
            r.ImageStyle.ImageSubFolder = "image.files";

            // A template name for images.
            r.ImageStyle.ImageFileName = "picture";

            // false - store images as files on HDD,
            // true - store images inside HTML document using base64.
            r.ImageStyle.IncludeImageInHtml = false;

            try
            {
                r.OpenRtf(rtfString);

                // Here we've got the HTML document as string.
                r.ToHtml(out htmlString);

                // Save our HTML into file and open it for the demonstration purposes.
                File.WriteAllText(outFile, htmlString);
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile)
                { UseShellExecute = true });
            }
            catch (Exception e)
            {
                Console.WriteLine($"Error: {e.Message}");
                Console.WriteLine("Press any key ...");
                Console.ReadKey();
            }
        }
    }
}

Download

Imports System
Imports System.IO
Imports System.Text

Namespace Sample
	Friend Class sample
		Shared Sub Main(ByVal args() As String)
			' Read our RTF file a string.
			Dim inpFile As String = "..\..\example.rtf"
			Dim rtfString As String = File.ReadAllText(inpFile)

			' We'll use the file only for the demonstration.
			Dim outFile As String = "Result.html"
			Dim htmlString As String = String.Empty

			Dim r As New SautinSoft.RtfToHtml()

			' Specify some properties for output HTML document.
			r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.HTML_5
			r.Encoding = SautinSoft.RtfToHtml.eEncoding.UTF_8

			' Imagefolder must already exist.
			r.ImageStyle.ImageFolder = Environment.CurrentDirectory

			' Subfolder for images will be created by the component.
			r.ImageStyle.ImageSubFolder = "image.files"

			' A template name for images.
			r.ImageStyle.ImageFileName = "picture"

			' false - store images as files on HDD,
			' true - store images inside HTML document using base64.
			r.ImageStyle.IncludeImageInHtml = False

			Try
				r.OpenRtf(rtfString)

				' Here we've got the HTML document as string.
				r.ToHtml(htmlString, Nothing)

				' Save our HTML into file and open it for the demonstration purposes.
				File.WriteAllText(outFile, htmlString)
				System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
			Catch e As Exception
				Console.WriteLine($"Error: {e.Message}")
				Console.WriteLine("Press any key ...")
				Console.ReadKey()
			End Try
		End Sub
	End Class
End Namespace

Download

If you are looking also for a .Net solution to Create or Modify HTML documents, see our Document .Net.


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:



Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.