跳過到頁腳內容
產品比較
iText 7 與 IronPDF 提取 PDF 文本的比較

itext7從PDF中提取文本vs廢鐵pdf(代碼示例教程)

無論您是在構建文件繁重的企業解決方案,在SaaS應用中生成發票,還是從 .NET 儀表板中導出報告,總會有一個問題:

"我應該使用哪個 C# PDF 庫?"

In the .NET ecosystem, three libraries stand out: PDFsharp, iTextSharp, and IronPDF. 每個都有其優勢、怪癖和最佳使用案例。 但是,哪一個是真正適合在 .NET 6+、.NET Core 甚至傳統 .NET Framework 中處理 PDF 文件的現代開發人員的最佳選擇?

這本綜合指南深入研究每個庫,對比功能、安裝、易用性和輸出質量。 我們將討論工作代碼示例、每個庫的優缺點,並基於真實世界的開發需求提供實用建議。

讓我們開始吧。

PDFsharp 概述

Itext7 Extract Text From Pdf 1 related to PDFsharp 概述

什麼是 PDFsharp?

PDFsharp 是一個開源庫,允許開發人員使用 C# 快速創建和處理 PDF 文檔。 它支持從頭開始創建 PDF 並有能力修改現有的 PDF 文件。 其簡潔的面向對象 API 非常適合尋找輕量且易於集成解決方案的開發人員。

儘管它由社區驅動,但受到了忠實用戶群的支持,仍然是簡單 PDF 任务的首選,即不需要高級渲染或從 HTML 中的動態內容。

安裝 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")
$vbLabelText   $csharpLabel

輸出

PDFsharp PDF

請注意PDFsharp 不支持 HTML 渲染或 CSS 解析開箱即用,因此最好用於以繪圖為基礎的文件生成。 若要將 HTML 渲染為 PDF,您需要 PDFsharp 的 HtmlRenderer。)}]

PDFsharp 的優缺點

優點:

  • 免費和開源 PDF 庫(MIT 許可)
  • 非常適合低層次的繪圖和簡單的基於文本的 PDF 文檔
  • 輕量且易於安裝

缺點:

  • 沒有原生 HTML 到 PDF 的支持
  • 渲染能力有限
  • 沒有為高級用例積極維護

iTextSharp 詳細分析

Itext7 Extract Text From Pdf 3 related to iTextSharp 詳細分析

什麼是 iTextSharp?

iTextSharp 是 iText 的 .NET 端口,一個強大的基於 Java 的 PDF 庫。 它提供高級功能,包括數字簽名、表單字段、條形碼等。 對於有法律或監管文檔需求的企業,iTextSharp 是高度可自定義的最佳選擇。

然而,它有一個條件——許可。 iTextSharp 是 AGPL 許可,意味著除非您購買商業許可,否則您必須開源您的項目。

安裝 iTextSharp

通過 NuGet 安裝:

Install-Package itext

較新版本使用 iText 核心命名空間。 在集成前請務必查看許可條款。

示例代碼:基本 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()
$vbLabelText   $csharpLabel

輸出

iText PDF 輸出

[{t:(iTextSharp 的 iText 9版本是模塊化的。 要進行 HTML 轉換或條碼生成,需要安裝額外的 NuGet 包,如付費附加組件 pdfHTML) }]

iTextSharp 的優勢與劣勢

優勢:

  • 功能強大且企業級
  • 支持 PDF/A、加密、表單填寫和數字簽名
  • 模塊化架構和插件

劣勢:

  • AGPL許可或昂貴商業許可
  • 學習曲線較陡
  • 與競爭對手相比語法冗長

IronPDF:C# 的綜合選擇

Itext7 Extract Text From Pdf 5 related to IronPDF:C# 的綜合選擇

IronPDF 為什麼脫穎而出

IronPDF 是一個商業級 .NET 庫,強調簡單性、渲染準確性和功能豐富性。 如果您希望 HTML 能夠轉換為 PDF 並支持完整的 CSS、JavaScript 和網頁字體,則 IronPDF 尤其強大——這使其成為現代、響應式 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 示例代碼:5 行實現 HTML 到 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");
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")
$vbLabelText   $csharpLabel

輸出

IronPDF 輸出

這個簡單的例子使用無頭 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 文檔中提取數據
  • 不僅僅限於 C# 編程語言,IronPDF 還提供 Java、Node.js 和 Python 版本

無論您是在構建發票生成器、報告引擎還是基於瀏覽器的文件系統,IronPDF 都使其變得簡單專業。

最後的思考:您應該選擇哪個 C# PDF 庫?

The world of C# PDF libraries is diverse, and each tool we’ve explored—PDFsharp, iTextSharp, and IronPDF—brings its own strengths, weaknesses, and ideal use cases. 那麼,對於您的 .NET 應用程序,您應該選擇哪一個呢?

PDFsharp:輕量和 DIY

如果您正在構建一個小規模的應用程序,對文件渲染有基本需求,並且喜歡對 PDF 繪圖操作有完全的控制權,PDFsharp 是一個可靠的起點。 其開源性質和低開銷使其成為許可和簡單性至關重要的項目的理想選擇。 但是,權衡是手工努力:沒有 HTML 支持,沒有現代的網絡渲染,並且有限的主動開發。

使用 PDFsharp 如果:

  • 您希望使用程序創建具有線條、文本和簡單佈局的 PDF 文件。
  • 您的應用程序不需要 HTML 到 PDF、CSS 樣式或 JavaScript。
  • 開源兼容性(MIT 許可)是必需的。

iTextSharp:強大但復雜

iTextSharp 坐落於譯端光譜的企業級。 它功能強大、安全,適合於諸如複雜的 PDF 操作:

  • 填寫表格
  • 生成條碼
  • 使文件使用數字簽名進行安全保護
  • 符合 PDF/A 和 PDF/UA 格式

然而,除非您準備開源您的代碼或支付昂貴的商業許可,否則其 AGPL 許可可能具有限制性。此外,學習曲線較陡峭,HTML 渲染是附加功能,而不是核心功能。

使用 iTextSharp 如果:

  • 您正在構建政府或監管系統,帶有表單填寫或安全 PDF。
  • 您需要對低層次的 PDF 操作有細粒度的控制。
  • 您有商業許可的預算。

IronPDF:現代、直觀和功能豐富

相較之下,IronPDF 設計為以優雅和速度解決真實世界的問題。 它將 Web 技術(HTML、CSS、JavaScript)的熟悉性與 Chromium 渲染的力量相結合,使開發人員能夠輕鬆地將複雜的佈局轉換成漂亮的 PDF。

它處理:

  • 像素完美的 HTML 到 PDF 渲染
  • JavaScript 執行(非常適合圖表和動態數據)
  • PDF 合併、拆分、水印、簽名,以及其他各種 PDF 文檔操作選項
  • 與 .NET 6、7 和以後版本的集成
  • 易於部署到 Azure、Docker 和 CI/CD 管道

最重要的是,IronPDF 注重開發者體驗:乾淨的語法,快速渲染,豐富的文檔和響應的支持。

選擇 IronPDF 如果:

  • 您需要一個有價值的工具來進行如瀏覽器打印預覽的 HTML 到 PDF 渲染。
  • 您的文檔依賴於 Web 樣式(Bootstrap、Flexbox、Google 字體)。
  • 您需要具有靈活性、支持和更新的商業許可。
  • 您重視上市時間和開發者的生產力。

裁決:IronPDF 對於大多數 .NET 開發人員來說是最棒的

雖然 PDFsharp 是一個很好的基本用途選擇,而 iTextSharp 服務於合規要求高的行業,IronPDF 脫穎而出,成為現代 C# 開發人員的全能 PDF 解決方案。 它在力量、簡單性和實際可用性之間找到了完美的平衡。

無論您是在渲染動態報告、從 Web 模板生成客戶發票還是導出豐富文檔,IronPDF 都能讓您專注於應用程序,而不是 PDF 渲染的細節。

準備好嘗試了嗎?

請勿單憑我們的話語,親自探索 IronPDF:

有了 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# 開發者,因其具有用戶友好的語法和全面的支持,使集成容易且學習曲線平緩。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。