Click or drag to resize

HtmlSaveOptions Class

Represents a base class for saving options to HyperText Markup Language (HTML) format.
Inheritance Hierarchy
SystemObject
  SautinSoft.DocumentSaveOptions
    SautinSoft.DocumentHtmlSaveOptions
      SautinSoft.DocumentHtmlFixedSaveOptions
      SautinSoft.DocumentHtmlFlowingSaveOptions

Namespace: SautinSoft.Document
Assembly: SautinSoft.Document (in SautinSoft.Document.dll) Version: 2024.11.20
Syntax
public abstract class HtmlSaveOptions : SaveOptions

The HtmlSaveOptions type exposes the following members.

Properties
 NameDescription
Public propertyContentType Gets the content-type for HTML file format.
(Overrides SaveOptionsContentType)
Public propertyCssColorType Specifies how to write colors in CSS, for example: '#rrggbb;' or 'rgba(...);'. Default value: RgbHex
Public propertyCode exampleCssExportMode Specifies how CSS (Cascading Style Sheet) styles are exported to HTML or MHTML. Default value is Inline.
Public propertyCssFileName Specifies the path and the name of the Cascading Style Sheet (CSS) file written when a document is exported to HTML. Default is an empty string.
Public propertyCssStream Allows to specify the stream where the CSS information will be saved to.
Public propertyEmbeddedImageFormat Gets and sets the format to embed images in the saving document. Default value: Auto.
Public propertyEmbeddedJpegQuality Gets and sets the value value indicating Jpeg quality level. Affects only to the images which embedded in Jpeg format. Default value: 90.
Public propertyEmbedImages Gets or sets a value indicating whether images are embedded directly within the HTML file in form of Base64 encoding.
Public propertyEncoding Gets or sets the encoding for the HTML file.
Public propertyImageSavingCallback Allows to control how images are saved when a document is saved to HTML.
Public propertyImagesDirectoryPath Gets or sets the physical directory where all images will be saved.
Public propertyImagesDirectorySrcPath Gets or sets the relative directory that will be used when referencing images in the HTML.
Public propertyKeepCssStreamOpen Specifies whether keep the stream open or close it after saving an CSS information.
Public propertyMeasurementUnits Gets and sets the measurement units which will be used in the whole HTML document. Supported values: pt, px, pc, mm and cm. Default: pt.
Public propertyProduceOnlyHtmlBody Gets or sets a value to produce a complete HTML document or only between between <body>...</body> tags. Default value: false.
Public propertySingleFontColor Sets or gets a single font color for a whole text in the produced HTML document. Default value: null.
Public propertySingleFontFamily Sets or gets a single font family for a whole text in the HTML document. Default value: Empty.
Public propertySingleFontSize Sets or gets a single font size in points (pt) for a whole text in the produced HTML document. Default value: null.
Public propertyTitle Gets and sets a title for the generated HTML document. If none is provided, it tries to find an embedded 'title' from the original document. None are found, so it writes "Untitled document". Default: null.
Public propertyUseNumericCharacterReference In case of 'true': Write the all characters in "NCR" notation: &#xxx;. In case of 'false': Write the all characters as Unicode (recommended). Default value: false.
Public propertyCode exampleVersion Specifies version of HTML standard that should be used when saving the document to HTML or MHTML. Default value is Xhtml.
Top
Example

See Developer Guide: Save document as HTML (in the Fixed and Flowing modes)

Save document as HTML (in the Fixed and Flowing modes) using C#
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
            }
        }
    }
}
Save document as HTML (in the Fixed and Flowing modes) using VB.Net
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
See Also