C# Apose Word 中的知识点详细的总结及代码示例

Posted QHCV

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Apose Word 中的知识点详细的总结及代码示例相关的知识,希望对你有一定的参考价值。

文章目录


C# Apose Word 是一个用于处理 Microsoft Word 文档的 .NET 组件库。它提供了一系列功能,包括创建、编辑、转换和打印 Word 文档。在本文中,我们将对 C# Apose Word 中的几个重要的知识点进行全面详细的总结和代码示例,帮助读者更好地了解和使用这个组件库。

一、创建 Word 文档

在 C# Apose Word 中,可以使用 Document 类来创建 Word 文档。下面是一个创建新文档的示例代码:

// 创建一个新文档
Document doc = new Document();

// 添加段落
Paragraph para = doc.Sections[0].Body.AddParagraph();
para.AppendText("Hello, World!");

// 保存文档
doc.Save("NewDocument.docx");

在上面的代码中,我们首先创建了一个新的 Document 对象,然后添加了一个段落,并将文本“Hello, World!”添加到段落中。最后,我们将文档保存为“NewDocument.docx”。

除了添加段落外,还可以添加表格、图片、超链接等。下面是一个添加表格的示例代码:

// 创建一个新文档
Document doc = new Document();

// 添加表格
Table table = doc.Sections[0].Body.AddTable(true);

// 设置表格样式
table.StyleOptions.TableLayout = TableLayout.Auto;
table.PreferredWidth = PreferredWidth.FromPercent(100);
table.LeftIndent = 0;

// 添加表格行和列
for (int i = 0; i < 5; i++)

    TableRow row = table.AddRow();
    for (int j = 0; j < 3; j++)
    
        TableCell cell = row.Cells.Add();
        cell.Paragraphs.Add(new Paragraph(doc));
    

// 保存文档
doc.Save(“NewDocument.docx”);
在上面的代码中,我们首先创建了一个新的 Document 对象,然后添加了一个表格。接着,我们设置了表格的样式和属性,并添加了表格的行和列。最后,我们将文档保存为“NewDocument.docx”。

二、编辑 Word 文档

在 C# Apose Word 中,可以使用各种方法来编辑 Word 文档。下面是一些常用的编辑操作示例:

修改文本

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 获取第一个段落
Paragraph para = doc.Sections[0].Body.Paragraphs[0];

// 修改段落文本
para.Runs[0].Text = "Hello, Apose Word!";

// 保存文档
doc.Save("ExistingDocument.docx");

在上面的代码中,我们首先打开了一个现有文档,然后获取了文档中的第一个段落。接着,我们修改了段落中的文本,并将文档保存。

插入图片

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 获取第一个段落
Paragraph para = doc.Sections[0].Body.Paragraphs[0];

// 插入图片
Shape img = para.AppendDrawingImage("Image.jpg");

// 设置图片大小和位置
img.Height = 200;
img.Width = 200;
img.WrapType = WrapType.Inline;

// 保存文档
doc.Save("ExistingDocument.docx");

在上面的代码中,我们首先打开了一个现有文档,然后获取了文档中的第一个段落。接着,我们插入了一张图片,并设置了图片的大小和位置。最后,我们将文档保存。

添加超链接

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 获取第一个段落
Paragraph para = doc.Sections[0].Body.Paragraphs[0];

// 添加超链接
para.AppendHyperlink("https://www.apose.com", "Apose Word");

// 保存文档
doc.Save("ExistingDocument.docx");

在上面的代码中,我们首先打开了一个现有文档,然后获取了文档中的第一个段落。接着,我们添加了一个超链接,并将文档保存。

三、转换 Word 文档

在 C# Apose Word 中,可以将 Word 文档转换为其他格式,例如 PDF、html、XML 等。下面是一些常用的文档转换示例:

将 Word 文档转换为 PDF

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 将文档转换为 PDF
doc.Save("ExistingDocument.pdf", SaveFormat.Pdf);

在上面的代码中,我们首先打开了一个现有文档,然后将文档转换为 PDF 格式,并将生成的 PDF 文件保存到磁盘上。

将 Word 文档转换为 HTML

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 将文档转换为 HTML
doc.Save("ExistingDocument.html", SaveFormat.Html);

在上面的代码中,我们首先打开了一个现有文档,然后将文档转换为 HTML 格式,并将生成的 HTML 文件保存到磁盘上。

将 Word 文档转换为 XML

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 将文档转换为 XML
doc.Save("ExistingDocument.xml", SaveFormat.WordML);

在上面的代码中,我们首先打开了一个现有文档,然后将文档转换为 XML 格式,并将生成的 XML 文件保存到磁盘上。

四、打印 Word 文档

在 C# Apose Word 中,可以使用 Print 方法将 Word 文档打印出来。下面是一个打印文档的示例代码:

// 打开一个现有文档
Document doc = new Document("ExistingDocument.docx");

// 打印文档
doc.Print();

在上面的代码中,我们首先打开了一个现有文档,然后使用 Print 方法将文档打印出来。

C# Apose Word 中的几个重要的知识点进行了全面详细的总结和代码示例,了解到如何创建、编辑、转换和打印 Word 文档。同时,我们还介绍了一些常用的操作和示例代码,帮助读者更好地理解和使用 C# Apose Word 组件库。

C# 在Word中添加多行多列文字水印

一般情况下,在Word中添加文字水印仅支持添加一个文本字样的水印,但在复杂的办公环境中,由于对不同文档的设计要求,需要在Word文档中添加平铺水印效果,即文档中的水印文字以多行多列分布的形式存在。本文将介绍如何来实现该水印效果的方法,下面是详细步骤及方法。


dll引用

通过NuGet引入dll(2种方法)的方法

1.可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

2.将以下内容复制到PM控制台安装:

Install-PackageFreeSpire.Doc -Version 10.2

手动添加dll引用的方法

可通过手动​​下载包​​到本地,然后解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。


添加多行多列文字水印

在Word中添加多行文字水印时,实现的方法是通过在页眉中添加形状艺术字,并通过多次复制形状来模拟实现多行文字水印效果。以下是实现水印添加的主要代码步骤:

  1. 创建Document类的对象,并调用Document.LoadFromFile(string fileName)方法加载Word文档。
  2. 创建ShapeObject类的实例,并通过ShapeObject.Width、ShapeObject.HeightShapeObject.VerticalPositionShapeObject.RotationShapeObject.WordArt.TextShapeObject.WordArt.FontFamilyShapeObject.FillColor等属性设置形状大小、位置、旋转角度、水印文字、字体及颜色等。
  3. for循环遍历所有Section,通过Section.HeadersFooters.Header属性获取页眉,并以HeaderFooter.AddParagraph()方法添加段落到页眉。
  4. 通过for循环以ShapeObject.Clone()方法多次复制形状,并通过ShapeObject.VerticalPositionShapeObject.HorizontalPosition属性设置形状位置排列。
  5. 调用Paragraph.ChildObjects.Add(IDocumentObject entity)方法添加形状到页眉段落。
  6. 最后,通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存文档到指定路径。

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace MultiLineTextWatermark

class Program

static void Main(string[] args)

//加载Word文档
Document doc = new Document();
doc.LoadFromFile("test.docx");

//创建形状,并设置大小、水印文字、位置及样式
ShapeObject shape = new ShapeObject(doc, ShapeType.TextPlainText);
shape.Width = 60;
shape.Height =15;
shape.VerticalPosition = 25;
shape.HorizontalPosition = 20;
shape.Rotation = 320;
shape.WordArt.Text = "草稿副本";
shape.WordArt.FontFamily = "宋体";
shape.FillColor = System.Drawing.Color.Red;
shape.StrokeColor = System.Drawing.Color.Red;

//遍历所有section
for (int n = 0; n < doc.Sections.Count; n++)

Section section = doc.Sections[n];

//获取页眉
HeaderFooter header = section.HeadersFooters.Header;

//添加段落到页眉
Paragraph paragraph1 = header.AddParagraph();

for (int i = 0; i < 5; i++)


for (int j = 0; j < 6; j++)

//复制形状并设置多行多列位置
shape = (ShapeObject)shape.Clone();
shape.VerticalPosition = 50 + 150 * i;
shape.HorizontalPosition = 20 + 160 * j;

//添加形状到段落
paragraph1.ChildObjects.Add(shape);




//保存文档
doc.SaveToFile("result.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("result.docx");


VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields

Namespace MultiLineTextWatermark
Class Program
Private Shared Sub Main(args As String())
加载Word文档
Dim doc As New Document()
doc.LoadFromFile("test.docx")

创建形状,并设置大小、水印文字、位置及样式
Dim shape As New ShapeObject(doc, ShapeType.TextPlainText)
shape.Width = 60
shape.Height = 15
shape.VerticalPosition = 25
shape.HorizontalPosition = 20
shape.Rotation = 320
shape.WordArt.Text = "草稿副本"
shape.WordArt.FontFamily = "宋体"
shape.FillColor = System.Drawing.Color.Red
shape.StrokeColor = System.Drawing.Color.Red

遍历所有section
For n As Integer = 0 To doc.Sections.Count - 1
Dim section As Section = doc.Sections(n)

获取页眉
Dim header As HeaderFooter = section.HeadersFooters.Header

添加段落到页眉
Dim paragraph1 As Paragraph = header.AddParagraph()

For i As Integer = 0 To 4

For j As Integer = 0 To 5
复制形状并设置多行多列位置
shape = DirectCast(shape.Clone(), ShapeObject)
shape.VerticalPosition = 50 + 150 * i
shape.HorizontalPosition = 20 + 160 * j

添加形状到段落
paragraph1.ChildObjects.Add(shape)
Next
Next
Next

保存文档
doc.SaveToFile("result.docx", FileFormat.Docx2013)
System.Diagnostics.Process.Start("result.docx")
End Sub
End Class
End Namespace

水印效果:

C#


—END—

以上是关于C# Apose Word 中的知识点详细的总结及代码示例的主要内容,如果未能解决你的问题,请参考以下文章

C#操作word模板插入文字图片及表格详细步骤

Unity在Unity中使用Apose.Word报“The document appears to be corrupted and cannot be loaded.“的一个解决方案

用 c# 来操作WORD的经验总结

C# 在Word中添加多行多列文字水印

比较全的一个C#操作word文档示例

C#入门基础语法知识点总结(.NET开发环境及代码编写规范)