概要
书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间。在前一篇文章“C# 如何添加/删除Word书签”中介绍了插入、删除书签的方法,本篇文章将对C# 操作Word书签的功能做进一步介绍。示例内容将包含以下要点:
- 在现有书签位置插入图片
- 在现有书签位置插入表格
- 读取书签位置的文档内容
- 替换现有书签位置内容
使用工具
- Spire.Doc for .NET 6.1
- Visual Studio
ps:下载安装该类库后,注意添加引用Spire.Doc.dl到项目程序,dll文件可在安装路径的Bin文件夹中获取。
示例代码(供参考)
测试文档如下:
【示例1】 在现有书签位置插入图片
步骤 1: 添加using指令
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System.Drawing;
步骤 2 :主要代码段
//创建实例,加载文档 Document document = new Document(); document.LoadFromFile("test.docx"); //实例化BookmarksNavigator类,指定需要添加图片的书签“Bookmark1” BookmarksNavigator bn = new BookmarksNavigator(document); bn.MoveToBookmark("Bookmark1", true, true); //添加段落,加载图片并插入到段落 Section section0 = document.AddSection(); Paragraph paragraph = section0.AddParagraph(); Image image = Image.FromFile("img.png"); DocPicture picture = paragraph.AppendPicture(image); bn.InsertParagraph(paragraph); document.Sections.Remove(section0); //保存文档并打开 string output = "result.docx"; document.SaveToFile(output, FileFormat.Docx); System.Diagnostics.Process.Start(output);
图片插入效果:
全部代码:
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System.Drawing; namespace InsertImgToBookmark_Doc { class Program { static void Main(string[] args) { //创建实例,加载文档 Document document = new Document(); document.LoadFromFile("test.docx"); //实例化BookmarksNavigator类,指定需要添加图片的书签“Bookmark1” BookmarksNavigator bn = new BookmarksNavigator(document); bn.MoveToBookmark("Bookmark1", true, true); //添加段落,加载图片并插入到段落 Section section0 = document.AddSection(); Paragraph paragraph = section0.AddParagraph(); Image image = Image.FromFile("img.png"); DocPicture picture = paragraph.AppendPicture(image); bn.InsertParagraph(paragraph); document.Sections.Remove(section0); //保存文档并打开 string output = "result.docx"; document.SaveToFile(output, FileFormat.Docx); System.Diagnostics.Process.Start(output); } } }
【示例 2】在现有书签位置插入表格
步骤 1:添加using指令
using Spire.Doc; using Spire.Doc.Documents; using System.Data;
步骤 2 :创建文档,加载文件