中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#如何實現從PDF中提取表格

發布時間:2022-08-04 10:51:13 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

本篇內容主要講解“C#如何實現從PDF中提取表格”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#如何實現從PDF中提取表格”吧!

程序環境

本次測試時,在程序中引入 Spire.PDF.dll 文件。

方法1:

將  Free Spire.PDF for .NET 下載到本地,解壓,找到 BIN 文件夾下的 Spire.PDF.dll。然后在 Visual Studio 中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“添加引用”,將本地路徑 BIN 文件夾下的 dll 文件添加引用至程序。

方法2:

通過NuGet安裝。可通過以下 2 種方法安裝:

1. 可以在 Visual Studio 中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“管理 NuGet 包”,然后搜索“Free Spire.PDF”,點擊“安裝”。等待程序安裝完成。

2. 將以下內容復制到 PM 控制臺安裝。

Install-Package FreeSpire.PDF -Version 8.6.0

從PDF中提取表格具體步驟

實例化PdfDocument類的對象并調用PdfDocument.LoadFromFile()方法加載文檔。

通過 PdfTableExtractor.ExtractTable(int pageIndex) 方法提取指定頁面中的表格。

通過 PdfTable.GetText(int rowIndex, int columnIndex) 方法將獲取具體行和列中的單元格文本內容。

將獲取的表格內容保存為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("編程語言1.pdf");

            //創建StringBuilder類的對象
            StringBuilder builder = new StringBuilder();

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

            //聲明PdfTable類的表格數組
            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)
                    {
                        //獲取表格中的行和列數
                        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");
                        }
                    }
                }
            }

            //保存提取的表格內容為txt文檔
            File.WriteAllText("提取表格.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("編程語言1.pdf")

      '創建StringBuilder類的對象
      Dim builder As New StringBuilder()

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

      '聲明PdfTable類的表格數組
      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
            '獲取表格中的行和列數
            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

      '保存提取的表格內容為txt文檔
      File.WriteAllText("提取表格.txt", builder.ToString())
    End Sub
  End Class
End Namespace

效果圖

C#如何實現從PDF中提取表格

注意:

測試代碼中的文件路徑為程序 Debug 路徑,僅供參考,文件路徑可自定義為其他路徑。

到此,相信大家對“C#如何實現從PDF中提取表格”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

pdf
AI

关岭| 黄石市| 英吉沙县| 奈曼旗| 清水河县| 西畴县| 镇坪县| 汨罗市| 塔河县| 贵南县| 江门市| 元朗区| 禄丰县| 乐清市| 施甸县| 尚志市| 惠东县| 乃东县| 双江| 浑源县| 营口市| 远安县| 宁南县| 莎车县| 唐山市| 喀什市| 宜君县| 江北区| 湘潭市| 穆棱市| 乌审旗| 津南区| 康马县| 石渠县| 克什克腾旗| 桑日县| 冷水江市| 丰原市| 京山县| 竹北市| 休宁县|