Convert RTF to HTML using bytes array in C# and VB.Net

Convert RTF to HTML using bytes array
in C# and VB.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 bytes array.
            string inpFile = @"..\..\example.rtf";
            byte [] rtfBytes = File.ReadAllBytes(inpFile);

            // We'll use the file only for the demonstration.
            string outFile = @"Result.html";
            byte [] htmlBytes = null;

            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(rtfBytes);

                // Here we've got the HTML document as an array of bytes.
                htmlBytes = r.ToHtml();

                // Save our HTML into file and open it for the demonstration purposes.
                File.WriteAllBytes(outFile, htmlBytes);
                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 bytes array.
			Dim inpFile As String = "..\..\example.rtf"
			Dim rtfBytes() As Byte = File.ReadAllBytes(inpFile)

			' We'll use the file only for the demonstration.
			Dim outFile As String = "Result.html"
			Dim htmlBytes() As Byte = Nothing

			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(rtfBytes)

				' Here we've got the HTML document as an array of bytes.
				htmlBytes = r.ToHtml()

				' Save our HTML into file and open it for the demonstration purposes.
				File.WriteAllBytes(outFile, htmlBytes)
				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.