產品比較

IronPDF 和 NReco .NET Core 之間的比較

發佈 2022年10月1日
分享:

介紹

PDF 文件在各種行業中廣泛用於開具發票和生成文件。開發人員在生成文件時使用 PDF 格式來滿足客戶的需求。隨著當前市場上的各種庫,可生成 PDF 從未如此簡單。在項目中使用這類庫時,我們必須評估構建、閱讀和轉換等因素,以確定哪個庫是市場上最好的。

在本文中,我們將比較兩個最受歡迎的 .NET 組件 PDF 庫。這兩個庫分別是:

  • IronPDF
  • NReco

IronPDF 和 NReco 是兩個可以用於在 .NET 應用程式中創建、閱讀、更新和操作 PDF 文件的庫,無論是桌面應用程式、Web 應用程式還是移動應用程式。我們將首先比較這兩個庫的功能,然後看看它們在轉換和操作 PDF 文件方面的性能。微軟的 .NET 框架支持這兩個庫。

接下來的問題是要決定哪個 C# PDF 庫最適合您的 .NET 項目。您可以在閱讀以下兩個庫的比較後權衡您的決定。

我們首先來看看這兩個庫的功能,然後進行比較。

IronPDF 特點

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 文本和提取圖像變得非常容易。

一些重要的特點包括:

建立PDF (HTML 轉 PDF)

  • 從HTML 4和5、CSS及JavaScript建立PDF文件
  • 從URL產生PDF文件
  • 從ASP.NET應用程式生成PDF (Razor, MVC 視圖):
  • 使用自訂的網絡登錄憑證、用戶代理、代理、Cookie、HTTP 標頭和表單變量加載 URL,允許登錄 HTML 表單後

編輯現有的PDF文件而無需使用Adobe Acrobat

  • 讀取和填寫表單欄位數據
  • 從PDF中提取圖像和文本
  • 在現有的PDF頁面中添加新的HTML內容
  • 添加邏輯或HTML的頁眉和頁腳

操作現有的 PDF 文件

  • 加載和解析現有的 PDF 文件
  • 合併和拆分內容成 PDF 文件
  • 添加頁眉、頁腳、註解、書籤、水印、文字和圖片資產

從多種格式轉換

  • ASPX WebForms — 在三行代碼中將 ASP.NET webforms 轉換為可在瀏覽器中查看的可下載 PDF
  • HTML 文檔 — 將 HTML 轉換為 PDF
  • 自定義“基礎 URL”,允許跨網站的可訪問資源文件
  • 通過虛擬視窗實現響應佈局 (寬度和高度)
  • 接受任何主要文件編碼的HTML編碼 (預設為UTF-8)

儲存和列印

  • 從檔案、二進位資料或 MemoryStreams 儲存和載入
  • 支援螢幕和列印為基礎的 CSS 媒體類型
  • 將 PDF 檔案轉換為 PrintDocument 對象並且無需 Adobe 列印 (使用最少的代碼)
  • 匯出包含 API 成功和源代码調試錯誤詳細信息的官方日誌文件。

NReco

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

    • 將 ASPX 頁面及 MVC 視圖轉換為 PDF
  • 合併多個 HTML 頁面到一個生成的 PDF
  • PDF 選項:

    • 頁面方向、自訂頁面大小、頁面邊距

    • 頁眉/頁腳、頁面編號、封面等的 HTML 樣板

    • 根據網頁標題自動生成目錄 (H1/H2/H3)

在 Visual Studio 中創建新專案:

我們將在 Visual Studio 中創建一個新專案,以演示這兩個庫如何生成 PDF。

打開 Visual Studio。 點擊創建新專案 => 選擇範本 (控制台應用程式) => 點擊下一步 => 為專案命名 => 選擇 .NET Framework 版本 => 點擊建立按鈕。

比較 IronPDF 和 NReco,圖 1:新的 Visual Studio C# 主控台應用程式

將創建一個新專案。

讓我們依次安裝這兩個程式庫。

IronPDF C# 庫的安裝

有四種下載和安裝 IronPDF 庫的方法。這些方法如下:

  1. 使用 Visual Studio NuGet 套件管理器.

  2. 使用套件管理器控制台.

  3. 直接從 NuGet 網頁.

  4. 從以下位置下載 IronPDF .DLL 庫 IronPDF 網頁讓我們仔細看看每一個。

使用 NuGet 套件管理器安裝:

按照以下步驟從 NuGet 套件管理器下載 IronPDF。

從選單列中,點擊 工具 > NuGet 套件管理器 > 管理解決方案的 NuGet 套件

一個新窗口會出現。點擊瀏覽 => 搜索 IronPDF => 點擊安裝按鈕,如下圖所示。

比較 IronPDF 和 NReco,圖二:使用 NuGet 套件管理器 GUI 安裝 IronPDF

這將在我們的專案中安裝 IronPDF 庫。

使用套件管理員主控台

在 Visual Studio 中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台

在套件管理員主控台選項卡中輸入以下行:

Install-Package IronPdf

從 NuGet 網站直接下載

第三種方式是直接從網站下載 NuGet 包。

  • 瀏覽到 連結
  • 從右側選單中選擇下載套餐選項
  • 雙擊下載的套餐。它將自動安裝
  • 現在重新加載解決方案並開始在項目中使用它。

從 IronPDF 網站直接下載

點擊此處 連結 從網站直接下載最新套件。下載後,按照以下步驟將套件添加到項目中。

  • 在解決方案窗口中右鍵單擊項目。
  • 選擇選項引用,然後導航到下載的引用位置。

接下來,單擊確定以添加引用。

安裝 NReco 庫

可以通過以下四種方式之一下載 NReco 庫。

  • 使用 Visual Studio NuGet 套件管理器解決方案
  • 使用套件管理器控制台。
  • 直接下載來自 NuGet網站.
  • 從NReco網站直接下載。

使用 Visual Studio

同上,只需進入 NuGet 套件管理員,並搜尋關鍵字 "NReco"。

使用 Visual Studio 命令列

在 Visual Studio 中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台

在套件管理員主控台標籤中輸入以下語句:

Install-Package NReco.PdfGenerator -Version 1.2.0

從 NuGet 網站直接下載

第三種方式是直接從網站下載 NuGet 套件。

  • 瀏覽該連結 "https://www.nuget.org/packages/nreco/"
  • 從右側的選單中點選下載套件選項。
  • 雙擊下載的套件,它將自動安裝。
  • 重新載入解決方案並開始在項目中使用。

從NReco網站直接下載

點擊這裡 連結 查看可用的 DLL 列表。下載適用於各種 .NET 框架的最新軟體包。下載後,按照以下步驟將軟體包添加到專案中。

  • 右鍵點擊方案視窗中的專案。
  • 選擇 "參考選項",然後導航到已下載的軟體包位置。
  • 點擊 "確定" 以添加引用。

讓我們一起探索這兩個庫的功能。

生成 PDF

這兩個庫都支持生成 PDF 文件,但它們的實現方式不同。

使用 IronPDF 從 URL 生成 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")
VB   C#

上述程式碼將從提供的 URL 生成 PDF。以下是原始碼的輸出。

比較IronPDF和NReco,圖3:使用IronPDF從URL生成PDF

使用 NReco 從 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")
VB   C#

使用 NReco 從 URL 生成 PDF 需要使用另一個庫:NReco.PDFGenerator.LT 此外,生成 PDF 需要商業許可證。沒有商業許可證,上述代碼將拋出如下所示的異常:

比較 IronPDF 和 NReco,圖 4:NReco's URL-to-PDF generation feature requires ownership of a commercial license

使用IronPDF從HTML字串生成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")
VB   C#

請見下方輸出:

比較 IronPDF 和 NReco,圖 5:IronPDF 的結果's HTML-to-PDF Generation Feature

使用 NReco 從 HTML 範本生成 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")
VB   C#

上述原始碼使用 NReco C# WkHtmlToPdf 包裝器生成 PDF。成功執行此程式碼也需要商業授權。因此,運行上述程式碼將引發異常:"此功能需要商業授權。"

比較IronPDF和NReco,圖6:使用NReco從HTML內容生成PDF也需要商業授權

閱讀 PDF 檔案

使用 IronPDF 從 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)
VB   C#

生成的輸出如下:

比較 IronPDF 和 NReco,圖 7:IronPDF PDF 文字提取

使用 NReco 從 PDF 中提取文本:

我們需要添加另一個額外的庫,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)
VB   C#

輸出如下所示:

比較 IronPDF 和 NReco,圖 8:NReco PDF 文字提取結果

NReco生成的輸出是正確的,但它包含了一個不應該出現的符號。

比較

我們已經討論了兩個庫所提供的核心功能。現在,讓我們比較它們。

NReco 在許多不同的使用情況下使用 C# wkHtmlToPdf 工具。我們不需要單獨安裝 wkHtmltoPdf,但我們確實需要安裝單獨的 NuGet 案例來創建和閱讀 PDF 文件。因此,這增加了管理專案庫依賴性的複雜性。另一方面,IronPDF 只需要一次安裝。IronPDF 的全部功能不需要額外的庫。

IronPDF 可以準確地將 HTML 內容渲染成 PDF,無論是來自 URL 還是原始 HTML 字符串。這些功能在 NReco 中必須首先獲取商業許可證才能使用。

這兩個庫都能很好地從 PDF 文件中提取文本,但 NReco 在其輸出中包含了一個額外的、不必要的符號。

比較 IronPDF 和 NReco,圖 9:NReco vs IronPDF(並排比較)

授權

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還提供良好的支持和文件說明,確保用戶可以充分且有效地利用這些令人印象深刻的功能。

< 上一頁
IronPDF 與 Innovasys Document! X 的比較
下一個 >
IronPDF 和 PDFShift 之間的比較

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >