在.NET用C#将Word文档转换为HTML格式

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

代码示例

csharp 复制代码
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文件

通过配置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格式并保存。

代码示例

csharp 复制代码
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格式并保存。

代码示例

csharp 复制代码
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文档:

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

相关推荐
码云骑士5 分钟前
03-Python可变对象与不可变对象(下)-深浅拷贝的底层真相
开发语言·python
sycmancia8 分钟前
Qt——自定义模型类
开发语言·qt
MATLAB代码顾问13 分钟前
Python数据分析项目实战:销售数据仪表盘
开发语言·python·数据分析
码云骑士14 分钟前
07-Python装饰器从入门到源码(下)-带参数装饰器与wraps
开发语言·python
LAM LAB16 分钟前
【Web】网页如何模拟移动端获取定位\定位模拟测试
开发语言·前端·javascript
小糯米60118 分钟前
C语言文件操作
c语言·开发语言·数据结构
caimouse19 分钟前
Reactos 第 9 章 设备驱动 — 9.4 内核劳务线程
开发语言·windows
Doker 多克22 分钟前
Spring AI Alibaba—快速构建ReactAgent
java·开发语言·前端·ai编程
张忠琳29 分钟前
【Go 1.26.4】Golang Slice 深度解析
开发语言·后端·golang
码云骑士1 小时前
09-Python模块导入机制-sys.path与循环导入的死锁式排查
开发语言·python