在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
當您處理 PDF 文件時,您會希望使用最適合您專案需求的最佳工具,對吧? 但是,有這麼多不同的 PDF 函式庫,要決定哪一個最適合你可能會很困難。 今天,我們將更深入地了解兩個著名的 PDF 庫; IronPDF 和 NReco.PdfGenerator。
我們將比較它們的功能、相容性和整體性能,以幫助您做出明智的決定,選擇哪個庫最適合您。
IronPDF是一個全面的.NET程式庫,擅長將HTML轉換為PDF,並提供豐富的功能集以處理PDF文件。 IronPDF 支援現代網頁標準,包括 HTML5、CSS3 和 JavaScript,確保高保真 PDF 生成,同時也設計得易於使用,提供直觀的 API,能夠無縫整合與 .NET 應用程式。
NReco.PdfGenerator for .NET 是一個專注於 HTML 到 PDF 轉換的強大庫。 它基於 WkHtmlToPdf 命令行工具,並依賴於 Qt WebKit 渲染引擎從 HTML 內容創建 PDF 文檔。 這個函式庫以易於使用和快速整合到 .NET 專案中著稱,只需一個 .NET 程式集,該程式集中已包含 WkHtmlToPdf 二進位檔案。 這使其成為需要可靠 PDF 生成功能的開發者的熱門選擇。
IronPDF 因其廣泛的跨平台相容性而脫穎而出。 它支持 .NET 框架內的多種環境,確保在不同平台上流暢運行。 以下是IronPDF平台相容性的摘要:
作業系統和處理器: 支援多種不同的作業系統和處理器,包括 Windows、Mac、Linux、x64、x86、ARM
如需瞭解有關 IronPDF 相容性的更多詳情,請訪問IronPDF 功能頁面.
集成:無縫整合與ASP.NET和 MVC 應用程式。
如需查看IronPDF功能的完整列表,請訪問IronPDF 功能.
現在,讓我們更仔細地看看處理 PDF 文件時的一些常見使用情境,以及這兩個函式庫如何處理它們。
IronPDF 範例:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: images, CSS and JavaScript.
' An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "c:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
NReco.PdfGenerator 範例:
using system;
using NReco.PdfGenerator;
var htmlContent = String.Format("<body>Hello world: {0}</body>",
DateTime.Now);
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
var pdfBytes = htmlToPdf.GeneratePdf(htmlContent)
using system;
using NReco.PdfGenerator;
var htmlContent = String.Format("<body>Hello world: {0}</body>",
DateTime.Now);
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
var pdfBytes = htmlToPdf.GeneratePdf(htmlContent)
Imports system
Imports NReco.PdfGenerator
Private htmlContent = String.Format("<body>Hello world: {0}</body>", DateTime.Now)
Private htmlToPdf = New NReco.PdfGenerator.HtmlToPdfConverter()
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'var pdfBytes = htmlToPdf.GeneratePdf(htmlContent)
IronPDF由於其對現代網頁標準的支持,提供高保真渲染。 使用 IronPDF 時HTML 轉換為 PDF,您將能夠從 HTML 文件、網頁等創建像素完美的 PDF。 NReco.PdfGenerator 使用 WkHtmlToPdf,當處理任何 HTML 模板或網頁時,亦提供可靠的渲染,但可能無法達到 IronPDF 的渲染能力精確性。
如需更多使用 IronPDF 進行 HTML 到 PDF 轉換的範例,請訪問IronPDF HTML轉PDF.
IronPDF 範例:
using IronPdf;
using System;
//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
//Edit file security settings
//The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
//Edit file security settings
//The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
'Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
'Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
'Edit file security settings
'The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
NReco.PdfGenerator 範例: NReco.PdfGenerator 本身不支援 PDF 加密,因為這個函式庫主要專注於處理 HTML 到 PDF 的轉換。
IronPDF 提供了一個簡單而強大的工具,用於加密PDFs. 使用 IronPDF,您將能夠完全控制整個過程,甚至包括設置安全設定。 然而,NReco.PdfGenerator 缺乏原生加密功能,因此如果您想在使用 NReco.PdfGenerator 轉換後加密 PDF 文件,您將需要安裝更多可以處理 PDF 加密的庫。
如需更多加密範例,請造訪IronPDF 使用指南本主題的指南。
IronPDF 範例:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
NReco.PdfGenerator 範例: NReco.PdfGenerator 不原生支援文字修訂。
只需幾行程式碼,IronPDF 為您提供簡潔且易於使用的功能編輯工具. 由於實施過程簡短且簡單,您可以確信通過使用IronPDF的涂改功能,您將能夠立即提高工作場所的效率。 另一方面,NReco.PdfGenerator 需要額外的外部庫來處理修訂過程,因為它本身不支持 PDF 修訂功能。
如需更多編輯範例,請造訪 IronPDF使用指南關於這個話題。
IronPDF 範例:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
NReco.PdfGenerator 範例: NReco.PdfGenerator 不原生支援數位簽章。
IronPDF 的數位簽名功能為您提供了一種輕鬆自動化簽署 PDF 的方式。 其直觀的 API 讓您完全控制簽署過程,而其易於實施的特點意味著如果您經常需要簽署 PDF,將為您減少工作量。
NReco.PdfGenerator 遺憾地不支援數位簽署 PDF,不過您可以使用第三方庫如 iTextSharp 來達成此目的。
如需更多簽署範例,請訪問IronPDF 使用指南本主題的指南。
IronPDF 範例:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
NReco.PdfGenerator 示例:NReco.PdfGenerator 本身不支持水印功能。
您熟悉 HTML 和 CSS 嗎? 因為如果是這樣,您可以利用IronPDF在其中的HTML/CSS使用。水印工具全面掌控整個過程。 如果沒有的話,直觀且易於學習的浮水印控制功能將讓您很快感覺像專業人士。
如果您正在使用 NReco.PdfGenerator 並希望在新轉換的 PDF 文件上添加浮水印,則需要安裝像 PDFSharp 這樣的外部庫。
要查看更多的浮水印範例,請造訪IronPDF 使用指南此主題的指南。
IronPDF 範例:
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
NReco.PdfGenerator 範例: NReco.PdfGenerator 不原生支持 HTML 標記。
IronPDF 為您提供強大的文字和影像加蓋工具使用類似 HTML 和 CSS 的方法,您將完全掌控加蓋過程。 而NReco.PdfGenerator則需要外部程式庫,如iTextSharp或PDFSharp,才能將文字和圖像加蓋到新轉換的PDF文件上。
如需更多範本範例,請造訪IronPDF 使用指南此主題的指南。
IronPDF 範例:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
NReco.PdfGenerator 範例:NReco.PdfGenerator 原生不支援 DOCX 到 PDF 的轉換。
使用 IronPDF,您可以轉換您的DOCX檔案只需幾行代碼就可以轉換為 PDF 格式。 此工具的簡單實現確保了工作空間的高效運作,同時不會降低生成的 PDF 文件的質量。使用 NReco.PdfGenerator,您無法將 DOCX 轉換為 PDF,因為該庫的主要功能是 HTML 到 PDF 的轉換。 因此,您需要在工作區中添加一個額外的庫,例如 Apsose.Words,以處理此轉換。
更多 DOCX 轉 PDF 的範例,請訪問IronPDF 使用指南此主題的指南。
IronPDF 提供不同等級的授權及額外的功能供購買。 開發人員還可以購買Iron Suite可以讓您以兩個產品的價格使用Iron Software的所有產品。 如果您還沒有準備好購買許可證,IronPDF 提供一個免費試用持續30天。
Iron Suite:只需 $1,498,即可獲得所有 Iron Software 產品的使用權,包括 IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint 和 IronWebScraper。
IronPDF 在提供廣泛的文檔和支援方面表現出色:
定期更新:每月產品更新,以確保提供最新功能和安全補丁。
如需更多資訊,請查看 IronPDF 的廣泛內容文檔, 並造訪Iron Software YouTube 頻道.
IronPDF 和 NReco.PdfGenerator 都是滿足您所有 HTML 到 PDF 轉換需求的強大競爭者,但如果您需要一個不僅僅支持 HTML 到 PDF 轉換且具有豐富內建功能的工具,那麼 IronPDF 就是您的理想選擇。
IronPDF 拥有全面的功能集、简单的学习曲线以及对现代网络标准和跨平台兼容性的广泛支持,将成为您工作空间中强大的辅助工具。 NReco.PdfGenerator 雖然在基本的 HTML 轉 PDF 轉換上是可靠的,但缺乏 IronPDF 提供的許多進階功能。
您可以嘗試使用 0 天免費試用 查看他們的可用功能。