產品比較

使用 iTextSharp 與 IronPDF 在 C# 中從 PDF 中提取文本

喬迪·巴迪亞
喬迪·巴迪亞
2023年11月14日
分享:

在數位文件管理的動態環境中,能夠輕鬆地從PDF文件中提取數據是一項基礎任務,支撐著多種應用程序。 提取文本的過程對於全面數據分析、內容索引、商業用途和文本處理等目的至關重要。 在眾多可用工具中,iTextSharp 作為一個備受推崇的 C# 庫,成為從 PDF 文件中提取文本的卓越解決方案。

在這篇綜合文章中,我們將深入探索使用 iTextSharp 的豐富功能,探討這個強大且多功能的解析庫如何使開發人員能夠使用 C# 程式語言高效地從 PDF 文件中提取文本內容。 我們將揭示關鍵的方法、範例技術和最佳實踐,為開發人員提供利用iTextSharp進行文本提取所需的知識。 我們還將在這篇文章中討論並比較最好的和最強大的 PDF 函式庫 IronPDF。

如何從 PDF C# 提取文本

  1. 下載用於從 PDF 提取文本的 C# 程式庫。

  2. 透過實例化 PdfReader 對象來加載現有的 PDF。

  3. 使用 GetTextFromPage 方法從 PdfDocument 物件中提取文字。

  4. 實例化 foreach 迴圈以遍歷這些行。

  5. 使用 WriteLine 方法將行寫入檔案。

什麼是 IronPDF?

IronPDF 概述, 是 .NET 開發領域中一個知名且功能豐富的庫,革新了 PDF 的生成和操作。 為開發者提供全面的工具套件,IronPDF 促進在 C# 應用程式中的無縫整合,允許輕鬆創建、修改和渲染 PDF 文件。 憑藉直觀的 API 和強大的功能,此多功能庫為從 HTML、圖片和內容生成高品質 PDF 打開了無限可能的世界。 在本文中,我們將探討IronPDF的功能,深入其主要特點並展示如何利用它在C#中有效地處理PDF相關任務。

iTextSharp 庫

iTextSharp,一個在使用 C# 操作 PDF 的領域中著名且強大的函式庫,已徹底改變了開發者處理 PDF 文件的方式。 它是一個多功能且強大的工具,用於創建、修改和提取 PDF 文件中的內容。 iTextSharp 為開發人員提供生成高級 PDF、提取圖像、操作現有文件和提取數據的功能,使其成為廣泛應用程序的首選解決方案。 在本文中,我們將深入探討 iTextSharp 的功能和特性,探索如何在 C# 編程環境中有效地使用它來管理和操作 PDF。

安裝 IronPDF

安裝 IronPDF 是一個簡單的過程,以下是在您的 C# 項目中安裝和整合 IronPDF 的步驟。

  1. 打開 Visual Studio,建立一個新專案或開啟現有專案。

  2. 前往工具並從下拉選單中選擇NuGet套件管理員。

  3. 在新的側邊選單中,選擇方案的 NuGet 封裝管理器。

    使用 iTextSharp 或 IronPDF 在 C# 中從 PDF 提取文字 圖 1 - NuGet 套件管理器

  4. 在「NuGet 套件管理員」視窗中,選擇「瀏覽」標籤。

  5. 在搜索欄中輸入 "IronPDF" 並按 Enter。

  6. IronPDF 實例列表將出現,選擇最新版本並按下安裝。

    使用iTextSharp VS IronPDF在C#中從PDF提取文本 圖2 - IronPDF 安裝

    就這樣,IronPDF 安裝完畢,可以在你的 C# 專案中使用了。

安裝 iTextSharp 函式庫

安裝 iTextSharp PDF 庫與安裝 IronPDF 是相同的。 重複以上所有步驟,只需在瀏覽視窗中搜尋「iTextSharp」而非IronPDF,從套件列表中選擇並點擊安裝,即可在您的專案中整合iTextSharp PDF庫。

使用 iTextSharp 與 IronPDF 在 C# 中從 PDF 提取文本 圖 3 - iTextSharp

使用 IronPDF 從 PDF 文件中提取文字

IronPDF 提供從 PDF 檔案中提取文本的功能,可以根據特定頁面自動提取文本或從所有 PDF 中提取文本。 在下面的程式碼範例中,我們將看到如何從範例 PDF 文件的特定頁面中提取文字。

using IronPdf;
using System;
using PdfDocument PDF = PdfDocument.FromFile("Watermarked.pdf");
string Text = PDF.ExtractTextFromPage(1);
Console.Write(Text);
using IronPdf;
using System;
using PdfDocument PDF = PdfDocument.FromFile("Watermarked.pdf");
string Text = PDF.ExtractTextFromPage(1);
Console.Write(Text);

上面的程式碼使用 IronPDF 庫在 C# 中從 PDF 檔案中提取文字並在控制台中顯示。 首先,導入必要的命名空間,包括 IronPDF 和 System。 然後,程式碼使用 FromFile 方法將標題為 "Watermarked.pdf" 的 PDF 文件載入到一個 PdfDocument 物件中。 隨後,它使用 ExtractTextFromPage 從 PDF 的第二頁提取文本,並將其存儲在名為 Text 的字串變數中。 最後,使用 Console.Write 在控制台中顯示提取的文本。

使用iTextSharp與IronPDF於C#中從PDF擷取文本 圖4 - 輸出

使用iTextSharp庫從PDF文件提取文本

您也可以使用iTextSharp從PDF文件中提取文本,以下是一個iTextSharp庫的使用範例。

using System;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

namespace PDFApp2
{
    class Program
    {
        static void Main(string [] args)
        {
            string filePath = @"C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf";
            string outPath = @"C:\Users\buttw\OneDrive\Desktop\name.txt";
            int pagesToScan = 2;

            string strText = string.Empty;
            try
            {
                PdfReader reader = new PdfReader(filePath);
                for (int page = 1; page <= pagesToScan; page++) 
                {
                    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
                    strText = PdfTextExtractor.GetTextFromPage(reader, page, its);

                    strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)));
                    string [] lines = strText.Split('\n');
                    foreach (string line in lines)
                    {
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(outPath, true))
                        {
                            file.WriteLine(line);
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
    }
}
using System;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

namespace PDFApp2
{
    class Program
    {
        static void Main(string [] args)
        {
            string filePath = @"C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf";
            string outPath = @"C:\Users\buttw\OneDrive\Desktop\name.txt";
            int pagesToScan = 2;

            string strText = string.Empty;
            try
            {
                PdfReader reader = new PdfReader(filePath);
                for (int page = 1; page <= pagesToScan; page++) 
                {
                    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
                    strText = PdfTextExtractor.GetTextFromPage(reader, page, its);

                    strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)));
                    string [] lines = strText.Split('\n');
                    foreach (string line in lines)
                    {
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(outPath, true))
                        {
                            file.WriteLine(line);
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
    }
}

所提供的程式碼是一個使用 iTextSharp 函式庫的 C# 程式,用於從 PDF 文件的特定頁面提取文本並將其保存到文本文件中。首先,導入了必要的命名空間,包括 System.TextiTextSharp.text.pdfiTextSharp.text.pdf.parser。 該程式指定檔案名稱、輸入 PDF 檔案路徑、輸出文字檔案路徑,以及要掃描的頁數。 然後使用 iTextSharp 的 PdfReader 來讀取 PDF 文件。對於每個指定的頁面,它使用 iTextSharp 的新 LocationTextExtractionStrategy 來提取文本,將編碼轉換為 UTF-8。提取的文本被分割成行,並且來自 PDF 代碼的新 StringBuilder 文本在正確的方向上運作。 在過程中遇到的任何例外情況都會被捕獲並顯示在控制台中。 程式結束時會關閉 PdfReader

在 C# 中使用 iTextSharp 與 IronPDF 從 PDF 提取文本 圖 5 - 使用 iTextSharp 提取文本

結論

iTextSharp,是一個功能強大且多用途的 C# 庫,革新了 PDF 操作,實現了無縫的內容創建、修改和提取。 其強大的功能使其成為開發人員的首選解決方案,使他們能夠生成複雜的PDF並有效管理PDF內的文本內容。 此外,IronPDF 是 .NET 領域的另一個重要庫,提供了一套完整的工具來進行 PDF 生成和圖像處理,增強了開發人員能夠輕鬆從各種來源創建、修改和呈現高品質 PDF 的能力。 在比較這兩個 PDF 函式庫時,IronPDF 脫穎而出,因為其詳細的文件和易於使用的 API 僅需幾行程式碼即可完成所有文本提取,而使用 iTextSharp 則需要撰寫冗長且複雜的程式碼,並且需要對該函式庫和 C# 有深入的了解。

要了解更多关于IronPDF 的功能及其功能,請造訪官方網頁。 使用 IronPDF 提取文本的完整教程可以在此找到IronPDF 文本提取教程. 如需關於 IronPDF 和 iTextSharp 的完整教程,請訪問IronPDF 與 iTextSharp 比較.

喬迪·巴迪亞
軟體工程師
Jordi 最擅長 Python、C# 和 C++,當他不在 Iron Software 發揮技能時,他會進行遊戲編程。他負責產品測試、產品開發和研究,為持續產品改進增添了巨大的價值。多樣化的經驗使他感到挑戰和投入,他說這是與 Iron Software 合作的最喜歡的方面之一。Jordi 在佛羅里達州邁阿密長大,並在佛羅里達大學學習計算機科學和統計學。
< 上一頁
iTextSharp 文件審查與 IronPDF 比較
下一個 >
IronPDF 與 Puppeteer C#:比較