Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
IronPDF y DinkToPdf son bibliotecas muy conocidas para crear y editar archivos PDF en .NET. Tienen la misma función básica, pero difieren mucho en cuanto a características, capacidades y facilidad de uso. El objetivo de este artículo es comparar estas dos bibliotecas en detalle para que los usuarios potenciales puedan identificar sus pros y sus contras y, en última instancia, decidir cuál les conviene más.
IronPDF es una completa biblioteca PDF creada para programadores .NET. Tiene capacidad para crear, modificar y renderizar PDF a partir de distintas fuentes, como HTML, ASPX y URL, entre otras. Una de las principales razones por las que IronPDF es tan popular reside en su sencillez de integración, así como en su amplia funcionalidad, que se adhiere a los estándares web contemporáneos como CSS3, HTML5 o incluso JavaScript. Además, IronPDF tiene como objetivo producir una representación precisa de los documentos utilizando unas pocas líneas de codificación, por lo que este software es más adecuado para los desarrolladores que desean herramientas de generación de PDF potentes pero fáciles de usar.
DinkToPdf es una biblioteca nativa .NET ligera y sencilla que utiliza el motor Webkit para convertir HTML a PDF. Es conocido por su fácil instalación y fácil de usar interfaz, ya que funciona como una envoltura .NET Core para wkhtmltopdf biblioteca que es ampliamente utilizado debido a estas características. Sin embargo, carece de algunas de las funciones avanzadas que ofrece IronPDF.
IronPDF y DinkToPdf son librerías diseñadas para facilitar la generación de PDF a partir de contenido HTML en aplicaciones .NET, pero difieren en su enfoque y compatibilidad cruzada:
Versiones .NET:
(C#, VB.NET, F#)
.NET Core (8, 7, 6, 5 y 3.1+.)
Versiones .NET:
.NET Framework (4.x)
Al comparar las principales características de IronPDF y DinkToPdf, IronPDF ofrece un conjunto de funcionalidades más completo y versátil. He aquí una comparación detallada:
Estampado PDF: Estampe imágenes y texto en sus documentos PDF con IronPDF.
Los usuarios pueden obtener más información sobre las funciones de IronPDF en la página página de características.
En lugares de trabajo y otros entornos, conversión de HTML contenido a PDF es una operación habitual y necesaria. Los siguientes ejemplos de código comparan cómo IronPDF y DinkToPdf gestionan este proceso.
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>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
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>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
Ejemplo de DinkToPdf:
var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4,
},
Objects = {
new ObjectSettings() {
PagesCount = true,
HtmlContent = "<h1>Hello World!</h1>",
WebSettings = { DefaultEncoding = "utf-8" },
}
}
};
byte[] pdfBytes = converter.Convert(document);
File.WriteAllBytes(outputPath, pdfBytes);
var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4,
},
Objects = {
new ObjectSettings() {
PagesCount = true,
HtmlContent = "<h1>Hello World!</h1>",
WebSettings = { DefaultEncoding = "utf-8" },
}
}
};
byte[] pdfBytes = converter.Convert(document);
File.WriteAllBytes(outputPath, pdfBytes);
Dim converter = New SynchronizedConverter(New PdfTools())
Dim doc = New HtmlToPdfDocument() With {
.GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4
},
.Objects = {
New ObjectSettings() With {
.PagesCount = True, .HtmlContent = "<h1>Hello World!</h1>", .WebSettings = { DefaultEncoding = "utf-8" }
}
}
}
Dim pdfBytes() As Byte = converter.Convert(document)
File.WriteAllBytes(outputPath, pdfBytes)
Tanto IronPDF como DinkToPdf ofrecen potentes herramientas para convertir contenidos HTML en documentos PDF en aplicaciones .NET. IronPDF ofrece un método ágil y sencillo a la vez que proporciona a los usuarios un gran control. Su moderna compatibilidad con los estándares web garantiza la producción sistemática de archivos PDF de alta fidelidad. DinkToPdf utiliza wkhtmltopdf a través de una envoltura .NET, ofreciendo amplias opciones de personalización para la generación de PDF. Permite configurar el modo de color, la orientación de la página, el tamaño del papel, etc.
Cifrar y descifrar Los archivos PDF son una parte importante de muchos lugares de trabajo, y disponer de una herramienta que pueda realizar esta tarea fácilmente es aún más importante. En el siguiente fragmento de código, compararemos cómo funciona el cifrado de PDF en IronPDF y DinkToPdf:
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
DinkToPdf:
La biblioteca DinkToPdf no ofrece soporte directo para cifrar archivos PDF. Sin embargo, puede lograr la encriptación de PDF utilizando wkhtmltopdf directamente con DinkToPdf.
A la hora de cifrar archivos PDF, IronPDF ofrece una solución sólida con herramientas de cifrado completas que permiten a los usuarios proteger fácilmente los PDF y controlar al mismo tiempo la configuración de seguridad, como los permisos de sólo lectura y la accesibilidad del contenido. Los usuarios pueden gestionar los metadatos y especificar contraseñas de cifrado para mejorar la seguridad de los documentos.
Por otro lado, DinkToPdf, que depende de wkhtmltopdf, no admite directamente el cifrado de PDF. Sin embargo, la codificación puede lograrse configurando los parámetros de wkhtmltopdf directamente dentro de DinkToPdf. Este enfoque permite a los usuarios establecer contraseñas de usuario y propietario para proteger los documentos PDF generados a partir de contenido HTML, garantizando la confidencialidad y el control de acceso.
En algunos casos, puede ser necesario redactar determinadas secciones de un archivo PDF cuando se trata de información confidencial o privada. Los siguientes fragmentos de código muestran cómo IronPDF realiza la redacción en comparación con DinkToPdf.
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
DinkToPdf no admite tareas de redacción de PDF por sí mismo; sin embargo, puede conseguir la redacción indirectamente manipulando el contenido HTML antes de convertirlo a PDF. Este enfoque de las tareas de redacción podría ser el siguiente:
Preparar el HTML para la Redacción:
Convertir HTML a PDF:
Generar el PDF censurado:
IronPDF adopta un enfoque directo y conciso en la redacción de contenidos PDF. Permite modificar metadatos, ajustar la configuración de seguridad y cifrar archivos PDF. Esto incluye hacer que los documentos sean de sólo lectura, restringir el copiar y pegar y controlar los permisos de impresión. Por otro lado, DinkToPdf no admite directamente tareas de redacción de PDF. En su lugar, puede lograr la redacción indirectamente manipulando el contenido HTML antes de convertirlo a PDF.
Puede ahorrar mucho tiempo automatizando la firma electrónica de archivos PDF. En esta sección compararemos IronPDF con DinkToPdf a la hora de firmar documentos.
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
DinkToPdf:
Por sí solo, DinkToPdf no ofrece una herramienta de firma digital de PDF integrada. Sin embargo, aún puede firmar archivos PDF si utiliza bibliotecas externas compatibles con aplicaciones .NET, como iTextSharp. Entonces, podría preparar el archivo PDF que se va a firmar utilizando DinkToPdf, antes de utilizar la biblioteca externa que ha descargado para aplicar una firma digital al PDF.
IronPDF ofrece a los usuarios un proceso sencillo y directo para aplicar firmas digitales a archivos PDF, proporcionando a los usuarios una herramienta sólida para automatizar su proceso de firma de PDF de forma eficaz. DinkToPdf, por otro lado, requiere bibliotecas externas para completar esta tarea.
Añadir y personalizar marcas de agua en PDF mediante software es una herramienta muy práctica para tratar la privacidad, la protección de los derechos de autor, la marca, etc., especialmente cuando se manejan documentos confidenciales. Aquí hemos comparado IronPDF y DinkToPdf en cuanto a lo bien que cada uno de ellos añade marcas de agua a un archivo PDF.
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
DinkToPdf:
Aunque DinkToPdf no ofrece soporte nativo para aplicar marcas de agua a los PDF, los usuarios pueden conseguir resultados similares incrustando la marca de agua con cualquier contenido HTML que deseen aplicar al PDF. Este proceso implicaría utilizar CSS para colocar la marca de agua como una superposición sobre el contenido HTML.
A través de la aplicación HTML/CSS, la sencilla pero potente API de IronPDF permite a los usuarios imponer marcas de agua en sus PDF y les otorga un mayor control sobre toda la operación. Esta característica facilita a los usuarios añadir marcas de agua personalizadas cuando y como quieran.
Por el contrario, DinkToPdf carece de soporte nativo para marcas de agua, pero permite obtener resultados similares incrustando marcas de agua dentro del contenido HTML. Los usuarios pueden utilizar CSS para superponer la marca de agua sobre el HTML y luego convertirlo a PDF.
Hay situaciones en las que hay que poner un sello en una página PDF, igual que cuando se aplican marcas de agua. En este caso, examinaremos los enfoques que adoptan IronPDF y DinkToPdf para estampar contenido en un documento PDF.
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
DinkToPdf:
Al igual que ocurre con la aplicación de marcas de agua, DinkToPdf no admite ninguna herramienta de estampación integrada. En su lugar, los usuarios tendrán que volver a hacer uso de incrustar el contenido que desea estampar dentro del contenido HTML que planea convertir a PDF.
Cuando se trata de estampar contenido en documentos PDF, IronPDF utiliza sus herramientas integradas de estampado de texto e imágenes para tener un control total sobre el proceso de estampado. Estas herramientas facilitan la estampación de contenidos en archivos PDF nuevos o existentes. Por otro lado, DinkToPdf no proporciona soporte nativo para herramientas de estampación. Los usuarios deben incrustar el contenido deseado directamente en el HTML antes de la conversión, de forma similar a la aplicación de marcas de agua, para conseguir el efecto de estampado en el documento PDF resultante.
Para producir archivos PDF, puede ser necesario realizar conversiones de formato. En este caso, hablaremos de la transformación de DOCX a PDF y comparar este proceso de conversión es ejecutado por IronPDF y DinkToPdf.
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
DinkToPdf:
DinkToPdf no soporta directamente la conversión de DOCX a PDF, dado que su propósito principal es simplemente convertir páginas HTML a pdf. Si un usuario quisiera convertir DOCX a PDF utilizando DinkToPdf, tendría que convertir el archivo DOCX a HTML utilizando una biblioteca de terceros como DocX o Aspose.Words. A continuación, podían convertir el contenido HTML resultante a PDF utilizando DinkToPdf.
IronPDF ofrece soporte directo para la conversión de DOCX a PDF, facilitando el proceso con su renderizador DocxToPdfRenderer incorporado. Dado que DinkToPdf no soporta este proceso de forma nativa, la tarea se complica ya que requiere un paso intermedio de conversión de DOCX a HTML utilizando otra librería antes de convertir el HTML a PDF utilizando DinkToPdf.
IronPDF tiene diferentes niveles y funciones adicionales por la compra de una licencia. Los promotores también pueden comprar IronSuite que, le da acceso a todos los productos de IronSoftware al precio de dos. Si no está preparado para comprar una licencia, IronPDF le ofrece una prueba gratuita que dura 30 días.
Soporte ininterrumpido del producto: IronPDF ofrece acceso a actualizaciones continuas del producto, mejoras de las funciones de seguridad y soporte de su equipo de ingenieros por 999 $ al año o por una única compra de 1.999 $ para una cobertura de 5 años.
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.
DinkToPdf es de uso gratuito, trabaja sobre un modelo de código abierto y está licenciado bajo una licencia MIT. Esto significa que cualquiera puede utilizar este producto de forma gratuita y sin restricciones. Aunque esto hace que sea más barato que sus competidores, los usuarios tampoco obtienen todas las herramientas ricas en funciones que vienen con otras herramientas PDF, como IronPDF.
Foro comunitario: Comunidad comprometida para apoyo adicional.
Actualizaciones periódicas: Actualizaciones mensuales del producto para garantizar las últimas funciones y parches de seguridad.
Para obtener más información sobre la documentación y la asistencia de IronPDF, visite Documentación de IronPDF y el Canal YouTube de IronSoftware.
En conclusión, cuando se trata de elegir una biblioteca de manipulación de PDF para .NET Core, IronPDF es una potente herramienta para añadir a su kit de herramientas de desarrollador. IronPDF destaca en varios aspectos, como la conversión de HTML a PDF, el cifrado, la redacción, las firmas digitales y las marcas de agua, ofreciendo soluciones ágiles y eficaces para estas tareas. Destaca por su compatibilidad multiplataforma y su amplia compatibilidad con los estándares web modernos. Además, las opciones de precios y licencias de IronPDF son más sencillas y se adaptan bien a equipos de distintos tamaños y a las necesidades de los proyectos, lo que lo convierte en una opción rentable para muchos desarrolladores.
Por su parte, DinkToPdf es un conversor ligero de código abierto que utiliza el motor wkhtmltopdf, empleado principalmente para convertir HTML a formato PDF. No tiene todas las funciones de IronPDF, pero ofrece una forma eficaz de convertir archivos HTML sencillos en formato PDF, al tiempo que permite a los usuarios configurar fácilmente parámetros básicos como el tamaño y la orientación de las páginas.
En conclusión, cuando la biblioteca adecuada para sus necesidades del proyecto, uno debe considerar lo que necesitan de ellos: Si su proyecto requiere una amplia funcionalidad en torno al trabajo con pdfs o valora fuertes medidas de seguridad, entonces opte por IronPDF; por otro lado, si lo que más te importa es la sencillez o sólo necesitas una herramienta para la conversión básica de HTML a PDF, entonces DinkToPdf puede ajustarse a tus necesidades.
9 productos API .NET para sus documentos de oficina