C# 操作Word书签(一)插入、删除书签
概要
书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间。对word文档中的书签操作,比较常见的是直接对某段文字插入书签,在下面的示例中,除了介绍插入书签的方法外,也将介绍操作书签的一些拓展方法,包括插入图片、表格到书签位置所在的段落、删除书签等。示例要点如下:
- 插入书签
- 插入图片到书签
- 插入表格到书签
- 删除书签
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书签(一)插入、删除书签相关推荐
- Python 操作Word文档插入图片和表格实例演示
Python 操作Word文档插入图片和表格实例演示 效果图 实现过程 ① python-docx 库安装 ② word 文档插入图片演示 ③ word 文档插入表格演示 [ 文章推荐 ] Pytho ...
- python打开word并插入图片_Python操作word文档插入图片和表格的实例演示
前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码 实例代码: # -*- coding: U ...
- php怎么在表格里插图片,Python操作word文档插入图片和表格的实例演示
今天带来Python操作word文档插入图片和表格的实例演示教程详解 前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多 ...
- python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示
前言P6Q免费资源网 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码P6Q免费资源网 实例代码: ...
- C++操作Word文档——插入分页符
C++操作word文档,向文档插入分页符,进行换页操作 \x0c
- java使用poi操作word模板,插入图片、段落、表格
java使用poi操作word插入图片.段落.表格 其他链接 准备工作 创建word模板.docx文件 编写模板格式.xml文件 java上手poi maven依赖 使用到的包 具体应用 对应封装方法 ...
- POI操作word文档,生成书签
近期做动态的word文档生成, 需要在指定XWPFRun生成书签的功能,有两种情况: 创建新word文档时候,直接在createRun前后调用生成书签的方法 XWPFRun oldRun = runs ...
- Java操作word指定位置插入数据
需求背景:因项目需要无法使用poi-tl包利用{{}}定位的方式向word模板的指定位置填写信息 解决方法:现利用替换占位字段的方式,在要替换的地方前后都插入书签 示例word: 在需要替换填写内容的 ...
- Jacob操作Word文档插入表格并表格中插入图片案例
一.环境配置 1).在项目中引入jacob.jar 2).将jacob-1.17-M2-x64.dll和jacob-1.17-M2-x86.dll文件放在jdk的path目录下面,通过System.g ...
最新文章
- 经典贪心法:时间序列问题及其全局最优性证明
- 大神开源AI代码!这次我也可以亲自上手、模仿OpenAI利用文本合成图像啦!
- spring boot构建基础版web项目(一)springboot、thymeleaf控制层基础构
- 简洁好用的KDTree模板
- js中const,var,let区别与用法
- 计算机专业实训计划,计算机专业实习计划范文
- [新功能]Blog首页仅列出标题
- Apache和Nginx防盗链
- jpcap的配置方法
- 系统 应用 数据缺一不可 云优化三步走
- 最长上升子序列模板 hdu 1087 Super Jumping! Jumping! Jumping!
- 2018年版北大中文核心期刊目录(2017最新第八版)
- psd效果预览转成网站首页(html+css)
- OpenCV在图片和视频中的人脸检测
- 富士施乐m115b怎么连接电脑_富士施乐m115b打印机驱动下载-富士施乐m115b驱动下载 v1.0.1.00官方版--pc6下载站...
- postman 定时任务
- 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。
- 一个老工程师给年轻人的十大忠告【转帖】
- 周杰伦新专辑预售热点传播分析报告概览
- 7-32 哥尼斯堡的“七桥问题”
热门文章
- Ubuntu 16.04 LTS 初体验 (转载)
- 计算机基础知识是一级吗,计算机二级和初级的区别 初级是一级吗
- OpenCv基础知识(入门)
- python3GUI--天气预报小工具(附源码)
- 李沐的深度学习笔记来了!
- ant-design-pro跨域问题
- 大疆M210 V2+妙算2-G+LIVOX MID-40使用记录
- ue4 unreal NDisplay插件 简易使用 三折幕 详细...
- 计算机组成原理语言方框图,计算机组成原理3---方框图语言
- C程序设计 谭浩强 第九章