当前位置: 首页 > 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格式,并设置转换选项。

相关文章:

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

将Word文档转换为HTML格式尤其具有显著的优势&#xff0c;它不仅能够确保文档内容在多种设备和平台上保持一致灵活的显示&#xff0c;还便于通过网络进行传播和集成到各种Web应用中。随着越来越多的企业和开发者寻求更灵活、更具兼容性的文件处理方式&#xff0c;.NET框架下的C…...

macOS 安装JDK17

文章目录 前言介绍新特性下载安装1.下载完成后打开downloads 双击进行安装2.配置环境变量3.测试快速切换JDK 小结 前言 近期找开源软件&#xff0c;发现很多都已经使用JDK17springboot3 了&#xff0c;之前的JDK8已经被替换下场&#xff0c;所以今天就在本机安装了JDK17&#…...

Django SimpleUI 自定义功能实战

1. 引言 Django SimpleUI 是一个基于 Django 的后台管理界面美化工具,旨在帮助开发者快速构建现代化的后台管理系统。除了默认的功能外,SimpleUI 还支持高度自定义,开发者可以根据需求添加各种实用功能。本文将详细介绍如何在 Django SimpleUI 中实现自定义功能,包括数据同…...

C语言/C++自然序列重排列——相邻序号不相邻问题⭐

同类题目&#xff1a;C语言自然序列重排——相邻元素的差值集合恰好有 k 个不同的值。⭐⭐-CSDN博客 题目描述&#xff08;难度⭐&#xff09; 一场针对 n 学生的考试将在一个又长又窄的房间里举行&#xff0c;因此学生们将按某种顺序排成一行。老师怀疑相邻编号的学生&#xf…...

Spring boot面试题---- Spring boot项目运行原理

1.启动流程概述 Spring Boot 的启动是从一个带有main方法的主类开始的。这个主类通常会有一个@SpringBootApplication注解。这个注解是一个组合注解,它包含了@Configuration、@EnableAutoConfiguration和@ComponentScan。@Configuration注解表明这个类是一个配置类,它可以定义…...

Qt/C++ 基于 QGraphicsView 的绘图软件 (附源码下载链接)

基于 Qt 的 QGraphicsView 绘图软件项目进行深入讲解&#xff0c;分析其核心代码与功能实现&#xff0c;帮助开发者理解 QGraphicsView 的用法。 项目概览 该项目实现了一个简单的绘图应用&#xff0c;用户可以在界面中创建和编辑矩形、椭圆、直线、多边形和文本等图形对象。功…...

如何使用 useMemo 和 memo 优化 React 应用性能?

使用 useMemo 和 memo 优化 React 应用性能 在构建复杂的 React 应用时&#xff0c;性能优化是确保应用流畅运行的关键。React 提供了多种工具来帮助开发者优化组件的渲染和计算逻辑&#xff0c;其中 useMemo 和 memo 是两个非常有用的 Hook。本文将详细介绍这两个工具的使用方…...

数据结构(链表 哈希表)

在Python中&#xff0c;链表和哈希表都是常见的数据结构&#xff0c;可以用来存储和处理数据。 链表是一种线性数据结构&#xff0c;由一系列节点组成&#xff0c;每个节点包含一个数据元素和一个指向下一个节点的指针。链表可以用来实现栈、队列以及其他数据结构。Python中可…...

人工智能之深度学习_[4]-神经网络入门

神经网络基础 1 神经网络 深度学习神经网络就是大脑仿生&#xff0c;数据从输入到输出经过一层一层的神经元产生预测值的过程就是前向传播&#xff08;也叫正向传播&#xff09;。 前向传播涉及到人工神经元是如何工作的&#xff08;也就是神经元的初始化、激活函数&#xf…...

STM32之CubeMX图形化工具开发介绍(十七)

STM32F407 系列文章 - STM32CubeMX&#xff08;十七&#xff09; 目录 前言 一、CubeMX 二、下载安装 1.下载 2.安装 3.图解步骤 三、用户界面 1.项目配置 2.项目生成 3.项目文件解释 4.新建工程 5.查看原工程 四、FAQ 总结 前言 STMCube源自意法半导体&#xf…...

css3过渡总结

一、过渡的定义与作用 CSS3 过渡&#xff08;Transitions&#xff09;允许 CSS 属性在一定的时间区间内平滑地过渡&#xff0c;从一个值转变为另一个值。它能够让网页元素的状态变化更加自然、流畅&#xff0c;给用户带来更好的视觉体验。例如&#xff0c;当一个元素从隐藏状态…...

latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)

文章目录 1、SHOW TABLE STATUS WHERE Name batch_version;2、latin1_swedish_ci使用场景注意事项修改字符集和排序规则修改表的字符集和排序规则修改列的字符集和排序规则修改数据库的默认字符集和排序规则 3、ALTER TABLE batch_version CONVERT TO CHARACTER SET utf8mb4 C…...

C语言编程笔记:文件处理的艺术

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文一、为什么要用文件二、文件的分…...

[创业之路-255]:《华为数字化转型之道》-1-主要章节、核心内容、核心思想

目录 前言&#xff1a;数字化转型对于企业而言&#xff0c;是一种全方位的变革 一、主要章节 1、认知篇&#xff08;第1~2章&#xff09;- Why 2、方法篇&#xff08;第3~5章&#xff09;- How 3、实践篇&#xff08;第6~10章&#xff09;- 实践 4、平台篇&#xff08;第…...

《汽车维修技师》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答&#xff1a; 问&#xff1a;《汽车维修技师》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《汽车维修技师》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;北方联合出版传媒&#xff08;…...

2024 京东零售技术年度总结

每一次回望&#xff0c;都为了更好地前行。 2024 年&#xff0c;京东零售技术在全面助力业务发展的同时&#xff0c;在大模型应用、智能供应链、端技术、XR 体验等多个方向深入探索。京东 APP 完成阶段性重要改版&#xff0c;打造“又好又便宜”的优质体验&#xff1b;国补专区…...

PyTorch使用教程(8)-一文了解torchvision

一、什么是torchvision torchvision提供了丰富的功能&#xff0c;主要包括数据集、模型、转换工具和实用方法四大模块。数据集模块内置了多种广泛使用的图像和视频数据集&#xff0c;如ImageNet、CIFAR-10、MNIST等&#xff0c;方便开发者进行训练和评估。模型模块封装了大量经…...

如何在不暴露MinIO地址的情况下,用Spring Boot与KKFileView实现文件预览

在现代Web应用中&#xff0c;文件预览是一项常见且重要的功能。它允许用户在不上传或下载文件的情况下&#xff0c;直接在浏览器中查看文件内容。然而&#xff0c;直接将文件存储服务&#xff08;如MinIO&#xff09;暴露给前端可能会带来安全风险。本文将介绍如何在不暴露MinI…...

ICMP协议和ICMP重定向攻击

✍作者&#xff1a;柒烨带你飞 &#x1f4aa;格言&#xff1a;生活的情况越艰难&#xff0c;我越感到自己更坚强&#xff1b;我这个人走得很慢&#xff0c;但我从不后退。 &#x1f4dc;系列专栏&#xff1a;网络安全从菜鸟到飞鸟的逆袭 目录 一&#xff0c;ICMP基本概念二&…...

leetcode203-移除链表元素

leetcode203 什么是链表 之前不懂链表的数据结构&#xff0c;一看到链表的题目就看不明白 链表是通过next指针来将每个节点连接起来的&#xff0c;题目中给的链表是单向链表&#xff0c;有两个值&#xff0c;一个val表示值&#xff0c;一个next&#xff1a;表示连接的下一个…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...