Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Ya sea que estés construyendo una solución empresarial con muchos documentos, generando facturas en una aplicación SaaS o exportando informes desde un panel de control .NET, siempre surge una pregunta:
"¿Qué biblioteca PDF de C# debería usar?"
En el ecosistema .NET, tres bibliotecas se destacan: PDFsharp, iTextSharp y IronPDF. Cada uno tiene sus fortalezas, peculiaridades y casos de uso óptimos. Pero, ¿cuál es realmente la mejor opción para los desarrolladores modernos que trabajan con archivos PDF dentro de .NET 6+, .NET Core, o incluso el tradicional .NET Framework?
Esta guía exhaustiva profundiza en cada biblioteca, comparando características, instalación, usabilidad y calidad de salida. Recorreremos ejemplos de código funcional, los pros y los contras de cada biblioteca, y ofreceremos recomendaciones prácticas basadas en necesidades de desarrollo del mundo real.
Empecemos.
PDFsharp es una biblioteca de código abierto que permite a los desarrolladores crear y procesar documentos PDF al instante utilizando C#. Admite la creación de PDF desde cero y la capacidad de modificar archivos PDF existentes. Su API limpia y orientada a objetos es ideal para desarrolladores que buscan una solución ligera y fácil de integrar.
A pesar de estar impulsado por la comunidad, cuenta con una base de usuarios leales y sigue siendo la opción preferida para tareas simples de PDF que no requieren renderizado avanzado o contenido dinámico desde HTML.
La instalación es sencilla a través de NuGet:
Install-Package PDFsharp
Install-Package PDFsharp
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package PDFsharp
También es compatible con PdfSharpCore para entornos de .NET Core.
using PdfSharp.Pdf;
using PdfSharp.Drawing;
// Create a new PDF document
var document = new PdfSharp.Pdf.PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
// Create a font
XFont font = new XFont("Verdana", 20, XFontStyleEx.Bold);
// Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("HelloWorld.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
// Create a new PDF document
var document = new PdfSharp.Pdf.PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
// Create a font
XFont font = new XFont("Verdana", 20, XFontStyleEx.Bold);
// Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("HelloWorld.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
' Create a new PDF document
Private document = New PdfSharp.Pdf.PdfDocument()
document.Info.Title = "Created with PDFsharp"
' Create an empty page
Dim page As PdfPage = document.AddPage()
' Get an XGraphics object for drawing
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Create a font
Dim font As New XFont("Verdana", 20, XFontStyleEx.Bold)
' Draw the text
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
document.Save("HelloWorld.pdf")
Salida
📝 Nota: PDFsharp no admite la renderización de HTML ni el análisis de CSS de forma predeterminada, por lo que es mejor utilizarlo para la generación de documentos basada en dibujos. Para la conversión de HTML a PDF, necesitas el HtmlRenderer para PDFsharp.
Pros:
Ligero y fácil de instalar
Contras:
iTextSharp es el puerto .NET de iText, una robusta biblioteca PDF basada en Java. Ofrece funcionalidades avanzadas, incluyendo firmas digitales, campos de formulario, códigos de barras y más. iTextSharp es altamente personalizable y es más adecuado para empresas con necesidades de documentación legal o regulatoria.
Sin embargo, viene con una condición: las licencias. iTextSharp tiene una licencia AGPL, lo que significa que debes hacer de código abierto tu proyecto a menos que compres una licencia comercial.
Install-Package itext
Install-Package itext
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package itext
Las versiones más recientes utilizan el espacio de nombres iText Core. Asegúrate de revisar los términos de licencia antes de la integración.
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
PdfWriter writer = new PdfWriter("iTextHello.pdf");
var pdf = new iText.Kernel.Pdf.PdfDocument(writer);
Document document = new Document(pdf);
document.Add(new Paragraph("Hello, iTextSharp!"));
document.Close();
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
PdfWriter writer = new PdfWriter("iTextHello.pdf");
var pdf = new iText.Kernel.Pdf.PdfDocument(writer);
Document document = new Document(pdf);
document.Add(new Paragraph("Hello, iTextSharp!"));
document.Close();
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Private writer As New PdfWriter("iTextHello.pdf")
Private pdf = New iText.Kernel.Pdf.PdfDocument(writer)
Private document As New Document(pdf)
document.Add(New Paragraph("Hello, iTextSharp!"))
document.Close()
Salida
📌 *Consejo: La versión iText 9 de iTextSharp es modular. Para la conversión de HTML o la generación de códigos de barras, instala paquetes NuGet adicionales, como el complemento de pago pdfHTML.
Fortalezas:
Arquitectura modular con complementos
Debilidades:
IronPDF es una biblioteca .NET de grado comercial que destaca por su simplicidad, precisión de renderizado y riqueza de funciones. Es especialmente potente si deseas convertir HTML a PDF con soporte completo para CSS, JavaScript y fuentes web, lo que lo hace ideal para la generación de documentos PDF modernos y responsivos. Ya sea que estés buscando crear documentos PDF desde cero, generar documentos PDF desde HTML, o simplemente necesites una herramienta que sea excelente para manipular archivos PDF, IronPDF te tiene cubierto.
Con soporte para .NET Core, .NET Framework, Azure y Docker, IronPDF es adecuado tanto para startups como para aplicaciones de nivel empresarial. Con potentes funciones, buena documentación y la capacidad de funcionar en varias plataformas, IronPDF es una elección sólida para generar PDFs.
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
O utiliza la interfaz de usuario de NuGet de Visual Studio. IronPDF ofrece una prueba gratuita y licenciamiento flexible para uso comercial sin restricciones AGPL.
using IronPdf;
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>");
pdf.SaveAs("IronPdfHello.pdf");
using IronPdf;
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>");
pdf.SaveAs("IronPdfHello.pdf");
Imports IronPdf
Private Renderer = New ChromePdfRenderer()
Private pdf = Renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>This was rendered using Chrome.</p>")
pdf.SaveAs("IronPdfHello.pdf")
Salida
🔍 Este sencillo ejemplo utiliza todo el poder de un motor Chromium sin cabeza para renderizar HTML/CSS exactamente como lo haría un navegador, algo con lo que PDFsharp e iTextSharp tienen dificultades.
IronPDF es ampliamente reconocido por su:
Soporte: Documentación activa, ejemplos y soporte al cliente
Los benchmarks demuestran que IronPDF puede generar una factura HTML compleja con imágenes, CSS y JavaScript en menos de 2 segundos en una máquina estándar, superando con creces a los complementos HTML de iTextSharp o a los métodos de dibujo manual de PDFsharp.
IronPDF ofrece una experiencia de desarrollo moderna, completa con características clave como:
No se limita solo al lenguaje de programación C#, IronPDF también ofrece versiones para Java, Node.js y Python
Ya sea que estés construyendo un generador de facturas, un motor de informes o un sistema de documentación basado en navegador, IronPDF lo hace simple y profesional.
El mundo de las bibliotecas de PDF para C# es diverso, y cada herramienta que hemos explorado—PDFsharp, iTextSharp y IronPDF—aporta sus propias fortalezas, debilidades y casos de uso ideales. Entonces, ¿cuál deberías elegir para tus aplicaciones .NET?
Si estás desarrollando una aplicación a pequeña escala, tienes necesidades básicas de renderizado de documentos y prefieres tener control total sobre las operaciones de dibujo de PDF, PDFsharp es un punto de partida confiable. Su naturaleza de código abierto y su bajo costo lo hacen ideal para proyectos donde la licencia y la simplicidad son clave. Sin embargo, la compensación es el esfuerzo manual: sin soporte HTML, sin renderizado web moderno y desarrollo activo limitado.
Utilice PDFsharp si:
iTextSharp se encuentra en el extremo empresarial del espectro. Es potente, seguro y adecuado para la manipulación compleja de PDF, como:
Cumplimiento con formatos como PDF/A y PDF/UA
Sin embargo, su licencia AGPL puede ser restrictiva a menos que estés preparado para hacer que tu código sea de código abierto o pagar por una licencia comercial, que no es barata. Además, la curva de aprendizaje es más pronunciada y el renderizado de HTML es un complemento en lugar de una característica central.
Use iTextSharp si:
En contraste, IronPDF está diseñado para resolver problemas del mundo real con elegancia y rapidez. Combina la familiaridad de las tecnologías web (HTML, CSS, JavaScript) con el poder de procesamiento de Chromium, permitiendo a los desarrolladores convertir diseños complejos en hermosos PDFs sin esfuerzo.
Maneja:
Despliegue fácil en Azure, Docker y tuberías CI/CD
Lo más importante, IronPDF se centra en la experiencia del desarrollador: sintaxis limpia, renderizado rápido, documentación detallada y soporte receptivo.
Elija IronPDF si:
Si bien PDFsharp es una gran opción para un uso básico, e iTextSharp sirve a industrias con altos requerimientos de cumplimiento, IronPDF se destaca como la solución integral para PDF para desarrolladores modernos de C#. Encuentra el equilibrio perfecto entre potencia, simplicidad y usabilidad en el mundo real.
Ya sea que estés generando informes dinámicos, creando facturas para clientes a partir de plantillas web o exportando documentación enriquecida, IronPDF te permite centrarte en tu aplicación, no en las complejidades del renderizado de PDF.
No te fíes solo de nuestra palabra—explora IronPDF por ti mismo:
🧰 Ver Muestras y Fragmentos de Código en GitHub
Con IronPDF, no solo estás generando PDFs, estás creando documentos pulidos, profesionales y listos para producción que se ven exactamente como los diseñaste. Reduzca el tiempo de desarrollo, elimine los dolores de cabeza de renderizado y envíe más rápido.