跳至頁尾內容
產品對比

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

PDF 是 Adobe Acrobat Reader 所建立的可攜式文件格式,廣泛用於透過網際網路以數位方式分享資訊。 保留資料的格式,並提供設定安全權限和密碼保護等功能。 身為 C# 開發人員,您可能會遇到需要將 PDF 功能整合至軟體應用程式的情況。 從零開始建立可能是一項耗時且乏味的工作。 因此,考慮到應用程式的效能、效果和效率,在從頭建立新服務或使用預先建立的函式庫之間,權衡取捨是相當重要的。

有幾個 PDF 函式庫可用於 C#。 在這篇文章中,我們將探討用 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 的資訊 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# 開發的官方 IDE,您必須安裝。 如果尚未安裝,您可以從 Microsoft Visual Studio 網站下載。

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

1.開啟 Visual Studio 並按一下"建立新專案"。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) 圖 1 - New project](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-1.webp)

2.選擇"主控台應用程式",然後按一下"下一步"。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 2](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-2.webp)

3.設定專案名稱。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 3](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparisonon-3.webp)

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

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 4](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparisonon-4.webp)

安裝 IronPdf Library

專案建立後,需要在專案中安裝 IronPDF 函式庫才能使用。 按照以下步驟安裝。

1.開啟 NuGet Package Manager,可從解決方案探索器或工具。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 5](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-5.webp)

2.瀏覽 IronPDF Library 並選擇它用於目前的專案。 按一下安裝。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 6](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-6.webp)

在 Program.cs 檔案的頂端新增下列命名空間:

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

安裝 iText 7 函式庫

專案建立後,需要在專案中安裝 iText 7 函式庫才能使用。 按照步驟安裝。

1.從 solution explorer 或 Tools 開啟 NuGet Package Manager。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 7](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-7.webp)

2.瀏覽 iText 7 Library 並選擇它用於目前的專案。 點擊安裝。

![Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 8](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparisonon-8.webp)

在 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;
$vbLabelText   $csharpLabel

開啟 PDF 檔案

我們要使用以下 PDF 檔案來擷取其中的文字。 這是一份兩頁的 PDF 文件。

Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 9

使用 iText library

使用 iText 函式庫開啟 PDF 檔案需要兩個步驟。 首先,我們建立一個 PdfReader 物件,並傳送檔案位置作為參數。 然後,我們使用 PdfDocument 類建立新的 PDF 文件。 代碼如下:

// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);
// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);
$vbLabelText   $csharpLabel

使用 IronPdf

使用 IronPDF 開啟 PDF 檔案非常容易。 使用 PdfDocument 類的 FromFile 方法從任何檔案位置開啟 PDF。 以下單行程式碼會開啟 PDF 檔案讀取資料:

// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");
// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");
$vbLabelText   $csharpLabel

從 PDF 檔案讀取資料

使用 iText7 函式庫

在 iText 7 函式庫中讀取 PDF 資料並非那麼簡單。 我們必須手動迴圈 PDF 文件的每頁,從每頁中擷取文字。 以下源代碼有助於從 PDF 文件中逐頁提取文字:

// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);

    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();
// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);

    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();
$vbLabelText   $csharpLabel

上面的程式碼有很多內容。 首先,我們宣告文字萃取策略,然後我們使用 PdfExtractor 類的 GetTextFromPage 方法來讀取文字。 此方法接受兩個參數:第一個參數為 PDF 文件頁面,第二個參數為策略。 若要取得 PDF 文件頁面,請使用 PdfDocument 的實例來呼叫 GetPage 方法,並傳送頁碼作為參數。 輸出會以字串形式傳回,然後顯示在控制台輸出畫面中。 最後,關閉 PDFReaderPdfDocument 物件。 此外,請參閱以下關於 使用 iText7 從 PDF 擷取文字的程式碼範例。

輸出

Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 10

使用 IronPdf

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

// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);
// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);
$vbLabelText   $csharpLabel

輸出

Itext7 Read PDF in C# Alternatives (VS IronPDF) Figure 11

輸出內容準確無誤。 不過,若要使用 ExtractAllText 方法,您需要擁有授權,因為它只能在生產模式下使用。 您可以從 IronPDF試用授權頁面取得30天的試用授權金鑰。

比較

相較之下,這兩個函式庫在從 PDF 文件擷取文字時,都能提供 100% 準確的結果。 在精確度方面,它們是完全相同的。 然而,IronPDF 在性能和代碼可讀性方面更加高效。

IronPDF 只需兩行程式碼即可達成與 iText 相同的任務。 它提供開箱即用的文字擷取方法,不需要實作任何額外的邏輯。 iText 代碼有點棘手,您必須關閉開啟 PDF 文件時建立的兩個實體。 而 IronPDF 在執行任務後,會自動清除記憶體。

摘要

在本文中,我們瞭解了如何使用 C# 中的 iText 函式庫來讀取 PDF 文件,然後與 IronPDF 進行比較。 這兩個函式庫都能提供精確的結果,並提供許多 PDF 操作方法可供使用。 您可以使用這兩個函式庫建立、編輯 PDF 檔案,並從 PDF 檔案讀取資料。

iText 是開放原始碼,可自由使用,但有限制。 可授權用於商業用途。 IronPDF 也可以免費使用,並可授權用於商業活動,同時提供30 天免費試用

下載 IronPDF 並試用一下

請注意iText 7 是其各自擁有者的註冊商標。 本網站與 iText 7 無任何關聯、背書或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較資料僅供參考,並反映撰寫時的公開資訊。

常見問題解答

IronPDF是什麼?它與iText 7相比如何?

IronPDF 是一個 .NET 程式庫,專為使用 HTML、CSS 和 JavaScript 產生和操作 PDF 文件而設計。與 iText 7 相比,IronPDF 更注重速度、易用性和準確性,只需更少的程式碼即可完成 PDF 任務。

如何在C#中將HTML轉換為PDF?

您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。此外,您也可以使用RenderHtmlFileAsPdf將 HTML 檔案轉換為 PDF。

在 C# 專案中安裝 IronPDF 的步驟是什麼?

若要在 C# 專案中安裝 IronPDF,請在 Visual Studio 中開啟 NuGet 套件管理器,搜尋 IronPDF,將其新增至您的專案中,然後按一下「安裝」。在 C# 檔案頂部新增using IronPdf;語句。

如何使用 IronPDF 從 PDF 文件中提取文字?

若要使用 IronPDF 從 PDF 中提取文本,請使用PdfDocument類別的FromFile方法載入 PDF,然後使用ExtractAllText方法擷取文字。

使用 IronPDF 時有哪些故障排除技巧?

請確保已透過 NuGet 正確安裝 IronPDF,並且 C# 檔案中包含了正確的命名空間。如果將 HTML 轉換為 PDF,請驗證檔案路徑並確保 HTML 內容格式正確。

IronPDF 能否處理 PDF 表單和註解?

是的,IronPDF 支援填寫表單並向 PDF 添加註釋等功能,使您能夠建立互動式和動態的 PDF 文件。

IronPDF可以免費使用嗎?

IronPDF 提供功能有限的免費版本,其商業版本提供 30 天免費試用,商業版本提供全方位的功能。

使用 iText 7 進行 PDF 處理有哪些限制?

雖然 iText 7 是一個功能強大的 PDF 庫,但它需要額外的邏輯來處理某些任務,例如文字擷取,這可能會導致程式碼比 IronPDF 更複雜、更冗長。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

iText Logo

厭倦了昂貴的續費和過時的產品更新?

透過我們的工程遷移支援和更優惠的價格,輕鬆從iText切換到。

IronPDF Logo