概要
书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间。对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"); //将表格添加至TextBodyPart TextBodyPart 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书签的方法”介绍如需转载,请注明出处。
相关推荐
C#得到word里面的书签,并向书签插入内容,将DateGridView内容作为表格插入到word书签中。
C#操作word,签入书签,图表,表格
通过C#调用NPOI组件生成Word文档,在生成Word文档过程中插入表格以及插入图片,使用到了C#,扩展等技术
ASP.NET c# 操作word模板插入文字、图片及表格 这个资源第一次上传是在15年,反正离现在有点年代了,当年肯定是用的起得现在我不做保证哈,目前修改原因是积分太高了,我需要修改一下,意思意思就行,
open xml 操作 word 书签open xml 操作 word 书签open xml 操作 word 书签open xml 操作 word 书签
此程序主要展示了如何把图片插入事先设定好的书签位置之中。 下载之后可以直接运行。
一般我们搞开发的时候用到的是事先做好一个word模板,在相应位置插入书签,然后程序里在需要导出表格的时候就调用这个模板,往插了书签的地方写文本或者图片,反向思考,这让我想到了能不能往用户给的上万个word文档...
C# 操作word 完整demo 可以运行,提供书签,插入图片,文字,表格,表格的拆分,合并,插入图表等。
使用c# 控制台完成: 创建Word; 插入文字,选择文字,编辑文字的字号、粗细、颜色、下划线等; 设置段落的首行缩进、行距; 设置页面页边距和纸张大小; 设置页眉、页码; 插入图片,设置图片宽高以及给图片添加...
C# Spire Word替换标签的操作 ,使用Spire为Word 导入Word模板,进行标签替换,后生成新的Word文件
C# 可以读写word,可以插入表格,用标签写入word文件 1. 通过模板创建新文档 2. 保存新文件 3、 在书签处插入值 4插入表格,bookmark书签 5、修改word样式
创建文档、插入文字、插入一个图片、在书签处插入文本
C#实现通过模板自动创建Word文档的方法,详细介绍了如何插入书签,再通过书签插入文字,图片,表格等等。付有详细代码。
通过c#创建基于模板的Word文档通过c#创建基于模板的Word文档
先在WORD文档中插入书签,然后用C#生成相应的书签的值,详情请查阅代码,内有说明,本版本为VS2010
C# 操作Web文档插入文字及图片及wed转成html转pdf 源码 自己项目也要用所以花了一些时间把需要的功能实现及整理
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、...C#与Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制...
Aspose.Words根据word模板标签进行替换,并插入图表(chart)饼形图,柱形图
针对C#或者VB在Winform中导出数据到word文档中: ... 3、标记word书签对编辑的书签进行删除,增加,更改, 4、删除空白页。 5、遍历书签删除内容,跳转到书签中。 6、设置字体,颜色,段落,对齐等。