Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Cuando trabajas con PDFs, ¿quieres usar la mejor herramienta que se adapte a las necesidades de tu proyecto, verdad? Pero con tantas bibliotecas de PDF diferentes disponibles, puede ser difícil decidir cuál es la mejor para ti. Hoy vamos a examinar más de cerca dos bibliotecas PDF destacadas; IronPDF y NReco.PdfGenerator.
Compararemos sus características, compatibilidad y rendimiento general para ayudarte a tomar una decisión informada sobre qué biblioteca podría ser la más adecuada para ti.
IronPDFes una biblioteca integral de .NET que destaca en la conversión de HTML a PDF y ofrece un amplio conjunto de características para trabajar con archivos PDF. IronPDF es compatible con los estándares web modernos, incluidos HTML5, CSS3 y JavaScript, asegurando una generación de PDF de alta fidelidad. También está diseñado para ser fácil de usar, ofreciendo una API intuitiva que se integra perfectamente con aplicaciones .NET.
NReco.PdfGenerator for .NET es una biblioteca poderosa centrada en la conversión de HTML a PDF. Se basa en la herramienta de línea de comandos WkHtmlToPdf y utiliza el motor de renderizado Qt WebKit para crear documentos PDF a partir de contenido HTML. Esta biblioteca es conocida por su facilidad de uso y rápida integración en proyectos .NET, requiriendo solo una ensambladura .NET que ya incluye los binarios de WkHtmlToPdf. Esto lo convierte en una opción popular para los desarrolladores que necesitan capacidades fiables de generación de PDF.
IronPDF se destaca por su amplia compatibilidad multiplataforma. Admite una amplia gama de entornos dentro del framework .NET, garantizando un funcionamiento sin problemas en diferentes plataformas. A continuación se muestra un resumen de la compatibilidad de la plataforma de IronPDF:
Versiones .NET:
SO y procesadores: Compatible con varios sistemas operativos y procesadores, como Windows, Mac, Linux, x64, x86 y ARM
Para obtener más detalles sobre la compatibilidad de IronPDF, visite Compatibilidad con IronPDF.
Integración: Se integra perfectamente conASP.NETy aplicaciones MVC.
Para obtener una lista completa de las características de IronPDF, visite Características de IronPDF.
Ahora, veamos más de cerca algunos casos de uso comunes al trabajar con documentos PDF, y cómo estas dos bibliotecas los manejan.
Ejemplo 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")
Ejemplo de 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)
IronPDFproporciona un renderizado de alta fidelidad gracias a su compatibilidad con los estándares web modernos. Al usar IronPDF para Conversión de HTML a PDF, podrás crear archivos PDF con precisión de píxeles a partir de documentos HTML, páginas web y más. NReco.PdfGenerator utiliza WkHtmlToPdf, que también ofrece renderizado confiable al trabajar con cualquier plantilla HTML o página web, pero podría no igualar la precisión de las capacidades de renderizado de IronPDF.
Para obtener más ejemplos de cómo usar IronPDF para la conversión de HTML a PDF, visite IronPDF HTML a PDF.
Ejemplo 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")
Ejemplo de NReco.PdfGenerator: NReco.PdfGenerator no admite de forma nativa el cifrado PDF, ya que el enfoque de esta biblioteca se centra principalmente en la conversión de HTML a PDF.
IronPDF ofrece una herramienta sencilla pero potente paraencriptación de PDF. Con IronPDF, tendrás control total sobre todo el proceso, incluso al configurar las opciones de seguridad. NReco.PdfGenerator, sin embargo, carece de características de cifrado nativas, por lo que si deseas cifrar tu archivo PDF después de usar NReco.PdfGenerator para convertirlo, necesitarás instalar más bibliotecas que puedan manejar el cifrado de PDF.
Para ver más ejemplos de cifrado, visite el Cómo hacer con IronPDFguía para este tema.
Ejemplo 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")
Ejemplo de NReco.PdfGenerator: NReco.PdfGenerator no admite de forma nativa el redaccionado de texto.
Requiriendo solo unas pocas líneas de código, IronPDF te proporciona una herramienta concisa y fácil de usar.herramienta de redacción. Dado lo sencillo y breve que es implementarlo, puedes estar seguro de que al utilizar la función de redacción de IronPDF, podrás aumentar la eficiencia de tu lugar de trabajo desde el inicio. NReco.PdfGenerator, por otro lado, requeriría una biblioteca externa adicional para manejar el proceso de redacción, ya que no tiene soporte nativo para la redacción de PDF.
Para obtener más ejemplos de redacción, visite el sitio web de IronPDF.Guía de cómo hacersobre este tema.
Ejemplo 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")
Ejemplo de NReco.PdfGenerator: NReco.PdfGenerator no soporta nativamente las firmas digitales.
IronPDFfirma digitalLa función te proporciona una forma sencilla de automatizar el proceso de firmar PDF's. Su API sencilla le ofrece control total sobre el proceso de firma, mientras que su facilidad de implementación significa menos trabajo para usted si se encuentra firmando PDFs con regularidad.
NReco.PdfGenerator, lamentablemente, no ofrece soporte para firmar digitalmente PDFs, pero puedes utilizar bibliotecas de terceros como iTextSharp para hacerlo.
Para obtener más ejemplos de firma, visite el Cómo hacer con IronPDFguía para este tema.
Ejemplo 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")
Ejemplo de NReco.PdfGenerator: NReco.PdfGenerator no admite marcas de agua de forma nativa.
¿Estás familiarizado con HTML y CSS? Porque si es así, puedes aprovechar el uso de HTML/CSS de IronPDF en su herramienta de marca de aguatener control total sobre todo el proceso. Si no, los aspectos intuitivos y fáciles de aprender del control de marcas de agua te harán sentir como un profesional en poco tiempo.
Si estás utilizando NReco.PdfGenerator y deseas agregar una marca de agua a tus archivos PDF recién convertidos, necesitarás instalar una biblioteca externa, como PDFSharp.
Para ver más ejemplos de marcas de agua, visite el Cómo hacer con IronPDF guía sobre este tema.
Ejemplo 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")
Ejemplo de NReco.PdfGenerator: NReco.PdfGenerator no admite de forma nativa el estampado HTML.
IronPDF le ofrece robustasherramientas de estampado de texto e imágenes, con un enfoque que se asemeja mucho a HTML y CSS, tendrás control total sobre el proceso de estampado. Mientras que NReco.PdfGenerator, por otro lado, requiere una biblioteca externa como iTextSharp o PDFSharp para estampar texto e imágenes en sus documentos PDF recién convertidos.
Para más ejemplos de estampado, visite el Cómo hacer con IronPDF guía sobre este tema.
Ejemplo 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")
Ejemplo de NReco.PdfGenerator: NReco.PdfGenerator no soporta de manera nativa la conversión de DOCX a PDF.
Con IronPDF, puedeconvierte tus archivos DOCXa un formato PDF en solo unas pocas líneas de código. La implementación simplista de esta herramienta garantiza un espacio de trabajo eficiente, sin perder calidad en el archivo PDF resultante. Con NReco.PdfGenerator, no podrá convertir DOCX a PDF, ya que el enfoque principal de la biblioteca es la conversión de HTML a PDF. Entonces, necesitarás una biblioteca adicional como Apsose.Words en tu espacio de trabajo para manejar esta conversión.
Para más ejemplos de DOCX a PDF, visite el Cómo hacer con IronPDF guía sobre este tema.
IronPDF tiene diferentes niveles y funciones adicionales por la compra de una licencia. Los promotores también pueden comprarIronSuitelo que te da acceso a todos los productos de Iron Software al precio de dos. Si no está preparado para comprar una licencia, IronPDF le ofrece unaprueba gratuita que dura 30 días.
IronSuite: Por 1.498 dólares, tendrá acceso a todos los productos de Iron Software, incluidos IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint e IronWebScraper.
IronPDF destaca por su amplia documentación y asistencia:
Actualizaciones periódicas: Actualizaciones mensuales del producto para garantizar las últimas funciones y parches de seguridad.
Si desea más información, consulte la extensa página de IronPDFdocumentacióny visite la páginaIron Software YouTube Channel.
IronPDF y NReco.PdfGenerator son ambos fuertes contendientes para todas tus necesidades de conversión de HTML a PDF, pero si necesitas una herramienta que venga con un rico conjunto de características integradas más allá de simplemente la conversión de HTML a PDF, entonces IronPDF es para ti.
Con un conjunto de características completas, una curva de aprendizaje sencilla y un amplio soporte para los estándares web modernos y la compatibilidad multiplataforma, IronPDF será una adición poderosa a su espacio de trabajo. NReco.PdfGenerator, aunque confiable para la conversión básica de HTML a PDF, carece de muchas de las funciones avanzadas que ofrece IronPDF.
Puedes probar el 0 días de prueba gratuita para consultar sus funciones disponibles.
9 productos API .NET para sus documentos de oficina