跳至頁尾內容
PDF工具

如何分離PDF頁面

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

IronPDF vs iText / iText

綜合 .NET PDF 程式庫的比較 — 根據證據的功能對功能比較

iText / iText
13
20項功能中
10 Yes 7 Complex 3 No
IronPDF ✦
20
20項功能中
20 Yes 0 Complex 0 No
功能 iText / iText IronPDF ✦
PDF 建立與轉換
HTML/CSS 至 PDF $ Paid Add-on
HTML→PDF 通過 pdfHTML 插件(單獨的套件,AGPL/商業模式)。
✓ Yes
基於Chromium的引擎,內建像素完美的CSS3、Flexbox和Grid渲染。
JavaScript執行 ? Unknown
pdfHTML 描述 HTML/CSS→PDF 轉換,但文件中未聲明JS執行支持。
✓ Yes
在渲染期間充分執行JS——動態圖表、單頁應用和互動內容。
程式生成 ✓ Yes
定位為一個可編程的 .NET PDF SDK — 建立、編輯和增強。
✓ Yes
從HTML模板、字串、ASPX視圖或圖像生成。Chromium 處理佈局。
URL到PDF $ Paid Add-on
可能通過 pdfHTML 插件實現 URL 擷取,但不是核心功能。
✓ Yes
RenderUrlAsPdf() 捕捉任何即時 URL,完整的 CSS/JS 渲染。
DOCX到PDF ✕ No
無原生 Word 轉換 — iText 是一個 PDF 原生 SDK。
✓ Yes
DocxToPdfRenderer 轉換 Word 文件,保持結構和格式。
讀取與擷取
文字擷取 ✓ Yes
PdfTextExtractor.GetTextFromPage() 與多種提取策略。
✓ Yes
提取文字時考慮版面。結合 IronOCR 用於掃描文件。
將頁面渲染為圖像 ? Unknown
OCR 工作流程提到渲染,但在引用的 iText 文件中沒有證據顯示主要來源的 "PDF→圖像渲染器" 模組。
✓ Built-in
原生光柵化為 PNG、JPEG、BMP 等,具有可配置的 DPI。
內建 OCR $ Paid Add-on
pdfOCR 插件可用;安裝說明提到平台專用/原生依賴(如Linux/macOS運行時要求)。
✓ Via IronOCR
與 IronOCR 的原生整合,可對127種以上語言的掃描PDF文件進行OCR。
編輯與操作
合併與拆分 ✓ Yes
PdfMerger 在 .NET API 中的類別;官方例子討論通過 PdfMerger 進行合併。
✓ Yes
單行合併、拆分、附加、前置和頁面重新排序,具有直觀的API。
頁眉、頁腳與頁碼 ✓ Yes
PDF 協會列出確認了向現有PDF新增"頁碼"等功能的能力。
✓ Yes
基於HTML的頁眉/頁腳,自動頁碼、日期和自定義內容。
水印 ✓ Yes
PDF 協會列出明確包括 "水印…到現有PDF文件"。
✓ Yes
ApplyWatermark() 接受HTML/CSS——完全控制不透明度、旋轉、 位置。
蓋章文字和圖像 ✓ Yes
可通過 iText 的畫布和佈局 API 編程布置內容。
✓ Yes
TextStamper & ImageStamper 與 Google 字體、定位、 每頁控制。
內容遮蔽 ✓ Yes
iText 提供通過清理模組的遮蔽註解支持。
✓ Yes
RedactTextOnAllPages() 單行永久移除敏感文字。
安全與合規
加密與密碼 ✓ Yes
通過 iText 的安全 API 完整的加密和權限控制。
✓ Yes
AES 加密、擁有者/使用者密碼、詳細權限(列印、複製、註解)。
數位簽名 ✓ Yes
專用數位簽章文件和簽名 API(PdfSigner)。
✓ Yes
PdfSignature 支持 X509/PFX 證書。
PDF/A 和 PDF/UA 合規 ✓ Yes
文件涵蓋建立 PDF/A 並解釋限制(從現有文件轉換不是 自動的)。
✓ Yes
原生 PDF/A 檔案存檔和 PDF/UA 可及性合規,用於企業使用。
平台與部署
跨平台支持 ✓ Yes
.NET Standard 2.0 / .NET Framework 4.6.1 — 在所有作業系統的 .NET 6+ 上運行。
✓ Yes
Windows、Linux、macOS、x64、x86、ARM。 .NET 6–10、Core、Standard 2.0+,Framework 4.6.2+。
伺服器 / Docker / 雲 ~ Complex
核心安裝需要多個包(iText + Bouncy Castle適配器);插件 (pdfHTML/pdfOCR)需要進一步的依賴/合規步驟。
✓ Yes
Docker、Azure、AWS、IIS。官方Docker影像和部署指引。
輕鬆設置 ~ Complex
核心安裝需要多個包(Bouncy Castle適配器);HTML/OCR 需要額外插件,有時還有原生依賴。
✓ Simple
單個 Install-Package IronPdf NuGet 指令。數分鐘內即可準備好。
授權與支持
授權模式 ~ Complex
雙重授權:AGPLv3(網路使用需源程式碼披露)或商業授權。AGPL對專有應用可能有限制。
✓ Commercial
永久授權。30天全功能免費試用,無水印。
商業支持與 SLA ✓ Yes
iText 網站包括商業授權 + 支持協議作為其授權模式的一部分。
✓ 24/5 Support
專用工程支持,保證 SLA — 電子郵件、即時聊天、電話。
文件 ✓ Yes
提供安裝指南、知識庫文章和 API 參考(核心 + 插件)。
✓ Extensive
完整的 API 參考,100 多個故障排除、教學、程式碼範例、故障排除、影片。

資料來源於官方的 iText 文件、PDF 協會清單和 NuGet 包參考。
iText 功能強大但具有 AGPL 許可的復雜性和多包設置開銷。
IronPDF 提供完整覆蓋且設置更簡單—免費試用 30 天

PDF 是一種由 Adobe Acrobat Reader 建立的便攜式文件格式,廣泛用於在網路上數位分享資訊。 它保留資料的格式並提供設置安全許可和密碼保護等功能。 作為一名 C# 開發者,您可能曾遇到將 PDF 功能整合到您的軟體應用中的情況。 從頭開始構建可能是一項耗時且繁瑣的工作。 因此,考慮應用的性能、效果和效率,從零開始建立新服務或者使用現成的程式庫之間的折衷顯得尤為重要。

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

iText 軟體

iText,前身為 iText Core,是一種用於在 .NET C# 和 Java 中程式化 PDF 文件的 PDF 程式庫。 它以開源許可(AGPL)提供,可以為商業應用許可。

iText Core 是一個高級 API,提供簡便的方法來生成和編輯 PDF。 使用 iText Core,您可以拆分、合併、註解、填寫表單、數位簽章以及對 PDF 文件做更多操作。 iText 提供了一個 HTML 至 PDF 轉換器

IronPDF

了解更多關於 IronPDF 的資訊 是一個 .NET 和 .NET Framework C# 及 Java API,用於從 URL、HTML 文件或 HTML 字串生成 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 並點擊"建立新專案"。

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖1 - 新專案

  2. 選擇"控制檯應用"並點擊"下一步"。

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖2

  3. 設定專案名稱。

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖3

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

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖4

安裝 IronPDF 程式庫

一旦建立專案,需要在專案中安裝 IronPDF 程式庫才能使用它。 請按照以下步驟安裝。

  1. 打開 NuGet 包管理器,可以從解決方案總管或工具中打開。

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖5

  2. 瀏覽 IronPDF 程式庫並為當前專案選擇它。 點擊安裝。

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖6

在 Program.cs 文件的頂部新增以下命名空間:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

安裝 iText 程式庫

一旦建立專案,需要在專案中安裝 iText 程式庫才能使用它。 請按照以下步驟安裝。

  1. 打開 NuGet 包管理器,可以從解決方案總管或工具中打開。

    iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖7

  2. 瀏覽 iText 程式庫並為當前專案選擇它。 點擊安裝。

    iText 在C#中讀取PDF的替代方案(V.S. 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
$vbLabelText   $csharpLabel

開啟 PDF 文件

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

![iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖9](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-9.webp)

使用 iText 程式庫

using 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);
' Initialize a reader instance by specifying the path of the PDF file
Dim pdfReader As New PdfReader("sample.pdf")

' Initialize a document instance using the PdfReader
Dim pdfDoc As New PdfDocument(pdfReader)
$vbLabelText   $csharpLabel

使用IronPDF

using IronPDF 開啟 PDF 文件很簡單。 使用 PdfDocument 類別的 FromFile 方法從任何文件位置打開 PDFs。 以下單行程式碼打開 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");
' Open a PDF file using IronPDF and create a PdfDocument instance
Dim pdf = PdfDocument.FromFile("sample.pdf")
$vbLabelText   $csharpLabel

從 PDF 文件中讀取資料

使用 iText 程式庫

在 iText 程式庫中讀取 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();
' Iterate through each page and extract text
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
	' Define the text extraction strategy
	Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()

	' Extract text from the current page using the strategy
	Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)

	' Output the extracted text to the console
	Console.WriteLine(pageContent)
	page += 1
Loop

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

上面的程式碼中發生了許多事情。 首先,我們聲明了文字提取策略,然後我們使用 PdfExtractor 類別的 GetTextFromPage 方法來讀取文字。 此方法接受兩個參數:第一個是 PDF 文件頁,第二個是策略。 要獲取 PDF 文件頁,請使用 PdfDocument 的實例來調用 GetPage 方法並傳遞頁碼作為參數。 輸出以字串形式返回,然後顯示在控制檯輸出螢幕上。 最後,PDFReaderPdfDocument 物件被關閉。 另外,請查看以下程式碼範例使用 iText 從 PDF 中提取文字

輸出

![iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖10](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-10.webp)

使用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);
' Extract all text from the PDF document
Dim text As String = pdf.ExtractAllText()

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

輸出

![iText 在C#中讀取PDF的替代方案(V.S. IronPDF)圖11](/static-assets/pdf/blog/itext7-read-pdf-csharp-comparison/itext7-read-pdf-csharp-comparison-11.webp)

輸出準確且無錯誤。 然而,要使用 ExtractAllText 方法,您需要擁有許可證,因為它僅在生產模式中工作。 您可以從 IronPDF 試用許可證頁面獲取您的30天試用許可。"

比較

相比之下,兩個程式庫在從 PDF 文件提取文字時都能產生準確的結果。 在文字提取準確性方面,他們是可以比擬的。 然而,在程式碼可讀性和開發者便利性方面,IronPDF 更有效率。

IronPDF僅需兩行程式碼就能完成與iText相同的任務。 它提供的文字提取方法開箱即用,無需實現任何額外的邏輯。 iText 程式碼有點麻煩,您需要在開啟 PDF 文件時關閉建立的兩個實例。 而 IronPDF 在任務完成後會自動清除記憶體。

總結

在本文中,我們研究了如何使用 iText 程式庫在 C# 中閱讀 PDF 文件,然後將其與 IronPDF 進行比較。 兩個程式庫都給出了準確的結果,並提供了許多PDF操作方法以供使用。 您可以使用這兩個程式庫建立、編輯和從 PDF 文件中讀取資料。

iText 是開源且免費使用的,但有一定限制。 它可以授權商業使用。 IronPDF 也可以免費使用,並可以授權商業活動使用,可享有 30 天免費試用

下載IronPDF嘗試一下

請注意iText是其各自所有者的註冊商標。 此站點與iText無關,未由其背書或贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供資訊參考,並反映了撰寫時的公開可用資訊。

常見問題

什麼是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內容格式正確,如果正在將HTML轉換為PDF。

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

是的,IronPDF支持填寫表單和新增註解等功能,讓您可以建立互動且動態的PDF文件。

IronPDF是免費使用的嗎?

IronPDF提供了一個有限功能的免費版本,以及一個30天商業版本的免費試用,該商業版本提供完整的功能範圍。

使用iText 7進行PDF操作的限制是什麼?

雖然iText 7是一個強大的PDF程式庫,但某些任務(如文字提取)需要額外的邏輯,這可能導致比IronPDF更複雜和更長的程式碼。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

iText Logo

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

iText輕鬆切換,透過我們的工程遷移支援和更好的交易。

IronPDF Logo

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話