// The file format will be detected automatically from the file extension: ".html".
dc.Save(@"d:\Book.html");
To not rely on the file extension and guarantee that the file contents is really HTML, you may specify HtmlFixedSaveOptions or HtmlFlowingSaveOptions as 2nd parameter.
dc.Save(@"d:\Book.html", new HtmlFixedSaveOptions());
In HtmlFixedSaveOptions or HtmlFlowingSaveOptions you can also set various options which affects to the saving process.
In HTML fixed mode the component renders HTML markup using absolutely positioned elements.
In HTML flowing mode the component renders HTML as a flow document without any absolute positioning.
dc.Save(@"d:\Book.html", new HtmlFixedSaveOptions()
{
Version = HtmlVersion.Html5,
CssExportMode = CssExportMode.Inline
});
// Let's save our document to a MemoryStream.
using (MemoryStream ms = new MemoryStream())
{
// HTML Fixed.
dc.Save(ms, new HtmlFixedSaveOptions());
// Or HTML flowing.
dc.Save(ms, new HtmlFlowingSaveOptions());
}
Complete code
using System.IO;
using SautinSoft.Document;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Get your free 100-day key here:
// https://sautinsoft.com/start-for-free/
SaveToHtmlFile();
SaveToHtmlStream();
}
/// <summary>
/// Open an existing document and saves it as HTML files (in the Fixed and Flowing modes).
/// </summary>
/// <remarks>
/// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-html-net-csharp-vb.php
/// </remarks>
static void SaveToHtmlFile()
{
string inputFile = @"..\..\..\example.docx";
DocumentCore dc = DocumentCore.Load(inputFile);
string fileHtmlFixed = @"Fixed-as-file.html";
string fileHtmlFlowing = @"Flowing-as-file.html";
// Save to HTML file: HtmlFixed.
dc.Save(fileHtmlFixed, new HtmlFixedSaveOptions()
{
Version = HtmlVersion.Html5,
CssExportMode = CssExportMode.Inline
});
// Save to HTML file: HtmlFlowing.
dc.Save(fileHtmlFlowing, new HtmlFlowingSaveOptions()
{
Version = HtmlVersion.Html5,
CssExportMode = CssExportMode.Inline,
ListExportMode = HtmlListExportMode.ByHtmlTags
});
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
// Open the results for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(fileHtmlFixed) { UseShellExecute = true });
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(fileHtmlFlowing) { UseShellExecute = true });
}
/// <summary>
/// Creates a new document and saves it as HTML documents (in the Fixed and Flowing modes) using MemoryStream.
/// </summary>
/// <remarks>
/// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-html-net-csharp-vb.php
/// </remarks>
static void SaveToHtmlStream()
{
// There variables are necessary only for demonstration purposes.
byte[] fileData = null;
string fileHtmlFixed = @"Fixed-as-stream.html";
string fileHtmlFlowing = @"Flowing-as-stream.html";
// Assume we already have a document 'dc'.
DocumentCore dc = new DocumentCore();
dc.Content.End.Insert("Hey Guys and Girls!");
// Let's save our document to a MemoryStream.
using (MemoryStream ms = new MemoryStream())
{
// HTML Fixed.
dc.Save(ms, new HtmlFixedSaveOptions());
fileData = ms.ToArray();
File.WriteAllBytes(fileHtmlFixed, fileData);
// Or HTML flowing.
dc.Save(ms, new HtmlFlowingSaveOptions());
fileData = ms.ToArray();
File.WriteAllBytes(fileHtmlFlowing, fileData);
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
}
}
}
}
Imports System
Imports System.IO
Imports SautinSoft.Document
Module Sample
Sub Main()
SaveToHtmlFile()
SaveToHtmlStream()
End Sub
''' Get your free 100-day key here:
''' https://sautinsoft.com/start-for-free/
''' <summary>
''' Open an existing document and saves it as HTML files (in the Fixed and Flowing modes).
''' </summary>
''' <remarks>
''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-html-net-csharp-vb.php
''' </remarks>
Sub SaveToHtmlFile()
Dim inputFile As String = "..\..\..\example.docx"
Dim dc As DocumentCore = DocumentCore.Load(inputFile)
Dim fileHtmlFixed As String = "Fixed-as-file.html"
Dim fileHtmlFlowing As String = "Flowing-as-file.html"
' Save to HTML file: HtmlFixed.
dc.Save(fileHtmlFixed, New HtmlFixedSaveOptions() With {
.Version = HtmlVersion.Html5,
.CssExportMode = CssExportMode.Inline
})
' Save to HTML file: HtmlFlowing.
dc.Save(fileHtmlFlowing, New HtmlFlowingSaveOptions() With {
.Version = HtmlVersion.Html5,
.CssExportMode = CssExportMode.Inline,
.ListExportMode = HtmlListExportMode.ByHtmlTags
})
' Open the results for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(fileHtmlFixed) With {.UseShellExecute = True})
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(fileHtmlFlowing) With {.UseShellExecute = True})
End Sub
''' <summary>
''' Creates a new document and saves it as HTML documents (in the Fixed and Flowing modes) using MemoryStream.
''' </summary>
''' <remarks>
''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-html-net-csharp-vb.php
''' </remarks>
Sub SaveToHtmlStream()
' There variables are necessary only for demonstration purposes.
Dim fileData() As Byte = Nothing
Dim fileHtmlFixed As String = "Fixed-as-stream.html"
Dim fileHtmlFlowing As String = "Flowing-as-stream.html"
' Assume we already have a document 'dc'.
Dim dc As New DocumentCore()
dc.Content.End.Insert("Hey Guys and Girls!")
' Let's save our document to a MemoryStream.
Using ms As New MemoryStream()
' HTML Fixed.
dc.Save(ms, New HtmlFixedSaveOptions())
fileData = ms.ToArray()
File.WriteAllBytes(fileHtmlFixed, fileData)
' Or HTML flowing.
dc.Save(ms, New HtmlFlowingSaveOptions())
fileData = ms.ToArray()
File.WriteAllBytes(fileHtmlFlowing, fileData)
End Using
End Sub
End Module
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: