将Word文档转换为HTML格式尤其具有显著的优势,它不仅能够确保文档内容在多种设备和平台上保持一致灵活的显示,还便于通过网络进行传播和集成到各种Web应用中。随着越来越多的企业和开发者寻求更灵活、更具兼容性的文件处理方式,.NET框架下的C#语言凭借其强大的互操作性支持成为了实现这一转换的理想选择。本文将介绍如何在.NET平台使用C#将Word文档转换为HTML文件

  • 用C#将Word文档转换为一般HTML格式
  • 用C#将Word文档转换为单个HTML文件
  • 转换时自定义转换选项

本文所使用的方法需要用到免费的Free Spire.Doc for .NET,NuGet:PM> Install-Package FreeSpire.Doc

用C#将Word文档转换为一般HTML格式

我们可以使用Document.LoadFromFile方法载入Word文档,然后直接使用SaveToFile(string:fileName, FileFormat.HTML)方法将其转换为HTML格式并保存。这样转换出的结果会包含HTML文件、CSS文件以及图片文件夹(如果Word文档中有图片)。以下是操作步骤示例:

  1. 导入所需模块。
  2. 创建Document实例。
  3. 使用Document.LoadFromFile()方法载入Word文档。
  4. 使用Document.SaveToFile(string:fileName, FileFormat.HTML)方法将其转换为HTML格式并保存。

代码示例

using Spire.Doc;

namespace WordToHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Document实例
            using (Document doc = new Document())
            {

                // 载入Word文档
                doc.LoadFromFile("Sample.docx");

                // 将其转换为HTML并保存
                doc.SaveToFile("output/WordToHTML.html", FileFormat.Html);
            }
        }
    }
}

结果
C# Word转HTML

用C#将Word文档转换为单个HTML文件

通过配置Document.HtmlExportOptions.CssStyleSheetType属性和Document.HtmlExportOptions.ImageEmbedded属性,我们可以设置将CSS和图像嵌入到单个HTML文件中。以下是操作步骤示例:

  1. 导入所需模块。
  2. 创建Document实例。
  3. 使用Document.LoadFromFile()方法载入Word文档。
  4. Document.HtmlExportOptions.CssStyleSheetType属性设置为CssStyleSheetType.Internal,嵌入CSS样式到生成的HTML文件中。
  5. Document.HtmlExportOptions.ImageEmbedded属性设置为true,嵌入图像到生成的HTML文件中。
  6. 使用Document.SaveToFile(string:fileName, FileFormat.HTML)方法将其转换为HTML格式并保存。

代码示例

using Spire.Doc;

namespace WordToHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Document实例
            using (Document doc = new Document())
            {

                // 载入Word文档
                doc.LoadFromFile("Sample.docx");

                // 设置嵌入CSS
                doc.HtmlExportOptions.CssStyleSheetType = CssStyleSheetType.Internal;

                // 设置嵌入图像
                doc.HtmlExportOptions.ImageEmbedded = true;

                // 将其转换为HTML并保存
                doc.SaveToFile("output/WordToHTMLEmbedded.html", FileFormat.Html);
            }
        }
    }
}

结果

转换时自定义转换选项

我们还可以通过Document.HtmlExportOptions属性自定义其他转换选项,以下是支持的选项信息:

属性描述
CssStyleSheetType指定 HTML CSS 样式表的类型(外部或内部)。
CssStyleSheetFileName指定 HTML CSS 样式表文件的名称。
ImageEmbedded指定是否使用数据 URI 方案将图像嵌入到 HTML 代码中。
ImagesPath指定导出 HTML 中图像的文件夹路径。
UseSaveFileRelativePath指定图像文件路径是否相对于 HTML 文件路径。
HasHeadersFooters指定是否应在导出的 HTML 中包含页眉和页脚。
IsTextInputFormFieldAsText指定是否将文本输入表单字段以文本形式导出到 HTML 中。
IsExportDocumentStyles指定是否将文档样式导出到 HTML 的 <head> 部分。

以下是操作步骤示例:

    1. 导入所需模块。
  1. 创建Document实例。
  2. 使用Document.LoadFromFile()方法载入Word文档。
  3. 使用Document..HtmlExportOptions中的属性自定义转换选项。
  4. 使用Document.SaveToFile(string:fileName, FileFormat.HTML)方法将其转换为HTML格式并保存。

代码示例

using Spire.Doc;

namespace WordToHTML
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Document实例
            using (Document doc = new Document())
            {

                // 载入Word文档
                doc.LoadFromFile("Sample.docx");

                // 设置CSS文件名
                doc.HtmlExportOptions.CssStyleSheetType = CssStyleSheetType.External;
                doc.HtmlExportOptions.CssStyleSheetFileName = "CustomCSSFileName.css";

                // 设置不嵌入图像,并设置图像文件夹
                doc.HtmlExportOptions.ImageEmbedded = false;
                doc.HtmlExportOptions.UseSaveFileRelativePath = true;
                doc.HtmlExportOptions.ImagesPath = "Images/";

                // 设置导出文档样式到head部分
                doc.HtmlExportOptions.IsExportDocumentStyles = true;

                // 将其转换为HTML并保存
                doc.SaveToFile("output/WordToHTMLEmbedded.html", FileFormat.Html);
            }
        }
    }
}

结果


文中用到的示例Word文档:
C#将Word文档转换为HTML格式

本文演示了如何在.NET中用C#转换Word文档为HTML格式,并设置转换选项。


大丸子
12 声望3 粉丝