Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Convertir un archivo HTML a PDF con CSS en C# es un requisito habitual en el desarrollo de aplicaciones web y de escritorio modernas. Permite a los desarrolladores transformar páginas web, informes o documentos con formato en archivos PDF, lo que resulta crucial para tareas como generar facturas, crear informes imprimibles o archivar el contenido de su página web. En esta completa guía, exploraremos dos populares bibliotecas de C# para la conversión de HTML a PDF.
iTextSharp es una conocida biblioteca de código abierto utilizada habitualmente para crear y manipular documentos PDF en C#. Ahora, se conoce comúnmente como iText7. Aunque su objetivo principal no es la conversión de HTML a PDF, su sólido conjunto de funciones lo convierte en una opción flexible para este fin. Ofrece pdfHTML, que es un complemento y permite a los desarrolladores generar, convertir y personalizar documentos PDF mediante programación utilizando fragmentos de cadenas HTML y hojas de estilo CSS.
Aunque iText7 ofrece un control preciso sobre el proceso de generación de PDF, puede requerir un esfuerzo adicional cuando se trata de imágenes con diseños HTML complejos y fuentes con estilos CSS intrincados.
Explore las capacidades de IronPDF como una biblioteca dedicada de C# diseñada específicamente para la generación de PDF y para la conversión de páginas HTML a formato PDF. Se centra en simplificar el proceso de conversión de contenido HTML con CSS en archivos PDF, lo que lo convierte en una excelente opción para tareas sencillas y de conversión de HTML a PDF.
El enfoque de IronPDF es ideal para situaciones en las que se requiere una conversión sin complicaciones y sin encontrarse con las complejidades de la construcción de documentos PDF. Simplifica el proceso para los desarrolladores y permite una rápida implementación de nuevos documentos con saltos de página.
Antes de entrar en los detalles de la comparación, vamos a discutir brevemente cómo configurar estas bibliotecas en su proyecto de C#.
Para instalariTextSharp (iText7) utilizando el Gestor de paquetes NuGet, siga estos pasos:
Crear un nuevo proyecto enVisual Studio o abrir uno ya existente.
Haga clic con el botón derecho en su proyecto en el Explorador de soluciones y seleccione "Administrar paquetes NuGet" o haga clic en el menú Herramientas y seleccione Administrador de paquetes NuGet --> Administrar paquetes NuGet para la solución.
En la ventana "Gestor de paquetes NuGet", cambie a la pestaña "Examinar".
Busque "iText7.pdfhtml" y seleccione "iText7.pdfhtml" en los resultados de la búsqueda.
Haga clic en el botón "Instalar" para añadir el conversor HTML2PDF iText7 a su proyecto.
Se requiere una dependencia importante más para utilizar el conversor HTML y, por ejemplo, "itext7.bouncy-castle-adapter". El módulo itext7.bouncy-castle-adapter es necesario para itext7.pdfhtml porque proporciona algoritmos criptográficos y funciones de seguridad que se utilizan en el proceso de creación y manipulación de documentos PDF.
Busca "itext7.bouncy-castle-adapter" y selecciona "itext7.bouncy-castle-adapter to install".
Instalación deIronPDF es igualmente sencillo:
Cree un nuevo proyecto en Visual Studio o abra uno existente.
Haga clic con el botón derecho en su proyecto en el Explorador de soluciones y seleccione "Administrar paquetes NuGet" o haga clic en el menú Herramientas y seleccione Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución.
En la ventana "Gestor de paquetes NuGet", cambie a la pestaña "Examinar".
Busque "IronPDF" y seleccione "IronPdf" en los resultados de la búsqueda.
iText7.pdfHTML proporciona un enfoque flexible paraConversión de HTML a PDF con iTextSharpque permite a los desarrolladores controlar el proceso de generación de PDF. Aquí está el código fuente para convertir un archivo HTML a PDF:
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
Imports iText.Html2pdf
' Input HTML page content with CSS styling
Private html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>"
' Output PDF file path
Private outputPdfPath As String = "results/output.pdf"
HtmlConverter.ConvertToPdf(html, New FileStream(outputPdfPath, FileMode.Create))
El fragmento de código anterior muestra cómo utilizar HtmlConverter
de iText 7 para convertir texto sin formato o contenido HTML especificado con estilo CSS en un archivo PDF. En la etiqueta de estilo CSS, también puede establecer el tamaño de la fuente junto con más estilos como el color de fondo, la disposición del contenido, etc. Define el contenido HTML de entrada, especifica la ruta del archivo PDF de salida y, a continuación, invoca el proceso de conversión. El PDF resultante se guardará en la ubicación especificada en outputPdfPath
.
Aunque iText7 ofrece un control de estilo muy preciso, puede requerir código adicional para diseños HTML complejos o estilos CSS intrincados. Sin embargo, brilla en escenarios donde se requiere una amplia personalización del estilo PDF más allá de la conversión HTML.
IronPDF simplificaConversión de HTML a PDF con un método sencillo para renderizar etiquetas HTML y CSS directamente en un documento PDF. Este es el ejemplo de código para convertir una cadena HTML en una página PDF:
using IronPdf;
// Basic Example
// 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;
// Basic Example
// 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
' Basic Example
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private 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")
Aquí tienes una explicación más detallada del código anterior:
En el ejemplo básico, IronPDF ofrece un enfoque simplificado para la conversión de documentos HTML a PDF. Los desarrolladores pueden conseguirlo con unas pocas líneas de código, como se demuestra en el código fuente anterior. Los pasos básicos incluyen la creación de un PdfDocument
y la renderización del contenido HTML directamente en él.
En el ejemplo avanzado, el código carga contenido de elementos HTML que incluye una imagen(<img src='icons/iron.png'>
) y especifica una ruta base para cargar activos externos(como imágenes, archivos CSS externos y archivos JavaScript) utilizando el método RenderHtmlAsPdf
. El PDF resultante, que incluye el contenido HTML y sus activos asociados, se guarda como "html-con-activos.pdf".
El enfoque de IronPDF es ideal para situaciones en las que se requiere un proceso de conversión de datos sin complicaciones, sin necesidad de sumergirse en las complejidades de la construcción de documentos PDF ni de otras dependencias. Abstrae gran parte de la complejidad subyacente y ofrece una experiencia fácil de usar.
En esta exhaustiva comparación, hemos explorado dos potentes bibliotecas para la conversión de HTML a PDF en C#:iTextSharp yIronPDF.
iTextSharp, con sus completas funciones de manipulación de PDF, proporciona a los desarrolladores las herramientas necesarias para controlar con precisión el proceso de generación de PDF. Destaca en situaciones en las que se requieren personalizaciones complejas de PDF que van más allá de la simple conversión de HTML a PDF. Por otro lado, IronPDF brilla como una biblioteca dedicada diseñada específicamente para la conversión de HTML a PDF sin esfuerzo. Ofrece un enfoque intuitivo y fácil de usar, ideal para tareas sencillas que exigen un mínimo esfuerzo de codificación.
Para elegir correctamente entre estas dos bibliotecas, tenga en cuenta la complejidad de sus requisitos PDF. Si necesita una amplia personalización y funciones PDF avanzadas, iTextSharp es la solución. Sin embargo, para conversiones rápidas y eficaces de HTML a PDF sin necesidad de intrincadas modificaciones de PDF y otras dependencias de bibliotecas, IronPDF es una opción muy eficaz y fácil de usar. También ofrece opciones avanzadas de manipulación de PDF.
Echa un vistazoPrecios y licencias de IronPDF ya que es gratuito para fines de desarrollo, pero necesita licencia para uso comercial. Descargar IronPDF para una prueba gratuita en el sitio web de IronPDF.
9 productos API .NET para sus documentos de oficina