概要

书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间。对word文档中的书签操作,比较常见的是直接对某段文字插入书签,在下面的示例中,除了介绍插入书签的方法外,也将介绍操作书签的一些拓展方法,包括插入图片、表格到书签位置所在的段落、删除书签等。示例要点如下:

  1. 插入书签
  2. 插入图片到书签
  3. 插入表格到书签
  4. 删除书签
    4.1 删除书签
    4.2 删除书签所在的段落文字

使用工具

  • Free Spire.Doc for .NET 6.3 (社区版)
  • Visual Studio
    ps:下载安装该类库后,注意添加引用Spire.Doc.dl到项目程序,dll文件可在安装路径的Bin文件夹中获取。

【示例1】插入书签

C#

using System;
using Spire.Doc;
using Spire.Doc.Documents;namespace WordBookmark
{class Bookmark{static void Main(string[] args){//实例化Document类,加载文档Document document = new Document();document.LoadFromFile("test.docx");//插入书签到指定段落,并命名书签Section section = document.Sections[0];section.Paragraphs[1].AppendBookmarkStart("Bookmark1");section.Paragraphs[2].AppendBookmarkEnd("Bookmark1");//保存并打开文档 document.SaveToFile("InsertBookmark.docx", FileFormat.Docx);System.Diagnostics.Process.Start("InsertBookmark.docx");}}
}

测试效果:

【示例2】插入图片到书签所在段落

C#

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);}}
}

图片插入效果:

【示例3】插入表格到书签所在段落

C#

using Spire.Doc;
using Spire.Doc.Documents;
using System.Data;namespace InsertTableToBookmark_Doc
{class Program{static void Main(string[] args){//创建文档,加载文件Document doc = new Document();doc.LoadFromFile("test.docx");//创建Table对象Table table = new Table(doc, true);//创建模拟数据DataTable dt = new DataTable();dt.Columns.Add("PI", typeof(string));dt.Columns.Add("Type", typeof(string));dt.Columns.Add("Nov.", typeof(string));dt.Columns.Add("YTD", typeof(string));                     dt.Rows.Add(new string[] { "PI","Type", "Nov.", "YTD" });dt.Rows.Add(new string[] { "1", "BAIC EC-Series", "15.719", "64.910" });dt.Rows.Add(new string[] { "2", "Tesla Model S", "3.889", "46.951" });dt.Rows.Add(new string[] { "3", "Nissan Leaf", "2.817", "46.423" });//将数据填充至表格table.ResetCells(dt.Rows.Count, dt.Columns.Count);for (int i = 0; i < dt.Rows.Count; i++){for (int j = 0; j < dt.Columns.Count; j++){table.Rows[i].Cells[j].AddParagraph().AppendText(dt.Rows[i][j].ToString());}}//获取指定书签位置BookmarksNavigator navigator = new BookmarksNavigator(doc);navigator.MoveToBookmark("origin2");//将表格添加至TextBodyPartTextBodyPart part = navigator.GetBookmarkContent();part.BodyItems.Add(table);//替换书签内容navigator.ReplaceBookmarkContent(part);//保存并打开文件doc.SaveToFile("output.docx", FileFormat.Docx2013);System.Diagnostics.Process.Start("output.docx");}}
}

表格插入效果:

【示例4】删除书签

C#

using Spire.Doc;
using Spire.Doc.Documents;namespace Removing
{class Program{static void Main(string[] args){//实例化Document类,加载文档Document doc = new Document();doc.LoadFromFile("sample.docx");//创建BookmarksNavigator实例BookmarksNavigator navigator = new BookmarksNavigator(doc);//指向特定的书签navigator.MoveToBookmark("origin2");//删除书签中的内容navigator.DeleteBookmarkContent(false);//删除书签doc.Bookmarks.Remove(doc.Bookmarks.FindByName("bookmark1"));//保存并打开文档doc.SaveToFile("RemoveBookmark.docx", FileFormat.Docx);System.Diagnostics.Process.Start("RemoveBookmark.docx");}}
}

测试结果:
测试文档如下


删除书签后:

以上内容为本次“C#操作Word书签的方法”介绍如需转载,请注明出处。

转载于:https://blog.51cto.com/eiceblue/2146751

C# 操作Word书签(一)插入、删除书签相关推荐

  1. Python 操作Word文档插入图片和表格实例演示

    Python 操作Word文档插入图片和表格实例演示 效果图 实现过程 ① python-docx 库安装 ② word 文档插入图片演示 ③ word 文档插入表格演示 [ 文章推荐 ] Pytho ...

  2. python打开word并插入图片_Python操作word文档插入图片和表格的实例演示

    前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码 实例代码: # -*- coding: U ...

  3. php怎么在表格里插图片,Python操作word文档插入图片和表格的实例演示

    今天带来Python操作word文档插入图片和表格的实例演示教程详解 前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多 ...

  4. python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示

    前言P6Q免费资源网 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码P6Q免费资源网 实例代码: ...

  5. C++操作Word文档——插入分页符

    C++操作word文档,向文档插入分页符,进行换页操作 \x0c

  6. java使用poi操作word模板,插入图片、段落、表格

    java使用poi操作word插入图片.段落.表格 其他链接 准备工作 创建word模板.docx文件 编写模板格式.xml文件 java上手poi maven依赖 使用到的包 具体应用 对应封装方法 ...

  7. POI操作word文档,生成书签

    近期做动态的word文档生成, 需要在指定XWPFRun生成书签的功能,有两种情况: 创建新word文档时候,直接在createRun前后调用生成书签的方法 XWPFRun oldRun = runs ...

  8. Java操作word指定位置插入数据

    需求背景:因项目需要无法使用poi-tl包利用{{}}定位的方式向word模板的指定位置填写信息 解决方法:现利用替换占位字段的方式,在要替换的地方前后都插入书签 示例word: 在需要替换填写内容的 ...

  9. Jacob操作Word文档插入表格并表格中插入图片案例

    一.环境配置 1).在项目中引入jacob.jar 2).将jacob-1.17-M2-x64.dll和jacob-1.17-M2-x86.dll文件放在jdk的path目录下面,通过System.g ...

最新文章

  1. 经典贪心法:时间序列问题及其全局最优性证明
  2. 大神开源AI代码!这次我也可以亲自上手、模仿OpenAI利用文本合成图像啦!
  3. spring boot构建基础版web项目(一)springboot、thymeleaf控制层基础构
  4. 简洁好用的KDTree模板
  5. js中const,var,let区别与用法
  6. 计算机专业实训计划,计算机专业实习计划范文
  7. [新功能]Blog首页仅列出标题
  8. Apache和Nginx防盗链
  9. jpcap的配置方法
  10. 系统 应用 数据缺一不可 云优化三步走
  11. 最长上升子序列模板 hdu 1087 Super Jumping! Jumping! Jumping!
  12. 2018年版北大中文核心期刊目录(2017最新第八版)
  13. psd效果预览转成网站首页(html+css)
  14. OpenCV在图片和视频中的人脸检测
  15. 富士施乐m115b怎么连接电脑_富士施乐m115b打印机驱动下载-富士施乐m115b驱动下载 v1.0.1.00官方版--pc6下载站...
  16. postman 定时任务
  17. 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。
  18. 一个老工程师给年轻人的十大忠告【转帖】
  19. 周杰伦新专辑预售热点传播分析报告概览
  20. 7-32 哥尼斯堡的“七桥问题”

热门文章

  1. Ubuntu 16.04 LTS 初体验 (转载)
  2. 计算机基础知识是一级吗,计算机二级和初级的区别 初级是一级吗
  3. OpenCv基础知识(入门)
  4. python3GUI--天气预报小工具(附源码)
  5. 李沐的深度学习笔记来了!
  6. ant-design-pro跨域问题
  7. 大疆M210 V2+妙算2-G+LIVOX MID-40使用记录
  8. ue4 unreal NDisplay插件 简易使用 三折幕 详细...
  9. 计算机组成原理语言方框图,计算机组成原理3---方框图语言
  10. C程序设计 谭浩强 第九章