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

news/2025/1/18 23:40:31/

将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格式并保存。

代码示例

html" title=word>word">using Spire.Doc;html" title=word>word">namespace WordToHTML
{html" title=word>word">class Program{html" title=word>word">static html" title=word>word">void Main(html" title=word>word">string[] args){// 创建Document实例html" title=word>word">using (Document doc = html" title=word>word">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格式并保存。

代码示例

html" title=word>word">using Spire.Doc;html" title=word>word">namespace WordToHTML
{html" title=word>word">class Program{html" title=word>word">static html" title=word>word">void Main(html" title=word>word">string[] args){// 创建Document实例html" title=word>word">using (Document doc = html" title=word>word">new Document()){// 载入Word文档doc.LoadFromFile("Sample.docx");// 设置嵌入CSSdoc.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格式并保存。

代码示例

html" title=word>word">using Spire.Doc;html" title=word>word">namespace WordToHTML
{html" title=word>word">class Program{html" title=word>word">static html" title=word>word">void Main(html" title=word>word">string[] args){// 创建Document实例html" title=word>word">using (Document doc = html" title=word>word">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格式,并设置转换选项。


http://www.ppmy.cn/news/1564256.html

相关文章

Python毕业设计选题:基于django+vue的宠物服务管理系统

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 宠物商品管理 医疗服务管理 美容服务管理 系统…

什么是docker?关于docker容器的全面详细介绍

什么是 Docker Docker 是一种开源的容器化平台&#xff0c;旨在简化应用程序的开发、部署和运行过程。它提供了一种轻量级、可移植且自包含的容器化环境&#xff0c;使开发人员能够以一致的方式在不同的计算机上构建、打包和分发应用程序。 Docker 的出现改变了传统软件开发和…

请简述公司的系统服务架构类型(单体架构、分布式架构、微服务架构、分层架构、集群架构、SOA 架构、中台架构)

以下是对公司常见的系统服务架构类型的简述及架构图说明&#xff1a; 单体架构 简述&#xff1a;将所有功能集成在一个项目中&#xff0c;作为一个整体进行开发、部署和运行&#xff0c;所有业务逻辑、数据访问等都在一个进程内。适用于小型项目或业务简单的场景&#xff0c;…

BY组态-低代码web可视化组件

简介 BY组态是集实时数据展示、动态交互等一体的全功能可视化平台。帮助物联网、工业互联网、电力能源、水利工程、智慧农业、智慧医疗、智慧城市等场景快速实现数字孪生、大屏可视化、Web组态、SCADA等解决方案。具有实时监控、多样、变化、动态交互、高效、可扩展、支持自动…

【概率论与数理统计】第三章 多维随机变量及其分布(2)

定义7&#xff1a;若二维连续型随机变量 ( X , Y ) (X,Y) (X,Y)的概率密度为&#xff1a; f ( x , y ) 1 2 π σ 1 σ 2 1 − ρ 2 e − 1 2 ( 1 − ρ 2 ) [ ( x − μ 1 ) 2 σ 1 2 − 2 ρ ( x − μ 1 ) ( y − μ 2 ) σ 1 σ 2 ( y − μ 2 ) 2 σ 2 2 ] f(x,y) \fra…

强化学习-蒙特卡洛方法

强化学习-数学理论 强化学习-基本概念强化学习-贝尔曼公式强化学习-贝尔曼最优公式强化学习-值迭代与策略迭代强化学习-蒙特卡洛方法 文章目录 强化学习-数学理论一、蒙特卡洛方法理论(Monte Carlo, MC)二、MC Basic2.1 算法拆解2.2 MC Basic算法 三、MC Exploring Starts3.1 …

锐捷路由器网关RG-NBR6135-E和锐捷交换机 Ruijie Reyee RG-ES224GC 电脑登录web方法

2025年1月17日22:29:35 最近淘了点东西&#xff0c;准备在家里搞一套深度学习的服务器&#xff0c;先把网关和交换机搞到了 锐捷路由器网关RG-NBR6135-E 电脑登录web方法 在拿到机器的时候&#xff0c;如果不是全新建议拿根牙签&#xff0c;差入reset 5-10秒,灯光会全部闪几下…

Ansible深度解析:如何精准区分并选用command与shell模块

Ansible&#xff0c;作为一个强大的自动化工具&#xff0c;提供了多种模块来执行不同的任务。其中&#xff0c;command和shell模块是最常用的两个模块&#xff0c;用于在远程主机上执行命令。然而&#xff0c;尽管它们的功能相似&#xff0c;但在使用场景和特点上存在显著的差异…