欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#/VB.NET中從?PDF?文檔中提取所有表格

 更新時(shí)間:2022年08月03日 14:11:35   作者:wx62c7d51fdb3c6???????  
這篇文章主要介紹了C#/VB.NET中從PDF文檔中提取所有表格,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

有時(shí),我們可能需要從 PDF 文檔中提取表格數(shù)據(jù),例如,當(dāng)PDF發(fā)票的表格中存儲(chǔ)了一些有用的信息,需要提取數(shù)據(jù)以進(jìn)行進(jìn)一步分析時(shí)。在這篇文章中,我將介紹如何使用Spire.PDF for .NET 從 PDF 文檔中提取所有表格數(shù)據(jù)。

安裝

首先,我們需要將 Spire.PDF for .NET 包中包含的 DLL 文件添加為 .NET 項(xiàng)目中的引用??梢詮拇随溄酉螺d DLL 文件,也可以通過(guò) NuGet 安裝 DLL 文件。

PM> Install-Package Spire.PDF

從PDF文檔中提取表格

Spire.PDF提供了PdfTableExtractor.ExtractTable()方法,用于從特定頁(yè)面中提取表格。以下是從整個(gè)PDF文檔中提取表格的詳細(xì)步驟。

  • 創(chuàng)建一個(gè)Document類的對(duì)象,并加載源 PDF 文件。
  • 遍歷文檔中的頁(yè)面,并使用ExtractTable()方法從特定頁(yè)面獲取表格列表。
  • 遍歷特定表格中的單元格,并通過(guò)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)
{
//實(shí)例化PdfDocument類的對(duì)象
PdfDocument pdf = new PdfDocument();

//加載PDF文檔
pdf.LoadFromFile("sample.pdf");

//創(chuàng)建StringBuilder類的對(duì)象
StringBuilder builder = new StringBuilder();

//實(shí)例化PdfTableExtractor類的對(duì)象
PdfTableExtractor extractor = new PdfTableExtractor(pdf);

//聲明一個(gè)PdfTable類的表格數(shù)組
PdfTable[] tableLists;

//遍歷PDF頁(yè)面
for (int pageIndex = 0; pageIndex < pdf.Pages.Count; pageIndex++)
{
//從頁(yè)面提取表格
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())
'實(shí)例化PdfDocument類的對(duì)象
Dim pdf As New PdfDocument()

'加載PDF文檔
pdf.LoadFromFile("sample.pdf")

'創(chuàng)建StringBuilder類的對(duì)象
Dim builder As New StringBuilder()

'實(shí)例化PdfTableExtractor類的對(duì)象
Dim extractor As New PdfTableExtractor(pdf)

'聲明一個(gè)PdfTable類的表格數(shù)組
Dim tableLists As PdfTable()

'遍歷PDF頁(yè)面
For pageIndex As Integer = 0 To pdf.Pages.Count - 1
'從頁(yè)面提取表格
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 文檔中提取所有表格的文章就介紹到這了,更多相關(guān)C#提取表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#使用CefSharp自定義緩存實(shí)現(xiàn)

    C#使用CefSharp自定義緩存實(shí)現(xiàn)

    本文介紹了如何使用C#和CefSharp自定義緩存實(shí)現(xiàn)減少Web應(yīng)用程序的網(wǎng)絡(luò)請(qǐng)求,提高應(yīng)用程序性能。首先,本文講解了CefSharp的基本知識(shí)和使用方法。然后,詳細(xì)闡述了在CefSharp中實(shí)現(xiàn)自定義緩存的步驟和技巧。最后,通過(guò)實(shí)例演示了如何使用自定義緩存功能獲取并展示網(wǎng)頁(yè)數(shù)據(jù)
    2023-04-04
  • C#線程池ThreadPool用法簡(jiǎn)介

    C#線程池ThreadPool用法簡(jiǎn)介

    這篇文章介紹了C#線程池ThreadPool的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲

    C#實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C#使用ODBC與OLEDB連接數(shù)據(jù)庫(kù)的方法示例

    C#使用ODBC與OLEDB連接數(shù)據(jù)庫(kù)的方法示例

    這篇文章主要介紹了C#使用ODBC與OLEDB連接數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式分析了C#基于ODBC與OLEDB實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接操作簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2017-05-05
  • C#使用xsd文件驗(yàn)證XML格式是否正確的實(shí)現(xiàn)方法

    C#使用xsd文件驗(yàn)證XML格式是否正確的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#使用xsd文件驗(yàn)證XML格式是否正確的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了C#針對(duì)xml文件的創(chuàng)建、驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫(kù)操作類完整實(shí)例

    C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫(kù)操作類完整實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫(kù)操作類,結(jié)合完整實(shí)例形式分析了C#針對(duì)access數(shù)據(jù)庫(kù)增刪改查、事務(wù)、結(jié)果處理等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • C#常用目錄文件操作類實(shí)例

    C#常用目錄文件操作類實(shí)例

    這篇文章主要介紹了C#常用目錄文件操作類,實(shí)例分析了C#針對(duì)目錄的讀取、檢測(cè)及查找等相關(guān)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • C#實(shí)現(xiàn)為視頻添加水印

    C#實(shí)現(xiàn)為視頻添加水印

    這篇文章主要為大家詳細(xì)介紹了C#如何使用ffmpeg命令,分別實(shí)現(xiàn)給視頻添加圖片水印以及文字水印,文中的示例代講解詳細(xì),感興趣的可以了解一下
    2023-01-01
  • C#實(shí)現(xiàn)計(jì)算一個(gè)點(diǎn)圍繞另一個(gè)點(diǎn)旋轉(zhuǎn)指定弧度后坐標(biāo)值的方法

    C#實(shí)現(xiàn)計(jì)算一個(gè)點(diǎn)圍繞另一個(gè)點(diǎn)旋轉(zhuǎn)指定弧度后坐標(biāo)值的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)計(jì)算一個(gè)點(diǎn)圍繞另一個(gè)點(diǎn)旋轉(zhuǎn)指定弧度后坐標(biāo)值的方法,涉及C#針對(duì)坐標(biāo)的數(shù)學(xué)運(yùn)算相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • C#使用日志組件log4net

    C#使用日志組件log4net

    這篇文章介紹了C#日志組件log4net的使用方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論