IRONSOFTWAREHOME
USANDO IRONPDF

Cómo Analizar Datos de Documentos PDF

Curtis Chau
Curtis Chau
Updated: 18 de enero de 2026

La conversión de HTML a PDF es un requisito común en muchas aplicaciones de software, como la generación de informes, facturas o guardar páginas web como PDFs. En este artículo, exploraremos tres bibliotecas populares de código abierto para la conversión de HTML a PDF en C#, revisaremos sus fortalezas y limitaciones, y discutiremos por qué IronPDF es una mejor alternativa en numerosas ocasiones.

Conversor HTML a PDF C# código abierto

1. PuppeteerSharp

Conversor de HTML a PDF de código abierto C# (comparación de bibliotecas .NET ): Figura 1

PuppeteerSharp es un contenedor .NET para Puppeteer, un navegador Chromium sin cabeza. Permite a los desarrolladores convertir documentos HTML a PDFs aprovechando el motor de renderizado de Chromium.

PuppeteerSharp proporciona control preciso sobre el proceso de renderizado. Aquí hay un ejemplo:

using PuppeteerSharp;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download Chromium to ensure compatibility with PuppeteerSharp
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);

        // Launch a headless instance of Chromium browser
        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
        {
            // Open a new browser page
            var page = await browser.NewPageAsync();

            // Set the HTML content for the page
            await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");

            // Generate a PDF from the rendered HTML content
            await page.PdfAsync("output.pdf");
            Console.WriteLine("PDF Generated Successfully!");
        }
    }
}

Explicación del código

  1. Descargar Chromium: PuppeteerSharp descarga automáticamente la versión requerida de Chromium para asegurar la compatibilidad.

  2. Iniciar navegador: inicie una instancia sin cabeza de Chromium usando Puppeteer.LaunchAsync().

  3. Establecer contenido HTML: cargue el HTML deseado en la página del navegador usando page.SetContentAsync().

  4. Generar PDF: utilice el método page.PdfAsync() para generar un PDF del contenido renderizado.

El resultado es un PDF de alta calidad (output.pdf) que replica con precisión la estructura y el diseño HTML.

Ventajas

  • Renderizado de Alta Fidelidad: Soporta tecnologías web modernas, incluyendo CSS y JavaScript avanzados.
  • Capacidades de Automatización: Además de PDFs, PuppeteerSharp puede automatizar la navegación web, pruebas y extracción de datos.
  • Desarrollo Activo: PuppeteerSharp se mantiene activamente y se actualiza regularmente.

Contras

  • Tamaño de Archivo Grande: Requiere descargar y agrupar el navegador Chromium, aumentando el tamaño de implementación.
  • Intensivo en Recursos: Ejecutar una instancia de navegador puede ser pesado en recursos del sistema, especialmente para aplicaciones a gran escala.
  • Características Específicas de PDF Limitadas: PuppeteerSharp se centra en la renderización en lugar de mejorar PDFs (por ejemplo, añadiendo encabezados o pies de página).

2. PdfSharp

Conversor de HTML a PDF de código abierto C# (comparación de bibliotecas .NET ): Figura 2

PDFsharp es una poderosa biblioteca de código abierto para crear y manipular archivos PDF en C#. Aunque no soporta directamente la renderización de HTML, sobresale al proporcionar a los desarrolladores herramientas para generar y editar documentos PDF de manera programática.

Características principales de PdfSharp

  1. Creación de PDF: PdfSharp permite a los desarrolladores generar nuevos archivos PDF desde cero definiendo tamaños de página, añadiendo texto, formas, imágenes y más.

  2. Manipulación de PDFs Existentes: Puede modificar documentos PDF existentes, como fusionar, dividir o extraer contenido.

  3. Capacidades de Dibujo: PdfSharp proporciona robustas capacidades gráficas para añadir diseños personalizados a archivos PDF usando la clase XGraphics.

  4. Ligero: Es una biblioteca ligera, ideal para proyectos donde la simplicidad y la velocidad son prioridades.

using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content
        string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";

        // Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(htmlContent);

        // Create a new PDF document
        PdfDocument pdfDocument = new PdfDocument
        {
            Info = { Title = "HTML to PDF Example" }
        };

        // Add a new page to the document
        PdfPage page = pdfDocument.AddPage();

        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
        XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);

        // Draw the parsed HTML content
        int yPosition = 50; // Starting Y position
        foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
        {
            if (node.Name == "h1")
            {
                gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 30; // Adjust spacing
            }
            else if (node.Name == "p")
            {
                gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 20; // Adjust spacing
            }
        }

        // Save the PDF document
        string outputFilePath = "HtmlToPdf.pdf";
        pdfDocument.Save(outputFilePath);
        System.Console.WriteLine($"PDF file created: {outputFilePath}");
    }
}

Explicación del código

  1. Análisis de HTML: el ejemplo utiliza HtmlAgilityPack (una biblioteca de código abierto para analizar y manipular HTML) para extraer contenido de texto de las etiquetas <h1> y <p>.

  2. Dibujo de Contenido: La clase XGraphics de PdfSharp se utiliza para renderizar el contenido HTML analizado como texto en una página PDF.

  3. Limitaciones: Este enfoque funciona para estructuras HTML simples pero no manejará diseños complejos, estilos o JavaScript.

Ventajas y contras de PdfSharp

Ventajas

  • Ligero y Fácil de Usar: PdfSharp es intuitivo y directo, ideal para desarrolladores que empiezan con la generación de PDF.
  • Código Abierto y Gratis: Sin tarifas de licencia, y el código fuente está disponible para personalización.
  • Dibujo Personalizado: Proporciona excelentes capacidades para crear PDFs desde cero con diseños personalizados.

Contras

  • No Conversión HTML a PDF: PdfSharp no soporta nativamente la renderización de HTML a PDF, requiriendo bibliotecas adicionales para analizar HTML.
  • Soporte Limitado para Funciones Modernas: No proporciona capacidades avanzadas como PDFs interactivos, firmas digitales o anotaciones.
  • Restricciones de Rendimiento: Puede no estar tan optimizado como las bibliotecas profesionales para aplicaciones a gran escala o empresariales.

3. SDK de Pdfium .NET

Conversor de HTML a PDF de código abierto C# (comparación de bibliotecas .NET ): Figura 3

Pdfium.NET es una biblioteca comprensiva basada en el proyecto de código abierto PDFium, diseñada para ver, editar y manipular archivos PDF en aplicaciones .NET. Proporciona a los desarrolladores poderosas herramientas para crear, editar y extraer contenido de PDFs, haciéndola adecuada para una amplia gama de casos de uso. Es básicamente una biblioteca gratuita de conversión de HTML a PDF.

Características principales de Pdfium.NET SDK

  1. Creación y Edición de PDF:

    • Genera PDFs desde cero o desde imágenes escaneadas.
    • Edita PDFs existentes añadiendo texto, imágenes o anotaciones.
  2. Extracción de Texto e Imágenes:

    • Extrae texto e imágenes de documentos en formato de archivo PDF para su posterior procesamiento.
    • Busca texto específico dentro de un documento PDF.
  3. Control de Visor de PDF:

    • Inserta un visor de PDF independiente en aplicaciones WinForms o WPF.
    • Soporta zoom, desplazamiento, marcadores y búsqueda de texto.
  4. Compatibilidad:

    • Funciona con .NET Framework, .NET Core, .NET Standard y .NET 6+.
    • Compatible con plataformas Windows y macOS.
  5. Características Avanzadas:

    • Fusiona y divide archivos PDF.
    • Renderiza PDFs como imágenes para visualización o impresión.
using Pdfium.Net.SDK;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Initialize Pdfium.NET SDK functionalities
        PdfCommon.Initialize();

        // Create a new PDF document
        PdfDocument pdfDocument = PdfDocument.CreateNew();

        // Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
        var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);

        // Sample HTML content to be parsed and rendered manually
        var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";

        // Example: Manually render text since Pdfium.NET doesn't render HTML directly
        var font = PdfFont.CreateFont(pdfDocument, "Arial");
        page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
        page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");

        // Save the document to a file
        string outputFilePath = "HtmlToPdfExample.pdf";
        pdfDocument.Save(outputFilePath, SaveFlags.Default);
        Console.WriteLine($"PDF created successfully: {outputFilePath}");
    }
}

Explicación del código

  1. Inicialización del SDK: el método PdfCommon.Initialize() inicializa las funcionalidades de Pdfium .NET .

  2. Creación de un PDF: se crea un nuevo documento PDF utilizando PdfDocument.CreateNew().

  3. Adición de Páginas: Se insertan páginas en el PDF con dimensiones especificadas (por ejemplo, tamaño A4).

  4. Renderizado de Contenido HTML: Dado que el SDK de Pdfium.NET no soporta nativamente el renderizado HTML, necesita analizar y renderizar manualmente los elementos HTML como texto, formas o imágenes.

  5. Guardar el PDF: el documento se guarda en una ruta de archivo con el método Save().

Ventajas

  • Permite control total sobre la creación y edición de PDF.
  • Flexible para dibujar y añadir texto, imágenes y formas.
  • Capacidades poderosas para ver y manipular PDFs en aplicaciones de escritorio.

Contras

  • No convierte directamente HTML a PDF.
  • Analizar y renderizar HTML manualmente puede ser complejo y llevar mucho tiempo.
  • Mejor adecuado para aplicaciones que se centran en la edición y manipulación de PDF en lugar de la conversión de HTML.

Presentando IronPDF

Conversor de HTML a PDF de código abierto C# (comparación de bibliotecas .NET ): Figura 4

IronPDF es una biblioteca de grado profesional diseñada para desarrolladores .NET para convertir sin esfuerzo contenido HTML en PDFs de alta calidad. Conocido por su confiabilidad, características avanzadas y facilidad de uso, IronPDF agiliza el proceso de desarrollo mientras ofrece una renderización precisa y funcionalidad robusta. Aquí está por qué IronPDF es una solución destacada:

Características clave

  1. Conversión Directa de HTML a PDF: Crea documentos PDF directamente usando IronPDF con contenido HTML, incluyendo CSS y JavaScript, en PDFs completamente formateados. Con solo unas pocas líneas de código, los desarrolladores pueden generar PDFs a partir de páginas web, cadenas de HTML crudo o archivos HTML locales.

  2. Capacidades Modernas de Renderizado: Apoyando los últimos estándares web, IronPDF asegura una renderización precisa de diseños complejos, estilos y elementos interactivos para convertir páginas HTML a PDF.

  3. Funciones Avanzadas de PDF: IronPDF ofrece amplias opciones de personalización, como añadir encabezados, pies de página, marcas de agua, anotaciones y marcadores. También admite la fusión, división y edición de PDFs existentes.

  4. Rendimiento y Escalabilidad: Optimizado para aplicaciones tanto a pequeña escala como empresariales, IronPDF ofrece un rendimiento rápido y confiable para proyectos de cualquier tamaño.

  5. Facilidad de Integración: Diseñado para .NET Framework y .NET Core, IronPDF se integra sin problemas con aplicaciones en C#, ofreciendo a los desarrolladores un proceso de configuración sencillo y documentación completa.

¿Por qué elegir IronPDF?

IronPDF se destaca entre otras soluciones debido a su combinación de características, soporte para desarrolladores y rendimiento. A diferencia de las alternativas de código abierto que a menudo requieren una amplia configuración o dependencias externas, IronPDF es una solución autosuficiente que simplifica el desarrollo sin sacrificar funcionalidad. Ya sea para generar facturas, informes o archivar contenido web, IronPDF empodera a los desarrolladores con las herramientas que necesitan para lograr resultados de grado profesional rápidamente y de manera eficiente.

IronPDF es una elección práctica para desarrolladores que valoran la confiabilidad, escalabilidad y facilidad de uso en sus flujos de trabajo de HTML a PDF.

Cómo convertir HTML a PDF con IronPDF

using IronPdf;

class Program
{
    static void Main()
    {
        // Specify license key
        IronPdf.License.LicenseKey = "Your Key";

        // Create a new HtmlToPdf object using ChromePdfRenderer
        var Renderer = new ChromePdfRenderer();

        // Define the HTML string to be converted
        string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";

        // Convert the HTML string to a PDF document
        var document = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a file
        document.SaveAs("html2Pdf.pdf");

        Console.WriteLine("PDF generated and saved successfully!");
    }
}

Explicación de fragmentos de código

  1. Configuración de la clave de licencia: el programa comienza configurando la clave de licencia de IronPDF , que es necesaria para desbloquear la funcionalidad completa de la biblioteca.

  2. Creación del renderizador: se inicializa una instancia de ChromePdfRenderer. Este componente es responsable de convertir contenido HTML en un documento PDF, actuando como un puente entre el HTML bruto y el resultado final.

  3. Definición de contenido HTML: se crea una variable de cadena, htmlContent, para almacenar la estructura HTML que se convertirá en un PDF. En este ejemplo, contiene un encabezado simple.

  4. Conversión de HTML a PDF: se llama al método RenderHtmlAsPdf() en la instancia ChromePdfRenderer, pasando la cadena HTML como entrada. Esta función procesa el contenido y lo transforma en un documento PDF.

  5. Guardar el PDF: Finalmente, el PDF generado se guarda en un archivo llamado "html2Pdf.pdf" usando el método SaveAs(), almacenándolo en el disco para acceso futuro.

PDF de salida

Conversor de HTML a PDF de código abierto C# (comparación de bibliotecas .NET ): Figura 5

Información de licencia (versión de prueba disponible)

IronPDF requiere una clave de licencia válida para la funcionalidad completa. Puede obtener una licencia de prueba desde el sitio web oficial. Antes de usar la biblioteca de IronPDF, configure la clave de licencia de la siguiente manera:

IronPdf.License.LicenseKey = "your key";

Esto asegura que la biblioteca opere sin limitaciones.

Conclusión

PuppeteerSharp es una excelente opción para desarrolladores que necesitan una renderización precisa de HTML a PDF, especialmente al tratar con páginas web complejas. No obstante, para aplicaciones que requieren características avanzadas específicas de PDF, optimización del rendimiento y facilidad de integración, herramientas profesionales como IronPDF suelen ser la mejor opción.

PdfSharp es una gran opción para la creación programática de PDF ligera y manipulación, especialmente para proyectos con requisitos simples. Sin embargo, si tu aplicación requiere convertir HTML a PDF o características avanzadas de PDF, IronPDF proporciona una solución más eficiente y rica en características.

Aunque Pdfium.NET SDK es una herramienta robusta para la manipulación de PDF, IronPDF proporciona soporte nativo para la conversión directa de HTML a PDF, incluyendo la representación de HTML moderno, CSS y JavaScript. IronPDF simplifica el flujo de trabajo con métodos integrados como HtmlToPdf.RenderHtmlAsPdf(), lo que lo hace más rápido y eficiente para los desarrolladores.

Ya sea para generar facturas, informes o archivar contenido web, IronPDF empodera a los desarrolladores con las herramientas que necesitan para lograr resultados de grado profesional rápidamente y de manera eficiente.

IronPDF es una elección práctica para desarrolladores que valoran la confiabilidad, escalabilidad y facilidad de uso en sus flujos de trabajo de HTML a PDF.

Curtis Chau
Escritor Técnico

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.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999