在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF 文件在各種行業中廣泛用於開具發票和生成文件。開發人員在生成文件時使用 PDF 格式來滿足客戶的需求。隨著當前市場上的各種庫,可生成 PDF 從未如此簡單。在項目中使用這類庫時,我們必須評估構建、閱讀和轉換等因素,以確定哪個庫是市場上最好的。
在本文中,我們將比較兩個最受歡迎的 .NET 組件 PDF 庫。這兩個庫分別是:
IronPDF 和 NReco 是兩個可以用於在 .NET 應用程式中創建、閱讀、更新和操作 PDF 文件的庫,無論是桌面應用程式、Web 應用程式還是移動應用程式。我們將首先比較這兩個庫的功能,然後看看它們在轉換和操作 PDF 文件方面的性能。微軟的 .NET 框架支持這兩個庫。
接下來的問題是要決定哪個 C# PDF 庫最適合您的 .NET 項目。您可以在閱讀以下兩個庫的比較後權衡您的決定。
我們首先來看看這兩個庫的功能,然後進行比較。
IronPDF .NET PDF 庫解決方案對開發人員來說是個夢想,特別是 C# 軟件工程師。使用這個卓越的工具,您可以輕鬆創建 .NET Core PDF 處理應用程序。
IronPDF 使用 .NET Chromium 引擎將 HTML 頁面渲染為 PDF 文件。無需使用複雜的 API 來渲染或操作 PDF。IronPDF 支持標準的網頁技術:HTML、ASPX、JS、CSS 和圖像。
它還使您能夠使用 HTML5、CSS、JavaScript 和圖像創建 .NET PDF 庫。您可以輕鬆編輯、加水印、添加頁首和頁腳到 PDF。此外,它使閱讀 PDF 文本和提取圖像變得非常容易。
一些重要的特點包括:
NReco 提供了一個適用於 .NET 和 .NET Core 的 HTML 到 PDF 轉換的庫。它可以從 HTML 模板或網頁 URL 生成 PDF 文檔。
在大多數情況下 (99%的時間)從 NReco 生成的 PDF 看起來非常相似,似乎像在網頁瀏覽器中顯示的網頁。該引擎支持頁眉/頁腳、頁碼、自定義字體和 JavaScript 執行。
NReco 庫基於 WkHtmlToPdf 命令行工具,該工具使用 WebKit 引擎將 HTML 內容呈現為 PDF。該庫使用 wkhtmltoPdf 二進制文件。 (win-x86) 在執行期間,不需要手動安裝這些元件。NReco 庫會在運行時自動提取並執行 wkHtmlToPdf 二進位文件,以方便使用。
一些核心功能包括:
從 HTML 字串、文件或 URL 創建 PDF
PDF 選項:
頁面方向、自訂頁面大小、頁面邊距
頁眉/頁腳、頁面編號、封面等的 HTML 樣板
我們將在 Visual Studio 中創建一個新專案,以演示這兩個庫如何生成 PDF。
打開 Visual Studio。 點擊創建新專案 => 選擇範本 (控制台應用程式) => 點擊下一步 => 為專案命名 => 選擇 .NET Framework 版本 => 點擊建立按鈕。
將創建一個新專案。
讓我們依次安裝這兩個程式庫。
有四種下載和安裝 IronPDF 庫的方法。這些方法如下:
使用 Visual Studio NuGet 套件管理器.
使用套件管理器控制台.
直接從 NuGet 網頁.
按照以下步驟從 NuGet 套件管理器下載 IronPDF。
從選單列中,點擊 工具 > NuGet 套件管理器 > 管理解決方案的 NuGet 套件。
一個新窗口會出現。點擊瀏覽 => 搜索 IronPDF => 點擊安裝按鈕,如下圖所示。
這將在我們的專案中安裝 IronPDF 庫。
在 Visual Studio 中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台
在套件管理員主控台選項卡中輸入以下行:
Install-Package IronPdf
第三種方式是直接從網站下載 NuGet 包。
點擊此處 連結 從網站直接下載最新套件。下載後,按照以下步驟將套件添加到項目中。
接下來,單擊確定以添加引用。
可以通過以下四種方式之一下載 NReco 庫。
同上,只需進入 NuGet 套件管理員,並搜尋關鍵字 "NReco"。
在 Visual Studio 中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台
在套件管理員主控台標籤中輸入以下語句:
Install-Package NReco.PdfGenerator -Version 1.2.0
第三種方式是直接從網站下載 NuGet 套件。
點擊這裡 連結 查看可用的 DLL 列表。下載適用於各種 .NET 框架的最新軟體包。下載後,按照以下步驟將軟體包添加到專案中。
讓我們一起探索這兩個庫的功能。
這兩個庫都支持生成 PDF 文件,但它們的實現方式不同。
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
file.SaveAs(@"D:\urlToPdfIronPDF.pdf");
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
file.SaveAs(@"D:\urlToPdfIronPDF.pdf");
Dim chromePdfRenderer As New ChromePdfRenderer()
Dim file = chromePdfRenderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
file.SaveAs("D:\urlToPdfIronPDF.pdf")
上述程式碼將從提供的 URL 生成 PDF。以下是原始碼的輸出。
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("https://en.wikipedia.org/wiki/PDF", null, @"D:\urlToPDFNreco.pdf");
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("https://en.wikipedia.org/wiki/PDF", null, @"D:\urlToPDFNreco.pdf");
Dim htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
htmlToPdf.GeneratePdfFromFile("https://en.wikipedia.org/wiki/PDF", Nothing, "D:\urlToPDFNreco.pdf")
使用 NReco 從 URL 生成 PDF 需要使用另一個庫:NReco.PDFGenerator.LT 此外,生成 PDF 需要商業許可證。沒有商業許可證,上述代碼將拋出如下所示的異常:
string htmlstring = "<h1> This is sample pdf generated by IronPDF</h1>";
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring);
file.SaveAs(@"D:\HTMLToPdfIronPDF.pdf");
string htmlstring = "<h1> This is sample pdf generated by IronPDF</h1>";
ChromePdfRenderer chromePdfRenderer = new ChromePdfRenderer();
var file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring);
file.SaveAs(@"D:\HTMLToPdfIronPDF.pdf");
Dim htmlstring As String = "<h1> This is sample pdf generated by IronPDF</h1>"
Dim chromePdfRenderer As New ChromePdfRenderer()
Dim file = chromePdfRenderer.RenderHtmlAsPdf(htmlstring)
file.SaveAs("D:\HTMLToPdfIronPDF.pdf")
請見下方輸出:
string htmlstring = "<h1> This is sample pdf generated by NReco</h1>";
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.GeneratePdf(htmlstring,null, @"D:\HTMLToPdfIronPDF.pdf");
string htmlstring = "<h1> This is sample pdf generated by NReco</h1>";
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.GeneratePdf(htmlstring,null, @"D:\HTMLToPdfIronPDF.pdf");
Dim htmlstring As String = "<h1> This is sample pdf generated by NReco</h1>"
Dim htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
htmlToPdf.GeneratePdf(htmlstring,Nothing, "D:\HTMLToPdfIronPDF.pdf")
上述原始碼使用 NReco C# WkHtmlToPdf 包裝器生成 PDF。成功執行此程式碼也需要商業授權。因此,運行上述程式碼將引發異常:"此功能需要商業授權。"
以下範例代碼演示了 PDF 文本提取功能。
var pdfFile = @"D:\SamplePDF.pdf";
PdfDocument pdfDocument = PdfDocument.FromFile(pdfFile);
string ConvertedText = pdfDocument.ExtractAllText();
Console.WriteLine(ConvertedText);
var pdfFile = @"D:\SamplePDF.pdf";
PdfDocument pdfDocument = PdfDocument.FromFile(pdfFile);
string ConvertedText = pdfDocument.ExtractAllText();
Console.WriteLine(ConvertedText);
Dim pdfFile = "D:\SamplePDF.pdf"
Dim pdfDocument As PdfDocument = PdfDocument.FromFile(pdfFile)
Dim ConvertedText As String = pdfDocument.ExtractAllText()
Console.WriteLine(ConvertedText)
生成的輸出如下:
我們需要添加另一個額外的庫,Nreco.PdfRenderer,來提取文本。
var pdfFile = @"D:\SamplePDF.pdf";
var pdfToText = new NReco.PdfRenderer.PdfToTextConverter();
string generatedText = pdfToText.GenerateText(pdfFile);
Console.WriteLine(generatedText);
var pdfFile = @"D:\SamplePDF.pdf";
var pdfToText = new NReco.PdfRenderer.PdfToTextConverter();
string generatedText = pdfToText.GenerateText(pdfFile);
Console.WriteLine(generatedText);
Dim pdfFile = "D:\SamplePDF.pdf"
Dim pdfToText = New NReco.PdfRenderer.PdfToTextConverter()
Dim generatedText As String = pdfToText.GenerateText(pdfFile)
Console.WriteLine(generatedText)
輸出如下所示:
NReco生成的輸出是正確的,但它包含了一個不應該出現的符號。
我們已經討論了兩個庫所提供的核心功能。現在,讓我們比較它們。
NReco 在許多不同的使用情況下使用 C# wkHtmlToPdf 工具。我們不需要單獨安裝 wkHtmltoPdf,但我們確實需要安裝單獨的 NuGet 案例來創建和閱讀 PDF 文件。因此,這增加了管理專案庫依賴性的複雜性。另一方面,IronPDF 只需要一次安裝。IronPDF 的全部功能不需要額外的庫。
IronPDF 可以準確地將 HTML 內容渲染成 PDF,無論是來自 URL 還是原始 HTML 字符串。這些功能在 NReco 中必須首先獲取商業許可證才能使用。
這兩個庫都能很好地從 PDF 文件中提取文本,但 NReco 在其輸出中包含了一個額外的、不必要的符號。
NReco 是一個從 HTML 文件創建 PDF 檔案的網路服務。它具有多種價格結構,最低為 $75/月。您也可以註冊免費試用,但免費試用的功能有限。詳細的定價可以在這裡查看 NReco 頁面IronPDF是一個C# PDF庫。它對於開發是免費的,並且可以隨時授權用於商業部署。 授權可用 適用於單一專案使用、個人開發者、代理機構和全球企業,以及SAAS和OEM重新分發。所有授權包括30天退款保證、一年的產品支援和更新、開發/測試/生產的有效性,以及永久授權。 (一次性購買). Lite 套餐的起價為 $749。
IronPDF 不會從遠端伺服器將 HTML 轉換為 PDF。相反,它是在幕後啟動了一個真正的、符合標準的網頁瀏覽器實例 (無需手動安裝其他軟體)HTML 以完美的精度渲染,並且以適合極高商業印刷標準的向量格式呈現。輸出為乾淨且高質量的 PDF。這是公開商業化的,所有的授權和定價細節都發布在網站上。
NReco 也將 HTML 轉換為 PDF 並運行在多個地點的雲服務器上。NReco 為 .NET 和 .NET Core 提供庫,具有最快和最準確的 HTML 到 PDF 轉換功能。NReco 可以從 HTML 內容生成 PDF 文件。 (源代码、模板文件或URL) 透過HTML模板或網頁URL。網頁使用Qt WebKit引擎呈現,生成的輸出幾乎與網頁瀏覽器呈現相同。
經過全面比較,可以看出 IronPDF 擁有顯著優於 NReco 的優勢。IronPDF 提供了對許多 PDF 處理需求的全面覆蓋。購買 IronPDF 時,您將獲得所有轉換於一個單一的庫。它支持標準的網頁文件:HTML、ASPX、JS、CSS 和圖像。
NReco 是一種將 HTML 格式轉換為 PDF 文件的網路服務。它提供多種定價結構,最低價格為 $75/月。而IronPDF則可以免費進行開發,並且隨時可以獲取商業部署的許可。 授權可用 適用於單一專案使用、單人開發人員、機構和全球企業。所有授權皆包含30天退款保證及一年的產品支援和更新。Lite 套件起價為 $749。IronPDF 套件是永久性的,沒有持續費用。
如果您購買完整的 Iron Suite,您將有資格以購買兩個產品的價格獲得全部五個產品。更多詳情,請點擊 這裡總結來說,我們選擇IronPDF是因為它的高性能和豐富的功能集。IronPDF還提供良好的支持和文件說明,確保用戶可以充分且有效地利用這些令人印象深刻的功能。