在现代软件开发中,处理文档内容是一个非常常见的需求。无论是生成报告、存储日志,还是处理用户输入,开发者都可能需要在纯文本与 Word 文档之间进行转换。
- 有时需要将文本转换为 Word ,以便生成结构化的
.docx
文件,使内容更易于阅读、打印或分享。 - 有时需要将 Word 文档转换为文本,以便进行内容分析、搜索索引或数据处理。
通过掌握这两种转换方法,开发者可以更高效地处理各种文档场景,提高应用程序的灵活性。
本文将介绍如何使用 Free Spire.Doc for .NET 在 C# 中完成以下操作:
- 将文本字符串转换为 Word 文档
- 将文本文件转换为 Word 文档
- 将 Word 文档转换为文本文件
前提条件
- 开发环境:Visual Studio 或任意 C# IDE
- 库:Free Spire.Doc for .NET
可以通过 NuGet 安装 Free Spire.Doc:
cs
Install-Package FreeSpire.Doc
提示:Free Spire.Doc 适合基本文档处理需求(每个文档不超过500个段落和25个表格),如果需要处理更大的文档,可选择商业版本。
在 C# 中将文本转换为 Word
处理纯文本时,通常有两种情况:
- 文本已经在内存中,例如来自用户输入或程序生成的字符串。
- 文本存储在
.txt
文件中,需要将其转换为 Word 文档。
将文本字符串转换为 Word
cs
using Spire.Doc;
using Spire.Doc.Documents;
class Program
{
static void Main()
{
Document document = new Document();
Section section = document.AddSection();
Paragraph paragraph = section.AddParagraph();
paragraph.AppendText("这是一个将文本字符串转换为 Word 的示例。");
document.SaveToFile("TextStringToWord.docx", FileFormat.Docx);
}
}
说明:
Document
用于创建 Word 文档对象。Section
和Paragraph
是 Word 文档结构的基本单元,可以根据需要添加多段文本或设置段落格式。- 输出文件
TextStringToWord.docx
将包含插入的文本内容。
扩展技巧 :如果需要对文本应用不同字体、颜色或样式,可以使用
TextRange
对象进一步设置。
将文本文件转换为 Word
cs
using Spire.Doc;
namespace ConvertTextToWord
{
internal class Program
{
static void Main(string[] args)
{
// 创建Document类的对象
Document doc = new Document();
// 加载文本文件
doc.LoadText("示例.txt");
// 将文本文件保存为Word
doc.SaveToFile("Txt转Word.docx", FileFormat.Docx2016);
doc.Close();
}
}
}
说明:
- LoadText 用于加载文本文件。
- SaveToFile 将文本文件保存为Word文件,可选Doc, Docx等多种格式。
在 C# 中将 Word 转换为文本
有时我们需要从 Word 文档中提取内容用于分析或存储。这种情况下,可以将 Word 文档导出为纯文本文件:
cs
using Spire.Doc;
class Program
{
static void Main()
{
Document document = new Document();
document.LoadFromFile("Sample.docx");
// 保存为纯文本文件
document.SaveToFile("WordToText.txt", FileFormat.Txt);
}
}
说明:
- 此操作会去除 Word 文档的格式,只保留文本内容。
- 导出的文本可用于全文搜索、日志分析或进一步处理。
- 如果需要保留某些简单格式(如换行或段落分隔),可在保存前手动遍历段落进行处理。
总结与建议
通过掌握文本与 Word 之间的双向转换,开发者可以:
- 提高文档处理效率:将生成的文本内容快速转换为可打印或可分享的 Word 文档。
- 便于数据分析:从 Word 文档中提取文本,用于搜索、索引或统计。
- 保持格式灵活性:根据需要对段落、字体或样式进行自定义。
掌握这些方法后,C# 应用就可以更灵活地处理不同来源和类型的文档内容。