翻譯|使用教程|編輯:李顯亮|2021-03-18 09:39:43.027|閱讀 426 次
概述:本文介紹使用Spire.Doc for .NET讀取Word文本框的方法。可讀取文本框中的文本、圖片和表格等。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Spire.Doc for .NET是一個專業(yè)的Word .NET庫,設(shè)計用于幫助開發(fā)人員高效地開發(fā)創(chuàng)建、閱讀、編寫、轉(zhuǎn)換和打印任何來自.NET( C#, VB.NET, ASP.NET)平臺的Word文檔文件的功能。
Spire.Doc for .NET是一款專門對 Word 文檔進(jìn)行操作的 .NET 類庫。致力于在于幫助開發(fā)人員輕松快捷高效地創(chuàng)建、編輯、轉(zhuǎn)換和打印 Microsoft Word 文檔,而無需安裝 Microsoft Word。本文介紹使用Spire.Doc for .NET讀取Word文本框的方法。可讀取文本框中的文本、圖片和表格等。
用于測試的Word源文檔如圖:
1、讀取文本框中的文本
C#
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System; using System.IO; using System.Text; namespace ExtractText { class Program { static void Main(string[] args) { //加載Word源文檔 Document doc = new Document(); doc.LoadFromFile("sample.docx"); //獲取文本框 TextBox textbox = doc.TextBoxes[0]; //創(chuàng)建StringBuilder類的對象 StringBuilder sb = new StringBuilder(); //遍歷文本框中的對象,獲取文本 foreach (object obj in textbox.Body.ChildObjects) { if (obj is Paragraph) { String text = ((Paragraph)obj).Text; sb.AppendLine(text); } } //保存寫入的txt文檔到指定路徑 File.WriteAllText("ExtractedText.txt", sb.ToString()); System.Diagnostics.Process.Start("ExtractedText.txt"); } } }
VB.NET
Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Imports System.IO Imports System.Text Namespace ExtractText Class Program Private Shared Sub Main(args As String()) '加載Word源文檔 Dim doc As New Document() doc.LoadFromFile("sample.docx") '獲取文本框 Dim textbox As TextBox = doc.TextBoxes(0) '創(chuàng)建StringBuilder類的對象 Dim sb As New StringBuilder() '遍歷文本框中的對象,獲取文本 For Each obj As Object In textbox.Body.ChildObjects If TypeOf obj Is Paragraph Then Dim text As [String] = DirectCast(obj, Paragraph).Text sb.AppendLine(text) End If Next '保存寫入的txt文檔到指定路徑 File.WriteAllText("ExtractedText.txt", sb.ToString()) System.Diagnostics.Process.Start("ExtractedText.txt") End Sub End Class End Namespace
文本讀取結(jié)果:
2、讀取文本框中的圖片
C#
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System; namespace ExtractImg { class Program { static void Main(string[] args) { //加載Word源文檔 Document doc = new Document(); doc.LoadFromFile("sample.docx"); //獲取文本框 TextBox textbox = doc.TextBoxes[0]; int index = 0 ; //遍歷文本框中所有段落 for (int i = 0 ; i < textbox.Body.Paragraphs.Count;i++) { Paragraph paragraph = textbox.Body.Paragraphs[i]; //遍歷段落中的所有子對象 for (int j = 0; j < paragraph.ChildObjects.Count; j++) { object obj = paragraph.ChildObjects[j]; //判定對象是否為圖片 if (obj is DocPicture) { //獲取圖片 DocPicture picture = (DocPicture) obj; String imageName = String.Format("Image-{0}.png", index); picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png); index++; } } } } } }
VB.NET
Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Namespace ExtractImg Class Program Private Shared Sub Main(args As String()) '加載Word源文檔 Dim doc As New Document() doc.LoadFromFile("sample.docx") '獲取文本框 Dim textbox As TextBox = doc.TextBoxes(0) Dim index As Integer = 0 '遍歷文本框中所有段落 For i As Integer = 0 To textbox.Body.Paragraphs.Count - 1 Dim paragraph As Paragraph = textbox.Body.Paragraphs(i) '遍歷段落中的所有子對象 For j As Integer = 0 To paragraph.ChildObjects.Count - 1 Dim obj As Object = paragraph.ChildObjects(j) '判定對象是否為圖片 If TypeOf obj Is DocPicture Then '獲取圖片 Dim picture As DocPicture = DirectCast(obj, DocPicture) Dim imageName As [String] = [String].Format("Image-{0}.png", index) picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png) index += 1 End If Next Next End Sub End Class End Namespace
圖片讀取結(jié)果:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn