您好,登錄后才能下訂單哦!
書簽的設置可以幫助我們快速的定位某段文字,使用起來很方便,也很節省時間。對word文檔中的書簽操作,比較常見的是直接對某段文字插入書簽,在下面的示例中,除了介紹插入書簽的方法外,也將介紹操作書簽的一些拓展方法,包括插入圖片、表格到書簽位置所在的段落、刪除書簽等。示例要點如下:
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");
}
}
}
測試效果:
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);
}
}
}
圖片插入效果:
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");
}
}
}
表格插入效果:
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書簽的方法”介紹如需轉載,請注明出處。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。