40%節省
過去我們可能需要外出使用一個插件或一個包來進行 OCR,另一個用於 PDF,將它們全部集成到一個低成本的包中對我們來說真的很棒。
David Jones首席軟體工程師閱讀個案研究
從不受維護的wkhtmltopdf二進位檔案遷移到現代Chromium引擎。IronPDF是一個純NuGet包,無需拷貝本機程式庫, 支援完整的CSS3和JavaScript渲染,並且進行活躍維護。三行C#。
// DinkToPdf: load the native libwkhtmltox binary, then convert
using DinkToPdf;
using DinkToPdf.Contracts;
var ctx = new CustomAssemblyLoadContext();
ctx.LoadUnmanagedLibrary("libwkhtmltox.dll"); // copy per OS/arch
IConverter converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument {
GlobalSettings = { PaperSize = PaperKind.A4 },
Objects = { new ObjectSettings {
HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] bytes = converter.Convert(doc);
File.WriteAllBytes("output.pdf", bytes);
// IronPDF: pure NuGet, no native binary, actively maintained
using IronPdf;
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");' DinkToPdf: load the native libwkhtmltox binary, then convert
Imports DinkToPdf
Imports DinkToPdf.Contracts
Dim ctx = New CustomAssemblyLoadContext()
ctx.LoadUnmanagedLibrary("libwkhtmltox.dll") ' copy per OS/arch
Dim converter As IConverter = New SynchronizedConverter(New PdfTools())
Dim doc = New HtmlToPdfDocument With {
.GlobalSettings = New GlobalSettings With {.PaperSize = PaperKind.A4},
.Objects = {New ObjectSettings With {
.HtmlContent = "<h1>Hello World</h1>"}
}
}
Dim bytes As Byte() = converter.Convert(doc)
File.WriteAllBytes("output.pdf", bytes)
' IronPDF: pure NuGet, no native binary, actively maintained
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")| DinkToPdf | IronPDF | |
|---|---|---|
| 維護 | 最後一次發布為2018年,wkhtmltopdf不再維護 | 積極維護,定期發布 |
| 渲染引擎 | Qt WebKit,大約凍結在2015年 | 現代Chromium |
| 現代CSS / JS | 有限的flexbox、grid、JavaScript | 完整的CSS3、flexbox、grid、JavaScript |
| 部署 | 本地libwkhtmltox二進位檔案,P/Invoke | 純粹的NuGet,無本機二進位檔案 |
| 安全性 | 繼承未修補的wkhtmltopdf CVE | 已維護並已修補 |
| IIS託管 | 未用IIS測試(根據README) | 可在IIS, Azure, Docker上運行 |
| 並發性 | 負載下掛起/崩潰 | 執行緒安全,專為伺服器構建 |
| PDF編輯 | 轉換加上基本選項 | 編輯、合併、郵戳、簽名、表單 |
| 許可和支援 | 免費,MIT,不提供支援 | 商業,永久,24/5工程師 |
為開發人員構建的,替換不受維護的wkhtmltopdf包裝器,擁有一個現代、受支援的引擎。
Install-Package IronPdf
IronPDF是DinkToPdf的HTML轉PDF維護替代方案在C#中嗎?YES!
我可以從DinkToPdf包裝的放棄wkhtmltopdf二進位檔案中遷移嗎?YES!
我可以在不拷貝本機libwkhtmltox程式庫的情況下轉換HTML到PDF嗎?YES!
IronPDF是否渲染現代CSS、flexbox、grid和JavaScript,即wkhtmltopdf無法渲染的?YES!
它是否可以在IIS、Azure和Docker上執行,無需本機依賴設置?YES!
該程式庫是否為伺服器端並發轉換執行緒安全嗎?YES!
我可以從複雜的HTML5、CSS3和JavaScript轉換出像素完美的PDF嗎?YES!
我可以用一行C#程式碼將HTML字串轉換為PDF嗎?YES!
我可以通過身份驗證、cookies和自定義標頭將URL轉換為PDF嗎?YES!
我可以從Razor、CSHTML或ASPX視圖生成PDF嗎?YES!
在轉換期間我可以新增自定義頁眉、頁腳、頁碼和水印嗎?YES!
我可以在Docker、Azure功能或AWS Lambda中運行HTML到PDF轉換嗎?YES!
我可以使用該程式庫部署我的應用程式到Linux、macOS或Windows,包括Docker容器嗎?YES!
該程式庫是否為應用於高度並發、多執行緒伺服器應用程式和API的執行緒安全嗎?YES!
我可以設置自定義視窗尺寸和列印媒體CSS來控制響應式佈局嗎?YES!
IronPDF與Azure功能相容嗎?YES!
我可以永久編輯PDF文件中敏感文字和圖像嗎?YES!
我可以通過自定義標頭、cookies或表單登錄生成需要身份驗證的URL的PDF嗎?YES!
我可以通過ObjectModel屬性存取PDF DOM嗎?YES!
我可以以程式化方式填充、讀取和扁平化互動式AcroForm嗎?YES!
是否支援生成符合PDF/A和PDF/UA存檔和可存取性標準的文件?YES!
我可以使用256位AES密碼加密和使用者許可設置保護文件嗎?YES!
我可以使用X.509證書在PDF上申請和驗證數位簽章嗎?YES!
我現在可以在我的現場專案中免費測試IronPDF嗎?YES! 點此開始您的30天免費試用




Nuget Downloads 20,389,208|版本:2026.7剛剛發布