当前位置: 首页 > news >正文

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

将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文件

通过配置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");// 设置嵌入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格式并保存。

代码示例

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格式,并设置转换选项。

http://www.lryc.cn/news/522932.html

相关文章:

  • macOS 安装JDK17
  • Django SimpleUI 自定义功能实战
  • C语言/C++自然序列重排列——相邻序号不相邻问题⭐
  • Spring boot面试题---- Spring boot项目运行原理
  • Qt/C++ 基于 QGraphicsView 的绘图软件 (附源码下载链接)
  • 如何使用 useMemo 和 memo 优化 React 应用性能?
  • 数据结构(链表 哈希表)
  • 人工智能之深度学习_[4]-神经网络入门
  • STM32之CubeMX图形化工具开发介绍(十七)
  • css3过渡总结
  • latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)
  • C语言编程笔记:文件处理的艺术
  • [创业之路-255]:《华为数字化转型之道》-1-主要章节、核心内容、核心思想
  • 《汽车维修技师》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 2024 京东零售技术年度总结
  • PyTorch使用教程(8)-一文了解torchvision
  • 如何在不暴露MinIO地址的情况下,用Spring Boot与KKFileView实现文件预览
  • ICMP协议和ICMP重定向攻击
  • leetcode203-移除链表元素
  • Rust 中构建 RESTful API
  • Sqlmap入门
  • 迈向 “全能管家” 之路:机器人距离终极蜕变还需几步?
  • 移动端 REM 适配
  • 逐笔成交逐笔委托Level2高频数据下载和分析:20241230
  • C#实现字符串反转的4种方法
  • UDP 单播、多播、广播:原理、实践
  • 深入浅出:Go语言中的bytes包与字节串操作详解
  • 数据库存储上下标符号,sqlserver 2008r2,dm8
  • LabVIEW串口通信调试与数据接收问题
  • oneplus3t-lineage-14编译-android7