Convert DOCX to HTML using MemoryStream in C# and VB.Net

Convert DOCX to HTML using MemoryStream
in C# and VB.Net.


Complete code

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

namespace Sample
{
    class sample
    {
        static void Main(string[] args)
        {
            // We'll use the files only for the demonstration, 
            // the whole conversion will be done using MemoryStream.
            string inpFile = @"..\..\example.docx";
            string outFile = @"Result.html";

            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
            {
                using (FileStream docxFileStream = new FileStream(inpFile, FileMode.Open))
                {
                    r.OpenDocx(docxFileStream);
                    using (MemoryStream htmlMemoryStream = new MemoryStream())
                    {
                        // Here we've got the HTML document as an array of bytes.
                        r.ToHtml(htmlMemoryStream);

                        // Save our HTML into file and open it for the demonstration purposes.
                        File.WriteAllBytes(outFile, htmlMemoryStream.ToArray());
                        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)
			' We'll use the files only for the demonstration, 
			' the whole conversion will be done using MemoryStream.
			Dim inpFile As String = "..\..\example.docx"
			Dim outFile As String = "Result.html"

			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
				Using docxFileStream As New FileStream(inpFile, FileMode.Open)
					r.OpenDocx(docxFileStream)
					Using htmlMemoryStream As New MemoryStream()
						' Here we've got the HTML document as an array of bytes.
						r.ToHtml(htmlMemoryStream)

						' Save our HTML into file and open it for the demonstration purposes.
						File.WriteAllBytes(outFile, htmlMemoryStream.ToArray())
						System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})

					End Using
				End Using
			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.