
Cómo Hacer un PDF Rellenable
Convertir HTML a PDF es una tarea crucial en muchos flujos de trabajo de desarrollo de software modernos, ya sea para generar informes, facturas o crear documentación. Como desarrollador de C#, tienes varias bibliotecas a tu disposición para optimizar este proceso.
En este artículo, compararemos dos de las bibliotecas más populares dentro del ecosistema .NET: IronPDF y iTextSharp. Ambas bibliotecas ofrecen funcionalidades robustas, pero difieren en áreas clave como facilidad de uso, herramientas de creación de PDF, soporte de estilo CSS y licenciamiento. Ya seas un principiante o un desarrollador experimentado, esta guía te ayudará a comprender sus características principales y decidir cuál es la mejor opción para ti según tus necesidades y requisitos del proyecto.
¿Quieres seguir el proceso? Descarga la versión de prueba gratuita de IronPDF para explorar las potentes características de IronPDF por ti mismo.
Comparación de las mejores bibliotecas: iTextSharp y IronPDF
Tanto iTextSharp como IronPDF proporcionan a los desarrolladores las herramientas necesarias para la conversión de HTML a PDF en C#. Sin embargo, cada uno tiene sus propias fortalezas y debilidades.
-
iTextSharp es una biblioteca de código abierto que ha existido durante mucho tiempo. Ofrece flexibilidad y opciones de personalización extensas, pero puede ser algo complejo de configurar y usar, especialmente cuando se trata de renderización avanzada de HTML y CSS. Sin embargo, cabe destacar que iTextSharp es un producto heredado y ahora solo recibe actualizaciones relacionadas con la seguridad.
-
IronPDF, por otro lado, es un producto comercial desarrollado por Iron Software. Es conocido por su interfaz fácil de usar, soporte robusto de CSS y facilidad de uso. Se integra perfectamente con las aplicaciones C#, lo que lo convierte en una excelente opción para los desarrolladores que necesitan una generación de PDF rápida y eficiente sin sacrificar calidad.
Antes de profundizar en cómo convertir formato HTML a PDF con estas dos bibliotecas, primero veamos un ejemplo básico de comparación que muestra la diferencia en cómo estas dos bibliotecas manejan la conversión de contenido web/HTML pesado en CSS y JavaScript a un documento PDF.
iTextSharp frente a IronPDF URL a PDF
Como se puede ver en los documentos PDF resultantes, esto demuestra cómo iTextSharp solo puede procesar el contenido HTML sin formato de la URL proporcionada, mientras que IronPDF es capaz de mantener el diseño y estilo CSS original, asegurando que el documento PDF generado se asemeje de cerca a la página web original.
Guía de instalación paso a paso
Configuración de iTextSharp
- Instalar a través de la Consola de NuGet: Para comenzar a usar iTextSharp, puedes instalarlo directamente desde NuGet. Abre tu proyecto de Visual Studio, ve al Administrador de paquetes NuGet y ejecuta el siguiente comando:

- Instalar mediante el Administrador de Paquetes de NuGet: Alternativamente, puedes instalarlo a través del administrador de paquetes NuGet en la pantalla de Solución. Para hacer esto, navega a "Herramientas > Gestor de Paquetes NuGet > Administrar Paquetes NuGet para la Solución".

Luego, busca la biblioteca iTextSharp y haz clic en 'Instalar'.

- Agregar Referencias: Una vez instalado, agrega las referencias necesarias en tu proyecto, particularmente aquellas relacionadas con la conversión de HTML a PDF.
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;Imports iTextSharp.text.pdf
Imports iTextSharp.text.html.simpleparserConfiguración de IronPDF
- Instalar a través de la Consola de NuGet: Para comenzar a usar IronPDF, puedes instalarlo directamente desde NuGet. Abre tu proyecto de Visual Studio, ve al Administrador de paquetes NuGet y ejecuta el siguiente comando:
-
Instalar mediante el Administrador de Paquetes de NuGet: Alternativamente, puedes instalarlo a través del administrador de paquetes NuGet en la pantalla de Solución, al igual que lo hicimos en los pasos anteriores para iTextSharp. Sin embargo, esta vez, busca IronPDF antes de hacer clic en 'Instalar'.

-
Agregar Referencias: Una vez instalado, importa IronPDF en tu proyecto:
using IronPdf;Imports IronPdfEs importante recordar que IronPDF requiere una clave de licencia para uso comercial/uso fuera de desarrollo.
Implementación de la conversión de HTML a PDF
Uso de iTextSharp
Una vez configurado iTextSharp, asegúrate de tener el paquete itextsharp.xmlworker instalado en tu proyecto antes de empezar a crear PDFs a partir de contenido HTML. Sin embargo, te enfrentarás a desafíos con HTML más complejo, especialmente cuando se involucran estilos CSS. iTextSharp tiende a requerir un esfuerzo adicional para lograr un estilo perfecto en comparación con IronPDF. Es importante recordar que iTextSharp maneja solo HTML/CSS2 básico (sin flexbox, sin grid, CSS limitado).
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
// Register provider for specific code pages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
// Define HTML content with CSS styling
string html = @"
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>";
// Create PDF from HTML content
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
using (StringReader sr = new StringReader(html))
{
// Use XMLWorkerHelper to parse and add HTML content to the PDF document
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
}
pdfDoc.Close();
writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml
' Register provider for specific code pages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
' Define HTML content with CSS styling
Dim html As String = "
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>"
' Create PDF from HTML content
Using stream As New FileStream("report.pdf", FileMode.Create)
Dim pdfDoc As New Document(PageSize.A4, 25, 25, 30, 30)
Dim writer As PdfWriter = PdfWriter.GetInstance(pdfDoc, stream)
pdfDoc.Open()
Using sr As New StringReader(html)
' Use XMLWorkerHelper to parse and add HTML content to the PDF document
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr)
End Using
pdfDoc.Close()
writer.Close()
End Using
Console.WriteLine("PDF generation completed successfully.")Archivo PDF de salida

Uso de IronPDF
IronPDF simplifica el proceso de generación de PDF, capaz de convertir fácilmente contenido HTML en nuevos documentos PDF con solo unas pocas líneas de código, como se demuestra en el ejemplo de código a continuación. Es capaz de trabajar con documentos HTML avanzados con archivos CSS utilizados para el estilo, cadenas HTML y contenido web pesado en CSS/JavaScript.
Aquí hay un ejemplo simple que incluye CSS inline:
using IronPdf;
class Program
{
static void Main()
{
// Define HTML content with inline CSS styling
var content = @"
<html>
<head>
<style>
body {
font-family: 'Segoe UI', sans-serif;
margin: 40px;
background-color: #f8f9fa;
}
h1 {
color: #2c3e50;
border-bottom: 2px solid #2980b9;
padding-bottom: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
table, th, td {
border: 1px solid #ccc;
}
th {
background-color: #2980b9;
color: white;
padding: 10px;
}
td {
padding: 10px;
background-color: #ecf0f1;
}
.footer {
margin-top: 40px;
text-align: center;
font-size: 0.9em;
color: #7f8c8d;
}
img {
width: 120px;
float: right;
}
</style>
</head>
<body>
<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
<h1>Monthly Report - April 2025</h1>
<p>This report outlines performance statistics and key updates for the development team.</p>
<table>
<tr>
<th>Metric</th>
<th>Value</th>
<th>Change</th>
</tr>
<tr>
<td>Feature Releases</td>
<td>12</td>
<td style='color: green;'>+20%</td>
</tr>
<tr>
<td>Bugs Resolved</td>
<td>89</td>
<td style='color: green;'>+45%</td>
</tr>
<tr>
<td>Downtime</td>
<td>2 hrs</td>
<td style='color: red;'>+15%</td>
</tr>
</table>
<div class='footer'>
Generated with IronPDF | © 2025 DevCorp
</div>
</body>
</html>";
// Use ChromePdfRenderer to render the HTML content as a PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(content);
pdf.SaveAs("AdvancedStyledReport.pdf");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main()
' Define HTML content with inline CSS styling
Dim content = "
<html>
<head>
<style>
body {
font-family: 'Segoe UI', sans-serif;
margin: 40px;
background-color: #f8f9fa;
}
h1 {
color: #2c3e50;
border-bottom: 2px solid #2980b9;
padding-bottom: 10px;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
table, th, td {
border: 1px solid #ccc;
}
th {
background-color: #2980b9;
color: white;
padding: 10px;
}
td {
padding: 10px;
background-color: #ecf0f1;
}
.footer {
margin-top: 40px;
text-align: center;
font-size: 0.9em;
color: #7f8c8d;
}
img {
width: 120px;
float: right;
}
</style>
</head>
<body>
<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg' alt='Company Logo' />
<h1>Monthly Report - April 2025</h1>
<p>This report outlines performance statistics and key updates for the development team.</p>
<table>
<tr>
<th>Metric</th>
<th>Value</th>
<th>Change</th>
</tr>
<tr>
<td>Feature Releases</td>
<td>12</td>
<td style='color: green;'>+20%</td>
</tr>
<tr>
<td>Bugs Resolved</td>
<td>89</td>
<td style='color: green;'>+45%</td>
</tr>
<tr>
<td>Downtime</td>
<td>2 hrs</td>
<td style='color: red;'>+15%</td>
</tr>
</table>
<div class='footer'>
Generated with IronPDF | © 2025 DevCorp
</div>
</body>
</html>"
' Use ChromePdfRenderer to render the HTML content as a PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(content)
pdf.SaveAs("AdvancedStyledReport.pdf")
End Sub
End ClassArchivo PDF de salida
IronPDF Salida HTML a PDF
Con IronPDF, puedes esperar un archivo PDF pulido con un estilo CSS preciso, como se muestra en el ejemplo de código anterior, lo que lo convierte en una opción popular para muchos desarrolladores que trabajan con archivos HTML complejos, cadenas y más. Más allá de las tareas simples de conversión de documentos HTML a PDF, IronPDF es capaz de realizar tareas avanzadas de manipulación de PDF y seguridad en PDF. Esto lo convierte en una excelente biblioteca de PDF todo en uno.
Diferencias clave y panorama de la competencia
Al evaluar iTextSharp e IronPDF, es importante considerar no solo sus características, sino también el panorama competitivo. Otros competidores como Apryse y Aspose.PDF ofrecen soluciones similares de HTML a PDF, pero con sus propios compromisos en términos de precios y funcionalidad.
| Característica | IronPDF | iTextSharp | Apryse | Aspose.PDF |
|---|---|---|---|---|
| Facilidad de uso | Alta | Medio | Alta | Medio |
| Soporte CSS | Full | Parcial | Full | Lleno |
| Licenciamiento | Commercial | Código Abierto | Commercial | Comercial |
| Soporte | Excelente | Comunidad | Premium | De primera calidad |
| Precios | De $999 | Licencia gratuita/comercial | Bajo cotización | Desde $1,679 por año |
IronPDF destaca por su soporte integral para HTML5 moderno y CSS3, lo cual es crítico para la mayoría de los desarrolladores hoy en día. Su soporte ampliado para manipular documentos PDF, control sobre la creación de documentos PDF, facilidad con el proceso de conversión y más, hacen de IronPDF una biblioteca de PDF popular.
Conclusión y recomendaciones
En conclusión, tanto IronPDF como iTextSharp ofrecen fuertes capacidades para la conversión de HTML a PDF en C#, pero están dirigidos a diferentes tipos de desarrolladores. Si buscas una solución de código abierto con un fuerte soporte comunitario, iTextSharp puede ser la elección correcta. Sin embargo, para los desarrolladores que necesitan facilidad de uso, soporte robusto de CSS y una solución comercial, IronPDF ofrece una experiencia mucho más simplificada y rica en funciones. Ya sea que estés buscando una herramienta que pueda automatizar la generación de facturas, crear documentos PDF con marca o convertir páginas web enteras en archivos PDF, IronPDF te cubre.
Prueba las funciones fáciles de usar de IronPDF hoy – descarga la versión de prueba gratuita para una experiencia de primera mano y descubre qué tan fácil puede ser la conversión de HTML a PDF.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.
Artículos Relacionados


