Word中的文本高亮和背景是通過不同方法來設定的,文本高亮(Text Highlight Color)是通過【字體】中的快速工具列設定;文本背景(Text Background/Shading)是通過【設計】-【頁面邊框】-【底紋】來設定,因此,在讀取檔案中的文本高亮或背景時需要采用不同方法,下面通過呼叫Spire.doc.dll檔案提供的方法來分別獲取,
需在【解決方案資源管理器】中參考以下必要程式集檔案:

程式中用于測驗的Word檔案如圖:

C#
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System; using System.Drawing; namespace GetTextBackground { class Program { static void Main(string[] args) { //加載Word檔案 Document doc = new Document(); doc.LoadFromFile("test.docx"); //獲取section Section section = doc.Sections[0]; //遍歷所有段落 for (int i = 0; i < section.Paragraphs.Count;i++ ) { Paragraph paragraph = section.Paragraphs[i]; //遍歷段落中的所有物件 for (int j = 0; j < paragraph.ChildObjects.Count;j++ ) { object obj = paragraph.ChildObjects[j]; if (obj is TextRange) { string text = ((TextRange)obj).Text;//獲取文本 //Color color = ((TextRange)obj).CharacterFormat.HighlightColor;//獲取文本的高亮顏色(即突出顯示顏色) Color color = ((TextRange) obj).CharacterFormat.TextBackgroundColor;//獲取文字背景色(底紋) if (!(color.IsEmpty)) { //獲取文本和顏色 Console.WriteLine("文本內容:"+ text+ "\n"+ "顏色:"+ color); Console.ReadLine(); } } } } } } }
VB.NET
Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Imports System.Drawing Namespace GetTextBackground Class Program Private Shared Sub Main(args As String()) '加載Word檔案 Dim doc As New Document() doc.LoadFromFile("test.docx") '獲取section Dim section As Section = doc.Sections(0) '遍歷所有段落 For i As Integer = 0 To section.Paragraphs.Count - 1 Dim paragraph As Paragraph = section.Paragraphs(i) '遍歷段落中的所有物件 For j As Integer = 0 To paragraph.ChildObjects.Count - 1 Dim obj As Object = paragraph.ChildObjects(j) If TypeOf obj Is TextRange Then Dim text As String = DirectCast(obj, TextRange).Text '獲取文本 'Color color = ((TextRange)obj).CharacterFormat.HighlightColor;//獲取文本的高亮顏色(即突出顯示顏色) Dim color As Color = DirectCast(obj, TextRange).CharacterFormat.TextBackgroundColor '獲取文字背景色(底紋) If Not (color.IsEmpty) Then '獲取文本和顏色 Console.WriteLine((Convert.ToString("文本內容:") & text) + vbLf + "顏色:" + color) Console.ReadLine() End If End If Next Next End Sub End Class End Namespace
文本背景(底紋)讀取結果:

文本高亮讀取結果:

(如需轉載,請務必注明出處!!)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/270414.html
標籤:C#
上一篇:如何在 ASP.Net Web Forms 中使用依賴注入
下一篇:C# 內部類與外部類的訪問
