itext7從PDF中提取文字vs廢鐵pdf(代碼示例教程)
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
無論您是在建立文件繁重的企業解決方案、在 SaaS 應用程式中產生發票,或是從 .NET 面板匯出報告,總會出現一個問題:
"Which C# PDF library should I use?" "我應該使用哪個 C# PDF 函式庫?
在 .NET 生態系統中,有三個函式庫相當突出:PDFsharp、iTextSharp和IronPDF。 每種工具都有其優點、怪癖和最佳使用案例。 但是,對於在 .NET 6+、.NET Core 或甚至傳統 .NET Framework 內使用 PDF 檔案的現代開發人員而言,哪一種才是真正的最佳選擇?
這份全面的指南深入探討每個函式庫,比較功能、安裝、可用性和輸出品質。 我們將通過工作程式碼範例、每種函式庫的優點和缺點,並根據實際的開發需求提供實用的建議。
讓我們開始吧
PDFsharp 概述

什麼是 PDFsharp?
PDFsharp 是一個開放原始碼的函式庫,可讓開發人員使用 C# 快速建立和處理 PDF 文件。 它支援從頭建立 PDF,並能夠修改現有的 PDF 檔案。 其簡潔、物件導向的 API 非常適合尋求輕量且容易整合解決方案的開發人員。
儘管是社群驅動,它仍享有忠實的使用者群,並仍是不需要進階渲染或 HTML 動態內容的簡單 PDF 工作的首選。
安裝 PDFsharp
可透過 NuGet 直接安裝:
Install-Package PDFsharp
它也與適用於 .NET Core 環境的 PdfSharpCore 相容。
範例程式碼:建立簡單的 PDF
using PdfSharp.Pdf;
using PdfSharp.Drawing;
// Create a new PDF document
var document = new PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
// Create a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("HelloWorld.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
// Create a new PDF document
var document = new PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
// Create a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("HelloWorld.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
' Create a new PDF document
Private document = New PdfDocument()
document.Info.Title = "Created with PDFsharp"
' Create an empty page
Dim page As PdfPage = document.AddPage()
' Get an XGraphics object for drawing
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Create a font
Dim font As New XFont("Verdana", 20, XFontStyle.Bold)
' Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
document.Save("HelloWorld.pdf")
輸出
PDFsharp 的優缺點
優點:
- 免費且開放原始碼的 PDF 函式庫(MIT 授權)
- 非常適合低階繪圖和簡單的文字型 PDF 文件
- 輕量且容易安裝
缺點:
- 不支援原生 HTML 至 PDF
- 渲染能力有限
- 未針對進階使用個案進行主動維護
iTextSharp 詳細分析

什麼是 iTextSharp?
iTextSharp是 iText 的 .NET 移植,iText 是一個強大的基於 Java 的 PDF 函式庫。 它提供先進的功能,包括數位簽章、表單欄位、Barcode 等。 iTextSharp 可高度客製化,最適合有法律或法規文件需求的企業。
不過,這也是一項限制 - 授權。 iTextSharp 採用 AGPL 授權,這表示除非您購買商業授權,否則必須開放您專案的原始碼。
安裝 iTextSharp
透過 NuGet,您可以用安裝:
Install-Package itext
較新版本使用 iText Core 命名空間。 請務必在整合前檢閱授權條款。
範例程式碼:基本 PDF 產生
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
// Create a writer and initiates a PDF document
PdfWriter writer = new PdfWriter("iTextHello.pdf");
var pdf = new PdfDocument(writer);
Document document = new Document(pdf);
// Add a paragraph to the document
document.Add(new Paragraph("Hello, iTextSharp!"));
// Closing the document
document.Close();
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
// Create a writer and initiates a PDF document
PdfWriter writer = new PdfWriter("iTextHello.pdf");
var pdf = new PdfDocument(writer);
Document document = new Document(pdf);
// Add a paragraph to the document
document.Add(new Paragraph("Hello, iTextSharp!"));
// Closing the document
document.Close();
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
' Create a writer and initiates a PDF document
Private writer As New PdfWriter("iTextHello.pdf")
Private pdf = New PdfDocument(writer)
Private document As New Document(pdf)
' Add a paragraph to the document
document.Add(New Paragraph("Hello, iTextSharp!"))
' Closing the document
document.Close()
輸出

[{t:(iTextSharp 的 iText 9 版本是模組化的。 對於 HTML 轉換或條碼生成,請安裝額外的 NuGet 套件,例如付費外掛程式pdfHTML 。
iTextSharp 的優點和缺點
優勢:
- 功能強大、企業級
- 支援 PDF/A、加密、表格填寫和數位簽章
- 使用外掛程式的模組化架構
弱點:
- AGPL 授權或昂貴的商業授權
- 較陡峭的學習曲線
- 與競爭對手相比,語法冗長
IronPDF: The Comprehensive Choice for C#

為什麼 IronPDF 能夠脫穎而出
IronPDF 是一個商業等級的 .NET 函式庫,強調簡易性、渲染精確度和功能豐富性。 如果您想將 HTML 轉換成 PDF,它的功能尤其強大,可完整支援 CSS、JavaScript 和網頁字型,使其成為現代反應式 PDF 文件產生的理想選擇。 無論您是要從頭開始建立 PDF 文件、從 HTML 產生 PDF 文件 ,或是只需要一個擅長處理 PDF 檔案的工具,IronPDF 都能滿足您的需求。
IronPDF 支援 .NET Core、.NET Framework、Azure 和 Docker,非常適合初创公司和企業级應用程式。IronPDF 具備強大的功能、良好的說明文件,以及在各種平台中執行的能力,是產生 PDF 的可靠選擇。
安裝 IronPDF。
從 NuGet 套件管理員控制台安裝:
Install-Package IronPdf
或使用 Visual Studio NuGet UI。 IronPDF 提供免費試用和彈性的授權方式,適用於不受 AGPL 限制的商業用途。
IronPDF 範例程式碼:HTML 轉 PDF 只需 5 行。
using IronPdf;
var Renderer = new ChromePdfRenderer();
// Render a simple HTML string as a PDF document
var pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>");
// Save the PDF document as a file
pdf.SaveAs("IronPdfHello.pdf");
using IronPdf;
var Renderer = new ChromePdfRenderer();
// Render a simple HTML string as a PDF document
var pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>");
// Save the PDF document as a file
pdf.SaveAs("IronPdfHello.pdf");
Imports IronPdf
Private Renderer = New ChromePdfRenderer()
' Render a simple HTML string as a PDF document
Private pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>")
' Save the PDF document as a file
pdf.SaveAs("IronPdfHello.pdf")
輸出
。
這個簡單的範例使用了無頭 Chromium 引擎的全部功能,完全按照瀏覽器的方式來呈現 HTML/CSS--這是 PDFsharp 和 iTextSharp 所難以做到的。
效能與開發人員經驗
IronPDF 因其:
*精確度:*使用 Chromium 引擎產生 PDF 文件,實現像素級完美渲染 易於使用:無需手動管理頁面大小、頁邊距或字體 速度:支援多線程,生成速度快 支援:**提供完善的文件、範例和客戶支持
基準測試顯示 IronPDF 能夠在標準機器上於 2 秒內產生包含圖片、CSS 和 JavaScript 的複雜 HTML 發票 - 遠遠優於 iTextSharp 的 HTML 附加元件或 PDFsharp 的手繪方法。
為什麼選擇 IronPDF?
IronPDF 提供了現代化的開發體驗,具有以下主要功能:
- 完整的 HTML5、CSS3、JS、Bootstrap 及回應式設計支援,可準確呈現 PDF 轉換效果
- 可存取進階功能,例如 PDF/A、數位簽章、水印、合併和分割
- 適合商業產品的授權 - 無 AGPL 之憂
- 優異的文件和豐富的範例支援
- 以最小的工作量從 PDF 文件中萃取資料
- IronPDF 不僅限於 C# 程式語言,還提供 Java、Node.js 和 Python 版本。
無論您是要建立發票產生器、報表引擎或瀏覽器型文件系統,IronPDF 都能讓您的工作變得簡單又專業。
最後的想法:您應該選擇哪一個 C# PDF 函式庫?
C# PDF 函式庫的世界是多樣化的,我們探討過的每個工具-PDFsharp、iTextSharp和IronPDF-都帶來了各自的優點、缺點和理想的使用案例。 那麼,您應該為您的 .NET 應用程式選擇哪一種呢?
PDFsharp:輕量且 DIY
如果您正在建立一個小規模的應用程式,有基本的文件渲染需求,並且喜歡完全控制 PDF 繪圖作業,PDFsharp 是一個可靠的起點。 其開放源碼的特性和低開銷使其非常適合授權和簡單性為關鍵的專案。 然而,取捨是手動的工作:沒有 HTML 支援、沒有現代網頁渲染,以及有限的主動開發。
請在下列情況下使用 PDFsharp:
- 您正在尋找以程式化的方式建立 PDF 檔案,其中包含線條、文字和簡單的排版。
- 您的應用程式不需要 HTML 轉 PDF、CSS 定義或 JavaScript。
- 必須具備開放原始碼相容性 (MIT 授權)。
iTextSharp:功能強大但複雜
iTextSharp 屬於企業級。 它功能強大、安全可靠,非常適合複雜的 PDF 操作,例如:
- 填寫表格
- 產生 BarCode
- 使用數位簽章保護檔案
- 符合 PDF/A 和 PDF/UA 等格式
然而,AGPL 授權可能會造成限制,除非您準備開放程式碼源碼或支付商業授權,但這並不便宜。此外,學習曲線較陡,HTML 渲染是附加功能而非核心功能。
在下列情況下使用 iTextSharp:
- 您正在建立填表或安全 PDF 的政府或監管系統。
- 您需要對低階 PDF 作業進行粒度控制。
- 您有商業授權的預算。
IronPDF:現代、直覺且功能豐富。
相比之下,IronPDF 旨在以優雅和快速的方式解決實際問題。 它結合了熟悉的網頁技術 (HTML、CSS、JavaScript) 與 Chromium 強大的渲染能力,讓開發人員可以毫不費力地將複雜的版面設計轉換成精美的 PDF。
它處理
- 像素完美的 HTML 到 PDF 渲染
- JavaScript 執行 (非常適用於圖表和動態資料)
- PDF 合併、分割、水印、簽署以及其他各種 PDF 文件操作選項
- 與 .NET 6、7 及更高版本整合
- 輕鬆部署至 Azure、Docker 和 CI/CD 管道
最重要的是,IronPDF 重視開發人員的體驗:簡潔的語法、快速的渲染、豐富的文件以及快速回應的支援。
如果您有以下需求,請選擇 IronPDF:
- 您想要一個有價值的 HTML 轉 PDF 渲染工具,看起來就像瀏覽器的列印預覽。
- 您的文件有賴於網頁造型(Bootstrap、Flexbox、Google Fonts)。
- 您需要具有彈性、支援和更新的商業授權。
- 您重視產品上市時間和開發人員的生產力。
Verdict:IronPDF 贏得大多數 .NET 開發人員的青睞。
PDFsharp 和 iTextSharp 都是精簡使用的好選擇,而 iTextSharp 則服務於利基型的合規重工業,IronPDF 則是現代 C# 開發人員的多合一 PDF 解決方案。 在強大、簡單和實際可用性之間取得完美平衡。
無論您是要渲染動態報表、從網頁範本產生客戶發票,或是匯出豐富的文件,IronPDF 都能讓您專注於應用程式,而非 PDF 渲染的細微差異。
準備好試用了嗎?
請不要相信我們的說法,請親身體驗 IronPDF:
- 下載免費試用版。
- 開始使用文件。
- 檢視 GitHub 範例與程式碼片段。
使用 IronPDF,您不僅僅是在生成 PDF,而是在建立精緻、專業、可直接投入生產的文件,這些文件的外觀與您設計的一模一樣。 縮短開發時間、消除渲染方面的困擾,並加快出貨速度。
[{i:(PDFsharp 和 iTextSharp 是其各自所有者的註冊商標。 本網站與 PDFsharp 或 iTextSharp 無關,亦未獲得其背書或贊助。所有產品名稱、標誌和品牌均為其各自擁有者的財產。 比較僅供參考,反映了撰寫時的公開信息。
常見問題解答
如何使用 iText7 提取 PDF 中的文本 (C# 的方式)?
要使用 iText7 從 PDF 中提取文本,您可以創建一個 PDF 讀取器實例,並使用 `PdfTextExtractor` 類。然而,由於其複雜的語法和許可限制,開發者可能會偏好選擇更簡單實作的替代方案如 IronPDF。
為什麼選擇 IronPDF 進行 HTML 到 PDF 的轉換?
IronPDF 因其基於 Chromium 的渲染引擎而被優先選擇進行 HTML 到 PDF 的轉換,這確保了像素完美的準確性以及對 HTML5、CSS3 和 JavaScript 的完全支持。
iText7 和 IronPDF 之間的許可有何不同?
iText7 要求開源項目需要 AGPL 許可,除非購買商業許可,而 IronPDF 提供對商業和個人開發者更寬鬆的許可模式。
IronPDF 的常見用例是什麼?
IronPDF 常被用來從 HTML 內容生成 PDF,創建報告、發票和 .NET 應用程序中的文檔,因其易於使用和強大的功能而受到歡迎。
哪個程式庫更適合企業級的 PDF 任務?
iText7 由於其高級功能,如數字簽名和表單字段,經常被選擇用於企業級任務。然而,IronPDF 提供了一種更簡單、更具成本效益的解決方案,擁有全面的功能來滿足大多數 PDF 生成需求。
IronPDF 如何確保 PDF 的準確渲染?
IronPDF 通過利用一個支持現代網頁標準的 Chromium 引擎來確保 PDF 的準確渲染,從而實現高保真的網內容到 PDF 的轉換。
使用 IronPDF 對開發者有什麼主要的好處?
開發者得益於 IronPDF 的直觀 API、詳盡的文檔和快速的渲染功能,使其成為 C# 開發者在處理 PDF 生成和操作時的理想選擇。
IronPDF 可以在雲端應用中使用嗎?
可以,IronPDF 可以無縫整合到雲應用中,支持在 Azure 和 Docker 上的部署,這增強了其在現代軟體開發環境中的多樣性。
IronPDF 的輸出質量怎樣與其他 PDF 程式庫相比較?
IronPDF 的輸出質量高於其他,因為其先進的渲染引擎確保了由 HTML 生成的 PDF 在視覺上是一致且準確的,這使其成為專業文檔創建的可靠選擇。
哪個是新手 C# 開發者進行 PDF 生成的推薦程式庫?
IronPDF 被推薦給初學 PDF 生成的 C# 開發者,因其具有用戶友好的語法和全面的支持,使集成容易且學習曲線平緩。

