Una Comparación entre IronPDF y HiQPdf C#
Descripción general de IronPDF y HiQPdf
Para los desarrolladores que trabajan con .NET, encontrar la solución de PDF adecuada es esencial para construir aplicaciones ricas en características, y en la era moderna de hoy, puede ser difícil encontrar la herramienta adecuada para tus necesidades con el creciente número de productos que ofrecen tecnología de conversión de PDF. En esta comparación, evaluaremos IronPDF y HiQPdf, dos bibliotecas populares de HTML a PDF utilizadas en proyectos .NET. Aunque ambas bibliotecas ofrecen capacidades sólidas de generación de PDF, IronPDF se destaca por sus características más completas, compatibilidad multiplataforma y API intuitiva.
Ya sea que estés buscando opciones avanzadas de edición, soporte multiplataforma o facilidad de uso, esta comparación lado a lado de IronPDF y HiQPdf te ayudará a tomar una decisión informada.
Características principales
IronPDF es una biblioteca de PDF versátil para C# y .NET que permite la generación, edición y manipulación de PDF sin problemas. Compatibilidad con .NET 8, 7, 6 y Core, está equipada con un conjunto de herramientas rico para los desarrolladores, para manejar desde la conversión de HTML a PDF hasta opciones de seguridad avanzadas como el cifrado y las firmas digitales. Con IronPDF, puedes agregar encabezados de texto o HTML a cada página PDF, usar fuentes web para una mejor personalización de texto, extraer texto, crear documentos PDF elegantes ¡y más!
HiQPdf, por otro lado, se centra principalmente en la conversión de HTML a PDF, ofreciendo soporte sólido para elementos CSS3, JavaScript, SVG y Canvas. Si bien proporciona generación de PDF confiable, HiQPdf carece de algunas de las características avanzadas y la flexibilidad que ofrece IronPDF, especialmente en lo que respecta a la compatibilidad multiplataforma y la edición detallada de documentos.
Comparación de características clave: Funcionalidad de PDF en IronPDF frente a HiQPdf
Características de IronPDF
- Conversión de PDF: IronPDF puede convertir HTML a PDF, con su soporte completo para estándares web modernos, puedes estar seguro de que IronPDF devolverá constantemente PDFs perfectos desde tu página HTML o contenido. IronPDF también puede convertir archivos PDF desde otros formatos como DOCX, imágenes, RTF, y más.
- Generación de PDF: con IronPDF, puede generar archivos PDF a partir de URL, archivos ASPX o cadenas HTML.
- Características de seguridad: Con IronPDF, siempre puedes estar seguro de que cualquier archivo PDF sensible está seguro gracias a sus características de seguridad. Usa IronPDF para encriptar tus archivos PDF, establecer contraseñas, y establecer permisos para tus archivos PDF.
- Características de edición de PDF: Con IronPDF puedes procesar documentos PDF existentes, editarlos y leer archivos PDF con facilidad. IronPDF ofrece características de edición como agregar encabezados y pies de página, estampar texto e imágenes en las páginas del PDF, agregar marcas de agua personalizadas al PDF, trabajar con formularios PDF, y dividir o fusionar archivos PDF.
- Integración: Se integra perfectamente con aplicaciones ASP.NET y MVC.
- Soporte para versiones de PDF: Puede soportar versiones de PDF de 1.2 a 1.7.
Para una lista completa de las características de IronPDF, visita Características de IronPDF.
Características de HiQPdf:
- Conversión de HTML a PDF: admite HTML5, CSS3, JavaScript, SVG y elementos de lienzo. HiQPdf es capaz de manejar diseños de página complejos con una exactitud precisa.
- Ejecución de JavaScript en archivos PDF: ejecuta JavaScript dentro del PDF después de la conversión, lo que habilita funciones interactivas.
- Anotaciones y marcadores: agrega anotaciones PDF estándar, como comentarios y resaltados.
- Compatibilidad con tamaños de papel personalizados: proporciona opciones para definir tamaños de papel personalizados durante la creación de PDF.
- Protección con contraseña básica: protege los archivos PDF con opciones de contraseña básicas para restringir el acceso y la modificación.
- Atributos CSS de Corte de Página: Controla los cortes de página en tus documentos PDF generados utilizando la propiedad CSS
'page-break-before:always'. - Fusionar y dividir archivos PDF: combina varios archivos PDF en un solo documento o divide archivos PDF grandes en archivos más pequeños para una mejor administración.
IronPDF tiene un conjunto de características más amplio, ofreciendo más edición avanzada de PDF, seguridad y compatibilidad multiplataforma, dándole una ventaja sobre HiQPdf.
Compatibilidad multiplataforma
Una de las diferencias clave entre IronPDF y HiQPdf es la compatibilidad multiplataforma. IronPDF ofrece soporte continuo para Windows, Linux y macOS, lo que lo convierte en una excelente opción para desarrolladores que trabajen en entornos diversos. También es compatible con Docker, Azure, AWS y principales versiones de .NET, incluyendo .NET 8, 7, 6 y .NET Core.
HiQPdf, aunque funcional, es más limitado en su soporte de plataforma, centrándose principalmente en entornos Windows.
Comparación de las características más destacadas con ejemplos de código entre IronPDF y HiQPdf
Conversión de HTML a PDF
IronPDF:
using IronPdf;
// Create a new PDF renderer
var renderer = new ChromePdfRenderer();
// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");using IronPdf;
// Create a new PDF renderer
var renderer = new ChromePdfRenderer();
// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");HiQPdf:
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");Para la conversión de HTML a PDF, IronPDF proporciona un enfoque sencillo utilizando el ChromePdfRenderer para renderizar contenido HTML en un PDF, ya sea que estés trabajando con documentos HTML, cadenas o URLs. IronPDF también admite escenarios avanzados, como renderizar HTML con recursos locales como imágenes. HiQPdf, por otro lado, utiliza la clase HtmlToPdf, donde el contenido HTML se convierte directamente en un archivo PDF con una configuración más básica. Ambas bibliotecas manejan la conversión de HTML a PDF de manera efectiva, pero IronPDF ofrece flexibilidad adicional con el manejo de activos.
Encriptar documentos PDF
Ejemplo de IronPDF:
using IronPdf;
// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Update security settings
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;
// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");using IronPdf;
// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Update security settings
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;
// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");HiQPdf:
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();
// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;
// Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;
// Set default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
(htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();
// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;
// Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;
// Set default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
(htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}En cuanto al cifrado de documentos PDF, IronPDF proporciona un enfoque sencillo con su API. Los desarrolladores pueden eliminar contraseñas existentes, establecer nuevas configuraciones de seguridad, restringir acciones de usuario como anotaciones, copiar y pegar, y entrada de datos de formularios, y hacer el documento de solo lectura. IronPDF permite la modificación de metadatos, protección con contraseña, así como un control fino sobre los permisos de impresión.
HiQPdf también ofrece cifrado de PDF pero con un proceso ligeramente diferente, centrándose en configurar el modo de cifrado, nivel, contraseña de apertura y contraseña de permisos. Permite un control granular de los permisos del documento como impresión, copiado de contenido y edición, con permisos predeterminados disponibles cuando no se establecen explícitamente. Ambas bibliotecas proporcionan configuraciones de seguridad completas, pero IronPDF ofrece características adicionales como personalización de metadatos y un manejo más fácil del modo de documento de solo lectura.
Redactar el contenido de un documento PDF
Ejemplo de IronPDF:
using IronPdf;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact specific text
pdf.RedactTextOnAllPages("are");
// Save the updated PDF
pdf.SaveAs("redacted.pdf");using IronPdf;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact specific text
pdf.RedactTextOnAllPages("are");
// Save the updated PDF
pdf.SaveAs("redacted.pdf");HiQPdf no ofrece una funcionalidad explícita de tachado en sus características listadas. Se centra principalmente en la generación, conversión y manipulación de PDFs, como crear PDFs desde HTML.
IronPDF proporciona un enfoque sencillo para tachar contenido de tus páginas de documentos PDF. Por ejemplo, los desarrolladores pueden fácilmente tachar texto específico en todo un documento con unas pocas líneas de código, como se ve en el fragmento de código anterior. En contraste, HiQPdf carece de funcionalidad de tachado explícita en su conjunto de características, enfocándose principalmente en la generación, conversión y manipulación de PDF, como crear PDFs desde HTML.
Firma digital de archivos PDF
Ejemplo de IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
// Save the signed PDF
pdf.SaveAs("signed.pdf");using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
// Save the signed PDF
pdf.SaveAs("signed.pdf");HiQPdf:
// Create a PDF document
PdfDocument document = new PdfDocument();
// Add a page to the document
PdfPage page1 = document.AddPage();
// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);
// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);
// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);
// Apply digital signature
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);
try
{
// Write the PDF document to a memory buffer
byte[] pdfBuffer = document.WriteToMemory();
// Inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// Let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
pdfBuffer.Length.ToString()));
// Write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// End the HTTP response
HttpContext.Current.Response.End();
}
finally
{
document.Close();
}// Create a PDF document
PdfDocument document = new PdfDocument();
// Add a page to the document
PdfPage page1 = document.AddPage();
// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);
// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);
// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);
// Apply digital signature
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);
try
{
// Write the PDF document to a memory buffer
byte[] pdfBuffer = document.WriteToMemory();
// Inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// Let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
pdfBuffer.Length.ToString()));
// Write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// End the HTTP response
HttpContext.Current.Response.End();
}
finally
{
document.Close();
}En la firma digital de archivos PDF, IronPDF ofrece un enfoque sencillo al permitir que los desarrolladores creen un documento PDF a partir de contenido HTML, lo firmen con un certificado digital y lo guarden con un código mínimo. HiQPdf, por otro lado, requiere una configuración más compleja, donde un documento PDF es creado programáticamente al agregar una página e incrustar fuentes. Se incluye un título y una imagen, seguidos por la aplicación de una firma digital utilizando un certificado especificado, junto con metadatos detallados como motivo de la firma y ubicación.
Aplicación de marcas de agua personalizadas
Ejemplo de IronPDF:
using IronPdf;
// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");using IronPdf;
// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");HiQPdf:
Ninguna herramienta integrada de marca de agua dedicada.
Al aplicar marcas de agua personalizadas, IronPDF ofrece una solución sencilla con soporte integrado para agregar marcas de agua a PDFs. En el ejemplo, una URL se renderiza como un PDF y una marca de agua personalizable con estilo HTML se aplica en el centro de la página. Esto permite una modificación fácil del contenido de la marca de agua, estilo y colocación. En contraste, HiQPdf carece de una herramienta dedicada de marca de agua integrada, lo que lo hace menos conveniente para los desarrolladores que necesitan esta funcionalidad directamente dentro de la biblioteca.
Etiquetado de imágenes y texto en PDF
Ejemplo de IronPDF (Sello de Texto):
using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply a text stamp
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply a text stamp
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");Ejemplo de IronPDF (Sello de Imagen):
using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");HiQPdf:
HiQPdf no tiene una herramienta de estampado dedicada para agregar texto o imágenes como sellos directamente en documentos PDF. Sin embargo, permite agregar texto, imágenes y objetos gráficos a PDFs, lo cual puede servir para un propósito similar. Esto se puede lograr creando objetos de texto y objetos de imagen dentro del PDF utilizando las características disponibles en la biblioteca.
IronPDF ofrece clases dedicadas para estampar texto e imágenes directamente en cualquier documento PDF existente o nuevos creados, haciendo que el proceso sea sencillo para los desarrolladores. En contraste, HiQPdf carece de una herramienta de estampado dedicada; en su lugar, permite a los usuarios agregar objetos de texto e imagen dentro del PDF, requiriendo un enfoque más manual para obtener resultados similares.
Conversión de DOCX a PDF
Ejemplo de IronPDF:
using IronPdf;
// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");using IronPdf;
// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");HiQPdf:
Como HiQPdf es principalmente una biblioteca convertidora de HTML a PDF, no ofrece herramientas integradas de DOCX a PDF.
IronPDF ofrece soporte directo para conversión de DOCX a PDF a través de su clase DocxToPdfRenderer, mientras que HiQPdf carece de herramientas integradas para convertir archivos DOCX a PDF, centrándose en cambio en la conversión de HTML a PDF.
Resumen de la comparación de ejemplos de código

Para aprender más sobre el conjunto de características ricas que ofrece IronPDF y verlas en acción, consulte las guías de cómo hacer de IronPDF, que profundizan en cada característica, explorando cómo funcionan, y le brindan las habilidades que necesita para ser un profesional del PDF.
Marco CSS moderno y renderizado Bootstrap
A medida que las aplicaciones web modernas adoptan cada vez más marcos CSS como Bootstrap para un desarrollo rápido y un diseño de interfaz de usuario consistente, las bibliotecas de generación de PDF deben preservar con precisión estos diseños de marco para mantener una calidad profesional.
IronPDF: Soporte completo de Bootstrap y Framework
El motor de rendering Chromium de IronPDF proporciona soporte integral para todos los marcos CSS modernos:
- Bootstrap 5: Flexbox completo y CSS Grid con todas las utilidades responsivas
- Bootstrap 4: Sistemas de tarjetas completos, navegación y componentes de formulario
- Tailwind CSS: todas las clases de utilidad y modificadores responsivos
- Fundación: Sistemas completos de red y componentes
- CSS3 moderno: Flexbox, Grid, propiedades personalizadas, animaciones, transformaciones
Validado con ejemplos de producción: Página principal de Bootstrap y Plantillas de Bootstrap se convierten con una precisión de píxel.
Ejemplo de Código: Lista de Publicaciones de Blog con Bootstrap
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapBlog = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Latest Blog Posts</h1>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-primary'>Technology</span>
<small class='text-muted'>March 15, 2025</small>
</div>
<h2 class='card-title h4'>The Future of Web Development</h2>
<p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-success'>Tutorial</span>
<small class='text-muted'>March 10, 2025</small>
</div>
<h2 class='card-title h4'>Mastering Docker Containerization</h2>
<p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<nav aria-label='Blog pagination'>
<ul class='pagination justify-content-center'>
<li class='page-item disabled'>
<a class='page-link'>Previous</a>
</li>
<li class='page-item active'><a class='page-link' href='#'>1</a></li>
<li class='page-item'><a class='page-link' href='#'>2</a></li>
<li class='page-item'><a class='page-link' href='#'>3</a></li>
<li class='page-item'>
<a class='page-link' href='#'>Next</a>
</li>
</ul>
</nav>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapBlog = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Latest Blog Posts</h1>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-primary'>Technology</span>
<small class='text-muted'>March 15, 2025</small>
</div>
<h2 class='card-title h4'>The Future of Web Development</h2>
<p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-success'>Tutorial</span>
<small class='text-muted'>March 10, 2025</small>
</div>
<h2 class='card-title h4'>Mastering Docker Containerization</h2>
<p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<nav aria-label='Blog pagination'>
<ul class='pagination justify-content-center'>
<li class='page-item disabled'>
<a class='page-link'>Previous</a>
</li>
<li class='page-item active'><a class='page-link' href='#'>1</a></li>
<li class='page-item'><a class='page-link' href='#'>2</a></li>
<li class='page-item'><a class='page-link' href='#'>3</a></li>
<li class='page-item'>
<a class='page-link' href='#'>Next</a>
</li>
</ul>
</nav>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");Resultado: una lista de blogs profesional con diseños de tarjetas de Bootstrap, alineación de flexbox, componentes de insignia y paginación, todo representado con precisión en el PDF.
HiQPdf: Compatibilidad limitada con marcos modernos
HiQPdf utiliza renderizado HTML basado en WebKit con limitaciones significativas para marcos CSS modernos:
- Motor WebKit: versión anterior de WebKit con compatibilidad incompleta con CSS3
- Flexbox limitado: es posible que los diseños de flexbox de Bootstrap 4/5 no se representen correctamente
- Sin cuadrícula CSS: los sistemas de cuadrícula modernos no son compatibles
- Límite de Bootstrap 3: solo las versiones anteriores de Bootstrap basadas en tablas funcionan de manera confiable
- Limitaciones de JavaScript: Ejecución de JavaScript reducida en comparación con los navegadores modernos
Problemas reportados por desarrolladores con HiQPdf:
- Los componentes de navegación de Bootstrap se renderizan con problemas de alineación
- Los diseños de tarjeta basados en flexbox no se muestran correctamente
- Utilidades responsivas y puntos de ruptura ignorados en la salida PDF
- Componentes complejos de Bootstrap requieren ajustes significativos de CSS
Impacto en el desarrollo: Las aplicaciones que utilizan Bootstrap 4+ requieren un trabajo adicional sustancial con HiQPdf. Los equipos deben o mantener CSS simplificado paralelo para la generación de PDF (doble carga de mantenimiento), limitar la interfaz de usuario a Bootstrap 3 (sacrificando características modernas) o probar y corregir manualmente componentes (consumidor de tiempo y frágil).
Para orientación completa sobre compatibilidad de Bootstrap, consulte la Guía de CSS de Bootstrap y Flexbox.
Documentación y soporte: IronPDF frente a HiQPdf
Documentación y soporte de IronPDF
IronPDF ofrece una experiencia de documentación amigable para los desarrolladores. Su documentación robusta asegura que los desarrolladores, ya sean principiantes o usuarios avanzados, puedan integrar eficazmente IronPDF en sus proyectos. Algunos de los aspectos clave de la documentación de IronPDF incluyen:
- Guías paso a paso: tutoriales completos para cada función, lo que garantiza que los desarrolladores tengan un camino claro de principio a fin.
- Soporte técnico 24/5: Los ingenieros están disponibles para ayudarle con cualquier pregunta o problema durante el horario laboral, de lunes a viernes.
- Chat en vivo: Soporte en tiempo real para resolver preguntas técnicas o de licencias.
- Soporte por correo electrónico: los usuarios pueden comunicarse para realizar consultas detalladas y la respuesta es rápida y útil.
- Referencia de API: Documentación detallada de API con ejemplos para cada método y propiedad.
- Ejemplos de código: fragmentos de código listos para usar para tareas comunes como HTML a PDF, cifrado, marcas de agua y más.
- Actualizaciones periódicas: Documentación actualizada con frecuencia para reflejar los cambios en la biblioteca y las nuevas funciones.
Para obtener más información, consulta la extensa documentación de IronPDF, y visita el Canal de YouTube de Iron Software.
Documentación y soporte de HiQPdf
HiQPdf proporciona documentación básica que respalda la mayoría de sus características principales. Si bien ofrece funcionalidad para la conversión de HTML a PDF y manipulación básica de PDF, la documentación carece de la profundidad y exhaustividad que proporciona IronPDF. Aspectos clave de la documentación de HiQPdf incluyen:
- Referencia básica de API: enumera métodos para convertir HTML a PDF y operaciones básicas de PDF.
- Ejemplos de código: Códigos de muestra limitados para conversión de HTML a PDF y configuraciones de página.
- Orientación mínima entre plataformas: se centra principalmente en entornos Windows con menos orientación para implementaciones entre plataformas.
- Soporte por correo electrónico: principalmente para licencias y consultas técnicas básicas.
- Soporte en vivo limitado: menos opciones de asistencia en tiempo real.
Para más detalles técnicos sobre HiQPdf, los usuarios necesitan buscar a través de recursos adicionales o foros externos.
Precios y licencias: IronPDF frente a HiQPdf
Precios y licencias de IronPDF
IronPDF tiene diferentes niveles y características adicionales para la compra de una licencia. Los desarrolladores también pueden comprar [Iron Suite](Iron Suite) que les da acceso a todos los productos de Iron Software al precio de dos. Si no estás listo para comprar una licencia, IronPDF ofrece una prueba gratuita para que puedas explorar todas las características antes de comprometerte a una licencia.
Precios (a partir de 2025):
- Licencias Perpetuas: Ofrece una gama de licencias perpetuas dependiendo del tamaño de tu equipo, necesidades del proyecto y el número de ubicaciones; cada tipo de licencia viene con soporte por correo electrónico.
- Licencia Lite: Esta licencia cuesta $799 y admite un desarrollador, una ubicación y un proyecto.
- Licencia Plus: Soportando tres desarrolladores, tres ubicaciones y tres proyectos, este es el siguiente paso desde la licencia lite y cuesta $1,199. La licencia Plus ofrece soporte por chat y soporte telefónico además del soporte básico por correo electrónico.
- Licencia Profesional: Esta licencia es adecuada para equipos más grandes, soportando diez desarrolladores, diez ubicaciones y diez proyectos por $2,399. Ofrece los mismos canales de soporte de contacto que los niveles anteriores pero también ofrece soporte de compartir pantalla.
- Redistribución libre de regalías: La licencia de IronPDF también ofrece cobertura de redistribución libre de regalías por un extra de $2,399
- Soporte ininterrumpido del producto: IronPDF ofrece acceso a actualizaciones continuas del producto, mejoras de características de seguridad y soporte de su equipo de ingeniería por $999/año o una compra única de $1,999 para una cobertura de 5 años.
- Iron Suite: por $1,498 , obtiene acceso a todos los productos de Iron Software, incluidos IronPDF , IronOCR , IronWord , IronXL , IronBarcode , IronQR , IronZIP , IronPrint y IronWebScraper .

Precios y licencias de HiQPdf
HiQPdf también ofrece una variedad de opciones de licencia, pero su precio tiende a ser un poco más rígido:
- Licencia Startup: $245 para un solo desarrollador con una sola aplicación
- Licencia de desarrollador: $495 para un desarrollador con cualquier cantidad de aplicaciones.
- Licencia de Equipo: $795 para hasta cinco desarrolladores trabajando en cualquier número de aplicaciones.
- Licencia empresarial: $1,095 para una cantidad ilimitada de desarrolladores con cualquier cantidad de aplicaciones.
Aunque HiQPdf tiene precios competitivos, no ofrece el mismo valor que el paquete de IronPDF a través de Iron Suite, ni la amplitud de características avanzadas incluidas en el precio.
Conclusión
Tanto IronPDF como HiQPdf son opciones sólidas para desarrolladores de .NET que buscan integrar funcionalidad de PDF en sus aplicaciones. Sin embargo, IronPDF brilla con su extenso conjunto de características, facilidad de uso y documentación robusta. Con su compatibilidad multiplataforma, ricos ejemplos de código y excelente soporte, IronPDF es una solución excelente para los desarrolladores que necesitan funcionalidad PDF integral en diferentes entornos.
Si estás buscando una solución completa que ofrezca un excelente rendimiento, flexibilidad y soporte, IronPDF es una opción altamente recomendada. Además, la capacidad de IronPDF para manejar características avanzadas como cifrado, tachado y firmas digitales con facilidad, lo distingue de HiQPdf.
Preguntas Frecuentes
¿Cómo puedo convertir HTML a PDF en C#?
Puedes usar el método RenderHtmlAsPdf de IronPDF para convertir cadenas de HTML en PDFs. También puedes convertir archivos HTML a PDFs usando RenderHtmlFileAsPdf.
¿Qué plataformas son compatibles con IronPDF?
IronPDF es compatible con Windows, Linux, macOS, Docker, Azure, AWS y las principales versiones de .NET, incluyendo .NET 8, 7, 6 y .NET Core.
¿Puedo aplicar firmas digitales a PDFs en C#?
Sí, IronPDF le permite aplicar firmas digitales a sus documentos PDF utilizando su API. Puede especificar certificados y metadatos como la razón de la firma y la ubicación.
¿Cómo puedo añadir una marca de agua a un documento PDF?
IronPDF incluye soporte incorporado para añadir marcas de agua personalizadas a PDFs. Puede integrar fácilmente marcas de agua en sus documentos PDF utilizando la API de IronPDF.
¿Qué características de seguridad ofrece IronPDF?
IronPDF ofrece características de seguridad avanzadas, incluyendo cifrado, protección con contraseña, configuración de permisos y la capacidad de hacer documentos de solo lectura.
¿IronPDF admite la conversión de DOCX a PDF?
Sí, IronPDF admite la conversión de DOCX a PDF. Puede utilizar la clase DocxToPdfRenderer para convertir documentos DOCX en PDFs sin problemas.
¿Cómo maneja IronPDF la conversión de HTML a PDF?
IronPDF utiliza el ChromePdfRenderer para renderizar contenido HTML en PDFs, admitiendo documentos HTML, cadenas, URLs y escenarios con activos locales como imágenes.
¿Qué soporte y documentación ofrece IronPDF?
IronPDF ofrece documentación completa con guías paso a paso, extensas referencias de API y ejemplos de código. También proporciona soporte técnico 24/5 a través de chat en vivo y correo electrónico.
¿Se puede usar IronPDF para redactar contenido en documentos PDF?
Sí, IronPDF proporciona un enfoque sencillo para redactar texto específico en todo un documento PDF, permitiendo a los desarrolladores gestionar información sensible de manera eficiente.
¿Qué tipos de licencias están disponibles para IronPDF?
IronPDF ofrece varias licencias, incluidas Lite, Plus, Professional y un Iron Suite que proporciona acceso a todos los productos de Iron Software. También ofrece opciones de redistribución libre de regalías.






