產品比較

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

發佈 2023年6月20日
分享:

PDF 是由 Adobe Acrobat Reader 創建的可移植文件格式,廣泛用於透過互聯網以數位方式分享資訊。 它保留了數據的格式,並提供設置安全許可和密碼保護等功能。 作為 C# 開發人員,您可能曾遇到需要在您的軟體應用程式中整合 PDF 功能的情況。 從頭開始建構可能是一項耗時且繁瑣的任務。 因此,考慮到應用程式的效能、效果和效率,從頭開始創建新服務或使用預建庫之間的權衡具有顯著意義。

有多種適用於 C# 的 PDF 庫。 在本文中,我們將探討兩個在 C# 中用於閱讀 PDF 文檔的最受歡迎的 PDF 庫。

iText 軟體

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

iText Core 是一個高階 API,提供簡單的方法以各種可能的方式生成和編輯 PDF。 使用 iText 7 Core,您可以拆分、合併、註釋、填寫表單、數位簽名以及對 PDF 文件執行更多操作。 iText 7 提供一個HTML 轉 PDF 轉換器.

IronPDF

了解更多關於IronPDF的信息是一個 .NET 和 .NET Framework C# 及 Java API,用於從 URL、HTML 檔案或 HTML 字串透過 HTML、CSS 和 JavaScript 生成 PDF 檔案。 IronPDF允許您操作現有的PDF文件,如拆分、合併、註解、數位簽名等更多功能。

IronPDF 擁有 50 多項功能來創建、閱讀和編輯 PDF 文件。 當您需要使用 Adobe Acrobat Reader 生成高品質且像素完美的專業 PDF 文件時,它優先考慮速度、易用性和準確性。 該 API 有詳細的文件記錄,並且可以在其上找到許多範例源代碼。程式碼範例頁面.

建立主控台應用程式

我們將使用 Visual Studio 2022 IDE 來開始建立應用程式。 Visual Studio 是 C# 開發的官方集成開發環境,您必須安裝它。 您可以從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中提取文本.

輸出

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

使用 IronPDF

就像打開 PDF 文件只需一行代碼一樣,從 PDF 文件中讀取文本也是一行代碼的過程。 PDFDocument 類別提供了 ExtractAllText 方法以從PDF中閱讀整個內容. 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天的試用授權金鑰IronPDF 試用許可頁面.

比較

相比之下,兩個庫在從 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.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >