在上一篇文章中介绍了关于C#如何插入Word书签、插入图片或表格到word、删除word书签等内容,本篇文章将继续介绍C#操作word书签的方法。下面的示例中将介绍

  • C# 如何读取Word书签
  • C# 如何替换Word书签

工具使用

  • Spire.Doc for .NET 6.1
  • Visual Studio

示例代码

原文档中的书签内容:


 1. 读取word书签

【C#】

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;namespace GetTextOfBookmark_Doc
{class Program{static void Main(string[] args){//实例化Document类,加载测试文档Document doc = new Document();doc.LoadFromFile("test.docx");//初始化BookmarkNavigator类对象BookmarksNavigator navigator = new BookmarksNavigator(doc);//定位到指定书签位置,获取书签位置的文档内容navigator.MoveToBookmark("bookmark1");TextBodyPart textBodyPart = navigator.GetBookmarkContent();//遍历书签内容中的子项目,并将文本信息提取至string类型变量中string text = null;foreach (var item in textBodyPart.BodyItems){if (item is Paragraph){foreach (var childObject in (item as Paragraph).ChildObjects){if (childObject is TextRange){text += (childObject as TextRange).Text;}}}}//控制台输出文本Console.WriteLine(text);Console.ReadLine();}}
}

读取结果如下:

2. 替换书签内容

【C#】

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;namespace EditOrReplaceBookmark_Doc
{class Program{static void Main(string[] args){//创建Document类实例,加载文档 Document document = new Document();document.LoadFromFile("test.docx");Section sec = document.AddSection();//添加sectionsec.AddParagraph().AppendText("Welcome Back, \n My Friend!"); //添加段落到section,并添加字符串内容//获取段落内容 ParagraphBase firstReplacementParagraph = sec.Paragraphs[0].Items.FirstItem as ParagraphBase;ParagraphBase lastReplacementParagraph = sec.Paragraphs[sec.Paragraphs.Count - 1].Items.LastItem as ParagraphBase;//实例化类TextBodySelection和TextBodyPartTextBodySelection selection = new TextBodySelection(firstReplacementParagraph, lastReplacementParagraph);TextBodyPart part = new TextBodyPart(selection);BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);//实例化BookmarksNavigator类 bookmarkNavigator.MoveToBookmark("bookmark1", true, true);//定位到书签“bookmark1”所在段落的位置bookmarkNavigator.DeleteBookmarkContent(true);//删除原有书签位置的内容bookmarkNavigator.ReplaceBookmarkContent(part, true, true);//用新添加段落的内容替换掉原书签的内容并保留格式            //移除sectiondocument.Sections.Remove(sec);//保存文档并打开document.SaveToFile("替换书签.docx");System.Diagnostics.Process.Start("替换书签.docx");}}
}

测试结果:

以上是本次关于C# 操作Word书签功能的补充介绍,如需转载,请注明出处。

(本文完)

C# 操作Word书签(二)——读取、替换Word书签相关推荐

  1. java word添加图片_Java 替换word文档文字并指定位置插入图片

    先说下 需要的依赖包 org.apache.poi poi-excelant 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi poi-oo ...

  2. php 修改word内容,php如何替换word内容

    php替换word内容的方法:首先下载PHPWORD,并解压缩放到项目下的"extend"中:然后加载word文件:最后使用"$loadtemplate->setV ...

  3. java 修改word属性_Java修改/替换Word批注

    本文将介绍通过Java程序 来修改或替换Word文档中已有的批注内容.修改或替换方法包括: 使用新的文本替换原有批注中的文本 使用新的文本替换原有批注中的图片 使用新的图片替换原有批注中的图片 使用工 ...

  4. java 使用 POI 操作 XWPFDocumen 创建和读取 Office Word 文档基础篇

    注:有不正确的地方还望大神能够指出,抱拳了 老铁! 参考 API:http://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFDoc ...

  5. word通配符,查找与替换

    word通配符,查找与替换 word通配符–使用实例 word通配符表 word查找栏代码&通配符一览表 word替换栏代码&通配符一览表 word通配符用法详解 word换行符 参考 ...

  6. python替换word中的文字内容

    摘要:这篇文章介绍了如何使用python[3.6版本]把pdf文件转换为word文档并替换word文档中的文字内容,这里替换的规则是中英转换或者其它自定义规则 pdf转换为word pdf文件由于很难 ...

  7. Unity WebGL 下载替换Word模板数据

    文章目录 插件包介绍 一.导入自己Word模板 二.设置Word模板 三.创建报告基础数据 四.初始化下载Word 参数 五.打包WebGL 六.设置配置文件 1.文件位置 2.设置参数 3.配置文件 ...

  8. python批量替换word文字

    这里写自定义目录标题 python批量替换word文字 代码 Gitee地址 微信赞赏 python批量替换word文字 代码 """本项目特点:1.获取word中数据, ...

  9. C# 操作Word书签(二)——插入图片、表格到书签;读取、替换书签

    概要 书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间.在前一篇文章"C# 如何添加/删除Word书签"中介绍了插入.删除书签的方法,本篇文章将对C# 操作W ...

最新文章

  1. ES6 - let、const与作用域
  2. Oracle 数据字典表 -- SYS.COL$
  3. el-input 输入框类型;只能输入数字的输入框;保留两位小数输入框;只能输入正整数和0的输入框;手机号正则校验;车牌号码正则校验
  4. ssd内部是多个flash一起操作_一键自毁军工级SSD固态硬盘的技术亮点
  5. phpredis -- Redis编译安装,PHP 7 安装 Redis 扩展
  6. 理解认证_授权_以及会话_Spring Security OAuth2.0认证授权---springcloud工作笔记110
  7. $$\int_0^{nh}x(x-h)\cdots (x-nh)dx=h^{n+2}\int_0^nx(x-1)\cdots (x-n)dx$$
  8. python+Selenium2+chrome构建动态网页爬虫工具
  9. TTL转USB 六合一
  10. android运行xwalkview闪退,解决Android中集成XWalkView的奇怪闪退
  11. php汉字转换拼音的类 做了修改用mb_convert_encoding代替iconv实现编码转换
  12. HDMI转mipiCSI+Audio,东芝,TC358743,视频转换芯片
  13. 安卓TabLayout的使用
  14. 室内施工图LiSP_CAD快速做室内设计图的技巧
  15. MOOS-ivp 多社区 系列停更
  16. hype3 响应布局_使用Hype 3的基于时间轴的Web动画
  17. JSP之数据库连接池·笔记
  18. 线程优先级和守护线程
  19. Mac系统下创建右键打开Shell的功能
  20. PHP表单(get,post)提交方式

热门文章

  1. omnigraffle mac 破解
  2. 第二证券|下周解禁市值超980亿元,多家机构参与解禁股评级
  3. 虾皮Shopee上货铺货助理工具
  4. 计算机 我们一起学猫叫歌词,猫叫是什么歌 抖音我们一起学猫叫完整版歌词
  5. ansys怎么批量输入点坐标_CAD大批量输入坐标点的方法
  6. win+ubuntu安装Nvidia显卡驱动
  7. 4.29万辆,营运货车“AEB法规项”TOP6前装供应商出炉
  8. PDF转换器用什么好?这款一定能够帮到你
  9. Excel文件的下载
  10. 索尼a5100_女生适合的入门微单—索尼a5100,强推。