C# 操作Word書簽(二)——讀取、替換Word書簽
阿新 • • 發佈:2018-07-19
內容替換 ces name 保存 graphs nav edit 51cto 變量 在上一篇文章中介紹了關於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();//添加section sec.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和TextBodyPart TextBodySelection 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);//用新添加段落的內容替換掉原書簽的內容並保留格式 //移除section document.Sections.Remove(sec); //保存文檔並打開 document.SaveToFile("替換書簽.docx"); System.Diagnostics.Process.Start("替換書簽.docx"); } } }
測試結果:
以上是本次關於C# 操作Word書簽功能的補充介紹,如需轉載,請註明出處。
(本文完)
C# 操作Word書簽(二)——讀取、替換Word書簽