您好,登錄后才能下訂單哦!
這篇文章主要介紹了C#/ VB.NET中怎么從PDF文檔中提取所有表格的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C#/ VB.NET中怎么從PDF文檔中提取所有表格文章都會有所收獲,下面我們一起來看看吧。
首先,我們需要將 Spire.PDF for .NET 包中包含的 DLL 文件添加為 .NET 項目中的引用??梢詮拇随溄酉螺d DLL 文件,也可以通過 NuGet 安裝 DLL 文件。
PM> Install-Package Spire.PDF
Spire.PDF提供了PdfTableExtractor.ExtractTable()方法,用于從特定頁面中提取表格。以下是從整個PDF文檔中提取表格的詳細(xì)步驟。
創(chuàng)建一個Document類的對象,并加載源 PDF 文件。
遍歷文檔中的頁面,并使用ExtractTable()方法從特定頁面獲取表格列表。
遍歷特定表格中的單元格,并通過PdfTable.GetText()方法獲取單元格值。
將所提取的數(shù)據(jù)寫入 TXT 文件。
[C#]
using Spire.Pdf; using Spire.Pdf.Utilities; using System.IO; using System.Text; namespace ExtractTable { class Program { static void Main(string[] args) { //實例化PdfDocument類的對象 PdfDocument pdf = new PdfDocument(); //加載PDF文檔 pdf.LoadFromFile("sample.pdf"); //創(chuàng)建StringBuilder類的對象 StringBuilder builder = new StringBuilder(); //實例化PdfTableExtractor類的對象 PdfTableExtractor extractor = new PdfTableExtractor(pdf); //聲明一個PdfTable類的表格數(shù)組 PdfTable[] tableLists; //遍歷PDF頁面 for (int pageIndex = 0; pageIndex < pdf.Pages.Count; pageIndex++) { //從頁面提取表格 tableLists = extractor.ExtractTable(pageIndex); //判斷表格列表是否為空 if (tableLists != null && tableLists.Length > 0) { //遍歷表格 foreach (PdfTable table in tableLists) { //獲取表格中的行和列數(shù) int row = table.GetRowCount(); int column = table.GetColumnCount(); //遍歷表格行和列 for (int i = 0; i < row; i++) { for (int j = 0; j < column; j++) { //獲取行和列中的文本 string text = table.GetText(i, j); //寫入文本到StringBuilder容器 builder.Append(text + " "); } builder.Append("\r\n"); } } } } //保存提取的表格內(nèi)容為.txt文檔 File.WriteAllText("ExtractedTable.txt", builder.ToString()); } }
VB.NET
Imports Spire.Pdf Imports Spire.Pdf.Utilities Imports System.IO Imports System.Text Namespace ExtractTable Class Program Private Shared Sub Main(args As String()) '實例化PdfDocument類的對象 Dim pdf As New PdfDocument() '加載PDF文檔 pdf.LoadFromFile("sample.pdf") '創(chuàng)建StringBuilder類的對象 Dim builder As New StringBuilder() '實例化PdfTableExtractor類的對象 Dim extractor As New PdfTableExtractor(pdf) '聲明一個PdfTable類的表格數(shù)組 Dim tableLists As PdfTable() '遍歷PDF頁面 For pageIndex As Integer = 0 To pdf.Pages.Count - 1 '從頁面提取表格 tableLists = extractor.ExtractTable(pageIndex) '判斷表格列表是否為空 If tableLists IsNot Nothing AndAlso tableLists.Length > 0 Then '遍歷表格 For Each table As PdfTable In tableLists '獲取表格中的行和列數(shù) Dim row As Integer = table.GetRowCount() Dim column As Integer = table.GetColumnCount() '遍歷表格行和列 For i As Integer = 0 To row - 1 For j As Integer = 0 To column - 1 '獲取行和列中的文本 Dim text As String = table.GetText(i, j) '寫入文本到StringBuilder容器 builder.Append(text & Convert.ToString(" ")) Next builder.Append(vbCr & vbLf) Next Next End If Next '保存提取的表格內(nèi)容為.txt文檔 File.WriteAllText("ExtractedTable.txt", builder.ToString()) End Sub End Class End Namespace
關(guān)于“C#/ VB.NET中怎么從PDF文檔中提取所有表格”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“C#/ VB.NET中怎么從PDF文檔中提取所有表格”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。