
如何分離PDF頁面
無論您正在構建一個以文件為主的企業解決方案,在SaaS應用程式中生成發票,或從.NET儀表板中導出報告,總有一個問題會出現:
"我應該使用哪個C# PDF程式庫?"
在.NET生態系統中,有三個程式庫脫穎而出:PDFSharp、iText 和 IronPDF。 每個都有其優勢、特色和最佳用途。 但對於使用.NET 6+、.NET Core或傳統.NET Framework處理PDF文件的現代開發人員而言,哪一個才是最佳選擇?
這份全面指南深入探討每個程式庫,對比功能、安裝、可用性和輸出質量。 我們將介紹工作程式碼範例、每個程式庫的優缺點,並根據實際開發需求提供實用建議。
讓我們開始吧。
PDFSharp概述

什麼是PDFSharp?
PDFSharp是一個開源程式庫,允許開發人員使用C#即時建立和處理PDF文件。 它支持從頭建立PDF和修改現有的PDF文件。 其清晰的面向物件API非常適合尋求輕量且易於整合解決方案的開發人員。
儘管由社區驅動,它擁有忠實的使用者群,仍然是進行簡單PDF任務(不需要從HTML進行高級渲染或動態內容)的首選。
安裝PDFSharp
通過NuGet安裝非常簡便:
它還與.NET Core環境相容。
範例程式碼:建立簡單的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支持
- 渲染能力有限
- 對高級使用案例不再積極維護
iText詳細分析

什麼是iText?
iText是基於Java的強大PDF程式庫的.NET移植版。 它提供了高級功能,包括數位簽名、表單字段、條碼等等。 iText高度可定制,最適合需要法律或監管文件的企業。
不過,這附帶了一個附加條件——授權。 iText是AGPL授權的,這意味著您必須開源您的項目,除非購買商業授權。
安裝iText
通過NuGet安裝它:
新版使用了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();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()輸出

iText的優勢與劣勢
優勢:
- 強大且企業級
- 支持PDF/A,加密,表單填充和數位簽名
- 使用插件的模組化架構
劣勢:
- AGPL授權或昂貴的商業授權
- 學習曲線較陡峭
- 與競爭對手相比語法較繁複
IronPDF: The Comprehensive Choice for C#

為什麼IronPDF與眾不同
IronPDF是一個商業級.NET程式庫,強調簡單性、渲染精度和功能豐富性。 如果您希望將HTML轉換為具有完整CSS、JavaScript和網頁字體支持的PDF,它尤其強大——使其成為現代、響應式PDF文件生成的理想選擇。 無論您是想從頭建立PDF文件,從HTML生成PDF文件,還是僅需要一個出色的工具來處理PDF文件,IronPDF都能滿足您的需求。
IronPDF支持.NET Core、.NET Framework、Azure和Docker,非常適合初創公司和企業級應用程式。功能強大,文件齊全,並能在各種平台中運行,IronPDF是生成PDF文件的絕佳選擇。
安裝 IronPDF
從NuGet套件管理器控制台安裝它:
或者使用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");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和iText難以做到的。
表現及開發者體驗
IronPDF廣受好評,因為其:
- **精確性:**使用Chromium引擎進行像素完美渲染以生成PDF
- **易用性:**不需要手動管理頁面大小、邊距或字體
- **速度:**支持多執行緒的快速生成
- **支援:**活躍的文件、範例及客戶支援
基準測試顯示,IronPDF可在標準機器上不到2秒鐘生成包含圖片、CSS和JavaScript的複雜HTML發票,遠遠優於iText的HTML附加功能或PDFSharp的手動繪圖方法。
為什麼選擇IronPDF?
IronPDF提供現代開發體驗,具備如下關鍵功能:
- 對PDF轉換支持完整HTML5、CSS3、JS、Bootstrap和響應式設計以達到精確渲染
- 可以存取高級功能如PDF/A、數位簽名、水印、合併和分割
- 商業產品授權——不用擔心AGPL
- 卓越的文件支持和豐富範例支持
- 提取PDF文件中的資料所需工作最少
- 不僅限於C#程式設計語言,IronPDF還提供Java、Node.js和Python版本
無論您是在構建發票生成器、報告引擎還是基於瀏覽器的文件系統,IronPDF都使得過程簡單且專業。
最終想法:您應該選擇哪個C# PDF程式庫?
C# PDF程式庫的世界多樣化,我們探討的每個工具——PDFSharp、iText和IronPDF——都有自己的長處、弱點和理想用途。 那麼,您應該為您的.NET應用程式選擇哪一個呢?
PDFSharp:輕量和DIY
如果您正在構建一個小型應用程式,有基本的文件渲染需求,並希望完全整合掌控PDF繪圖操作,PDFSharp是可靠的起點。 其開源性質和低資源消耗使其成為重視許可和簡化的專案的理想選擇。 然而,缺點是:需要手動操作:沒有HTML支持,沒有現代的網頁渲染,及有限的積極開發。
使用PDFSharp如果:
- 您想程式化地建立包含線條、文字和簡單佈局的PDF文件。
- 您的應用不需要HTML到PDF、CSS樣式或JavaScript。
- 開源相容性(MIT授權)是必需的。
iText: 強大但複雜
iText位於企業端譜。 它功能強大、安全,適合於如下複雜的PDF操作:
- 填寫表單
- 生成條形碼
- 使用數位簽名保護文件
- 符合PDF/A和PDF/UA等格式
然而,除非您準備開源程式碼或購買商業許可(這並不便宜),否則其AGPL授權限制頗多。此外,學習曲線較為陡峭,HTML渲染是附加功能而不是核心功能。
使用iText如果:
- 您正在構建政府或監管體系,需填寫表格或安全的PDFs。
- 您需要對底層PDF操作的細粒度控制。
- 您有商業授權的預算。
IronPDF:現代、直覺和功能豐富
相比之下,IronPDF旨在優雅快速地解決實際問題。 它結合了網頁技術(HTML、CSS、JavaScript)的熟悉性以及Chromium渲染的強大功能,讓開發人員能夠輕鬆地將複雜的佈局轉換成美觀的PDFs。
它能處理:
- 像素完美的HTML到PDF渲染
- JavaScript執行(適用於圖表和動態資料)
- PDF合併、分割、水印、簽名及其他PDF文件操作選項
- 與.NET 6、7及更高版本的整合
- 輕鬆部署到Azure、Docker和CI/CD管道
最重要的是,IronPDF專注於開發者體驗:清晰語法、快速渲染、豐富的文件和快速響應的支援。
選擇IronPDF如果:
- 您需要一個有價值的工具來進行像瀏覽器列印預覽的HTML到PDF渲染。
- 您的文件依賴於網頁樣式(Bootstrap、Flexbox、Google字體)。
- 您需要靈活的商業授權、支援和更新。
- 您重視快速上市和開發者生產力。
判定:多數.NET開發者選擇IronPDF
雖然PDFSharp是基本使用的好選擇,iText為需要合規的利基行業服務,但IronPDF憑藉其作為現代C#開發人員的全方位PDF解決方案而脫穎而出。 它在強大性、簡單性和實用性之間取得了完美的平衡。
無論您是在渲染動態報告,從網頁模板生成客戶發票,還是導出豐富的文件,IronPDF讓您可以專注於您的應用程式而不是PDF渲染的細節。
準備試試看嗎?
別光聽我們說的——親身探索IronPDF:
使用IronPDF,您隨時準備生成PDFs——構建出精緻、專業且適合生產的文件,看起來完全如您所設計。 縮短開發時間,消除渲染頭疼,並更快速地推出產品。

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


