產品比較

iText7 在 C# 中讀取 PDF 的替代方案(VS IronPDF)

發佈 2023年6月20日
分享:

PDF 是一種由 Adobe Acrobat Reader 創建的可攜式文檔格式,廣泛用於在互聯網上共享數位資訊。它保留數據的格式佈局,並提供設置安全權限和密碼保護等功能。作為一名 C# 開發人員,您可能會遇到需要將 PDF 功能集成到軟體應用程序中的情況。從頭開始構建這些功能可能是一項耗時且繁瑣的任務。因此,考慮到應用程序的性能、效能和效率,從頭建立新服務與使用預製庫之間的權衡是很重要的。

有幾個適用於 C# 的 PDF 庫。在本文中,我們將探討兩個最受歡迎的用於讀取 PDF 文件的 C# PDF 庫。

iText 軟體

iText 7, 前身為 iText 7 Core,是一個用於在 .NET C# 和 Java 中撰寫 PDF 文件的 PDF 庫。它作為開源許可證提供 (AGPL) 可授權用於商業應用程式。

iText Core 是一個高層次的API,提供簡便的方法來生成和編輯PDF文件,無所不包。使用iText 7 Core,您可以分割、合併、註解、填寫表單、數位簽章等等。iText 7 提供了一個 HTML 轉 PDF 轉換器.

IronPDF

IronPDF 是一個用於生成 PDF 文件的 .NET 和 .NET Framework C# 和 Java API,可以從 URL、HTML 文件或 HTML 字串中使用 HTML、CSS 和 JavaScript。IronPDF 允許您操作現有的 PDF 文件,如分割、合併、註解、數位簽名等等。

IronPDF 擁有 50 多個功能來創建、閱讀和編輯 PDF 文件。當您需要使用 Adobe Acrobat Reader 交付高質量、像素完美的專業 PDF 文件時,它優先考慮速度、易用性和精確性。該 API 有詳細的文檔,並且在其代碼範例頁面上可以找到大量範例源代碼。

建立控制台應用程式

我們將使用 Visual Studio 2022 IDE 來建立應用程式。Visual Studio 是 C# 開發的官方 IDE,您必須安裝它。您可以從 Microsoft Visual Studio 網站,若未安裝。

以下步驟將創建一個名為 "DemoApp" 的新專案。

  1. 打開 Visual Studio 並點擊 "建立新專案"。

    Itext7 在 C# 中讀取 PDF 的替代方案(VS IronPDF) 圖 1 - 新項目

  2. 選擇「控制台應用程式」並點擊「下一步」。

    Itext7 讀取 PDF 在 C# 的替代方案 (對比 IronPDF) 圖2

  3. 設定專案名稱。

    Itext7 以C#讀取PDF的替代方案(VS IronPDF)圖3

  4. 選擇 .NET 版本。選擇穩定版本 .NET 6.0。

    Itext7 讀取 PDF 的 C# 替代方案 (VS IronPDF) 圖4

安裝 IronPDF 程式庫

創建專案後,需要在專案中安裝 IronPDF 程式庫以便使用。請按照以下步驟安裝:

  1. 從方案總管或工具中打開 NuGet 套件管理器。

    Itext7 在 C# 中讀取 PDF 的替代方案 (VS IronPDF) 圖 5

  2. 瀏覽並查找 IronPDF 庫,然後選擇當前專案。點擊安裝。

    Itext7 在 C# 中閱讀 PDF 的替代方案 (VS IronPDF) 圖 6

在 Program.cs 檔案的頂部添加以下命名空間

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

安裝 iText 7 庫

建立專案後,需要在專案中安裝 iText 7 庫以便使用。請按照以下步驟進行安裝。

  1. 從解決方案總管或工具中打開 NuGet 套件管理器。

    Itext7 在 C# 中讀取 PDF 的替代方案 (VS IronPDF) 圖7

  2. 瀏覽 iText 7 庫並選擇目前的專案。點擊安裝。

    Itext7 在 C# 中讀取 PDF 的替代方案(VS IronPDF)圖 8

在 Program.cs 文件的頂部添加以下命名空間

using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf
VB   C#

開啟 PDF 檔案

我們將使用以下 PDF 文件從中提取文本。這是一個兩頁的 PDF 文件。

Itext7 用 C# 讀取 PDF 的替代方案 (VS IronPDF) 圖 9

使用 iText 庫

要使用 iText 庫打開 PDF 文件需要兩個步驟。首先,我們創建一個 PdfReader 對象並將文件位置作為參數傳遞。然後,我們使用 PdfDocument 類創建一個新的 PDF 文檔。代碼如下:

PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
Dim pdfReader As New PdfReader("sample.pdf")
Dim pdfDoc As New PdfDocument(pdfReader)
VB   C#

使用 IronPDF

使用 IronPDF 開啟 PDF 文件非常簡單。使用 PdfDocument 類別的 FromFile 方法可以從任何文件位置開啟 PDF。以下的單行代碼打開一個 PDF 文件以讀取數據:

var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
Dim pdf = PdfDocument.FromFile("sample.pdf")
VB   C#

從 PDF 文件讀取資料

使用iText7函式庫

在iText 7函式庫中閱讀PDF數據並不像看起來那麼簡單。我們必須手動迴圈遍歷PDF文件的每一頁,以提取每頁的文本。以下源代碼有助於逐頁提取PDF文檔中的文本:

for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
    Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
    Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
	Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
	Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)
	Console.WriteLine(pageContent)
	page += 1
Loop
pdfDoc.Close()
pdfReader.Close()
VB   C#

在上面的程式碼中,有很多處理步驟。首先,我們宣告了文字提取策略,然後使用 PdfExtractor 類別的 GetTextFromPage 方法來讀取文字。此方法接受兩個參數:第一個是 PDF 文件頁面,第二個是策略。要獲取 PDF 文件頁面,使用 PdfDocument 實例來調用 GetPage 方法,並傳遞頁碼作為參數。輸出將作為字串返回,然後顯示在控制台顯示屏上。最後,關閉 PDFReaderPdfDocument 物件。同時,請參考以下程式碼示例。 這裡.

輸出

Itext7 讀取 PDF 在 C# 的替代方案 (VS IronPDF) 圖 10

使用 IronPDF

就像打開 PDF 檔案是一行程式碼一樣,從 PDF 檔案中讀取文本也是一行程式碼的過程。PDFDocument 類別提供了 ExtractAllText 方法來 閱讀全部內容 從檔案中。Console.WriteLine 用於在螢幕上打印文本。代碼如下:

string text = pdf.ExtractAllText();
Console.WriteLine(text);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
VB   C#

輸出

使用 C# 讀取 PDF 的 Itext7 替代方案 (VS IronPDF) 圖 11

輸出準確且沒有任何錯誤。但是,要使用 ExtractAllText 方法,您需要擁有許可證,因為它僅在生產模式下工作。您可以從這裡獲取為期 30 天的試用許可證密鑰 連結.

比較

在比較中,兩個庫在從PDF文件中提取文本時都能給出100%的準確結果。 在準確性方面,它們都是相同的。然而,IronPDF在效能和代碼可讀性方面更高效。

IronPDF只需兩行代碼即可完成與iText相同的任務。它內建文​​本提取方法,無需額外的邏輯實現。iText代碼有點複雜,您需要關閉在打開PDF文件時創建的兩個實例。相反,IronPDF在完成任務後會自動清除記憶體。

摘要

在本文中,我們探討了如何使用iText庫在C#中讀取PDF文檔,然後將其與IronPDF進行比較。兩個庫都能提供精確的結果並提供許多PDF操作方法來進行處理。您可以使用這兩個庫創建、編輯和讀取PDF文件中的數據。

iText是開源且免費使用的,但有一些限制。 授權 供商業使用。IronPDF 也可以免費使用,並且可以 授權 適用於商業活動的 30天免費試用下載 IronPDF 並試試看。

< 上一頁
如何使用Itextsharp將PDF轉換為圖像
下一個 >
IronPDF 與 Foxit PDF SDK 的比較

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >