将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文档中有图片)。以下是操作步骤示例:
- 导入所需模块。
- 创建
Document
实例。 - 使用
Document.LoadFromFile()
方法载入Word文档。 - 使用
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文件中。以下是操作步骤示例:
- 导入所需模块。
- 创建
Document
实例。 - 使用
Document.LoadFromFile()
方法载入Word文档。 - 将
Document.HtmlExportOptions.CssStyleSheetType
属性设置为CssStyleSheetType.Internal
,嵌入CSS样式到生成的HTML文件中。 - 将
Document.HtmlExportOptions.ImageEmbedded
属性设置为true
,嵌入图像到生成的HTML文件中。 - 使用
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> 部分。 |
以下是操作步骤示例: |
-
- 导入所需模块。
- 创建
Document
实例。 - 使用
Document.LoadFromFile()
方法载入Word文档。 - 使用
Document..HtmlExportOptions
中的属性自定义转换选项。 - 使用
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格式,并设置转换选项。