IRONSOFTWAREHOME
USANDO O IRONPDF

Como analisar dados de documentos PDF

Curtis Chau
Curtis Chau
Updated: 18 de janeiro de 2026

Converter HTML para PDF é um requisito comum em muitos aplicativos de software, como gerar relatórios, faturas ou salvar páginas da web como PDFs. Neste artigo, exploraremos três bibliotecas populares de código aberto para conversão de HTML para PDF em C#, analisaremos seus pontos fortes e limitações e discutiremos por que o IronPDF é uma alternativa melhor em diversos casos.

Conversor de HTML para PDF C# código aberto

1. PuppeteerSharp

Conversor de HTML para PDF em C# Open Source (Comparação de Bibliotecas .NET): Figura 1

PuppeteerSharp é um wrapper .NET para o Puppeteer, um navegador Chromium sem interface gráfica. Permite aos desenvolvedores converter documentos HTML em PDFs, utilizando o mecanismo de renderização Chromium.

O PuppeteerSharp oferece controle preciso sobre o processo de renderização. Eis um exemplo:

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!");
        }
    }
}

Explicação do código

  1. Baixe o Chromium: O PuppeteerSharp baixa automaticamente a versão necessária do Chromium para garantir a compatibilidade.

  2. Iniciar Navegador: Inicie uma instância sem cabeça do Chromium usando Puppeteer.LaunchAsync().

  3. Definir Conteúdo HTML: Carregue o HTML desejado na página do navegador usando page.SetContentAsync().

  4. Gerar PDF: Use o método page.PdfAsync() para gerar um PDF do conteúdo renderizado.

O resultado é um PDF de alta qualidade (output.pdf) que replica com precisão a estrutura e o design do HTML.

Prós

  • Renderização de alta fidelidade: Suporta tecnologias web modernas, incluindo CSS e JavaScript avançados.
  • Recursos de automação: além de PDFs, o PuppeteerSharp pode automatizar a navegação na web, testes e extração de dados.
  • Desenvolvimento ativo: O PuppeteerSharp recebe manutenção ativa e atualizações regulares.

Contras

  • Tamanho de arquivo grande: Requer o download e o empacotamento do navegador Chromium, aumentando o tamanho da instalação.
  • Consumo intensivo de recursos: Executar uma instância do navegador pode consumir muitos recursos do sistema, especialmente para aplicações de grande escala.
  • Recursos específicos para PDF limitados: O PuppeteerSharp se concentra na renderização, e não no aprimoramento de PDFs (por exemplo, adição de cabeçalhos ou rodapés).

2. PDFSharp

Conversor de HTML para PDF em C# Open Source (Comparação de Bibliotecas .NET): Figura 2

PDFSharp é uma biblioteca de código aberto poderosa para criação e manipulação de arquivos PDF em C#. Embora não ofereça suporte direto à renderização de HTML, destaca-se por fornecer aos desenvolvedores ferramentas para gerar e editar documentos PDF programaticamente.

Principais Características do PDFSharp

  1. Criação de PDF: O PDFSharp permite aos desenvolvedores gerar novos arquivos PDF do zero, definindo tamanhos de página, adicionando texto, formas, imagens e mais.

  2. Manipulação de PDFs existentes: Você pode modificar documentos PDF existentes, como mesclar, dividir ou extrair conteúdo.

  3. Capacidades de Desenho: O PDFSharp oferece capacidades gráficas robustas para adicionar designs personalizados aos arquivos PDF usando a classe XGraphics.

  4. Leveza: É uma biblioteca leve, o que a torna ideal para projetos onde simplicidade e velocidade são 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}");
    }
}

Explicação do código

  1. Análise de HTML: O exemplo utiliza HtmlAgilityPack (uma biblioteca de código aberto para analisar e manipular HTML) para extrair conteúdo de texto das tags <h1> e <p>.

  2. Desenhando Conteúdo: A classe XGraphics do PDFSharp é usada para renderizar o conteúdo HTML analisado como texto em uma página PDF.

  3. Limitações: Esta abordagem funciona para estruturas HTML simples, mas não lida com layouts complexos, estilos ou JavaScript.

Prós e Contras do PDFSharp

Prós

  • Leve e Fácil de Usar: O PDFSharp é intuitivo e direto, tornando-o ideal para desenvolvedores que estão começando com geração de PDF.
  • Código aberto e gratuito: Sem taxas de licenciamento e com o código-fonte disponível para personalização.
  • Desenho personalizado: Oferece excelentes recursos para criar PDFs do zero com designs personalizados.

Contras

  • Sem Conversão de HTML para PDF: O PDFSharp não oferece suporte nativo para renderização de HTML para PDF, exigindo bibliotecas adicionais para análise de HTML.
  • Suporte limitado para recursos modernos: Não oferece funcionalidades avançadas como PDFs interativos, assinaturas digitais ou anotações.
  • Limitações de desempenho: Pode não ser tão otimizado quanto bibliotecas profissionais para aplicações de grande escala ou empresariais.

3. SDK .NET da Pdfium

Conversor de HTML para PDF em C# Open Source (Comparação de Bibliotecas .NET): Figura 3

O PDFium .NET é uma biblioteca abrangente baseada no projeto de código aberto PDFium, projetada para visualizar, editar e manipular arquivos PDF em aplicativos .NET . Ele fornece aos desenvolvedores ferramentas poderosas para criar, editar e extrair conteúdo de PDFs, tornando-o adequado para uma ampla gama de casos de uso. É basicamente uma biblioteca gratuita para conversão de HTML em PDF.

Principais recursos do SDK .NET da Pdfium

  1. Criação e Edição de PDF:

    • Gere PDFs do zero ou a partir de imagens digitalizadas.
    • Edite PDFs existentes adicionando texto, imagens ou anotações.
  2. Extração de Texto e Imagem:

    • Extrair texto e imagens de documentos em formato PDF para processamento posterior.
    • Pesquisar texto específico dentro de um documento PDF.
  3. Controle de Visualizador de PDF:

    • Incorpore um visualizador de PDF independente em aplicativos WinForms ou WPF.
    • Suporta zoom, rolagem, marcadores e busca de texto.
  4. Compatibility:

    • Funciona com .NET Framework, .NET Core, .NET Standard e .NET 6+.
    • Compatível com as plataformas Windows e macOS.
  5. Recursos Avançados:

    • Unir e dividir arquivos PDF.
    • Converter PDFs em imagens para exibição ou impressão.
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}");
    }
}

Explicação do código

  1. Inicialização do SDK: O método PdfCommon.Initialize() inicializa as funcionalidades do Pdfium.NET.

  2. Criando um PDF: Um novo documento PDF é criado usando PdfDocument.CreateNew().

  3. Adicionando páginas: As páginas são inseridas no PDF com dimensões específicas (por exemplo, tamanho A4).

  4. Renderização de conteúdo HTML: Como o SDK .NET da Pdfium não oferece suporte nativo à renderização de HTML, você precisa analisar e renderizar manualmente os elementos HTML como texto, formas ou imagens.

  5. Salvando o PDF: O documento é salvo em um caminho de arquivo com o método Save().

Prós

  • Permite controle total sobre a criação e edição de PDFs.
  • Flexível para desenhar e adicionar texto, imagens e formas.
  • Recursos avançados para visualizar e manipular PDFs em aplicativos de desktop.

Contras

  • Não converte HTML diretamente para PDF. Analisar e renderizar HTML manualmente pode ser complexo e demorado.
  • Mais adequado para aplicações focadas na edição e manipulação de PDFs do que na conversão para HTML.

Apresentando o IronPDF

Conversor de HTML para PDF em C# Open Source (Comparação de Bibliotecas .NET): Figura 4

IronPDF é uma biblioteca de nível profissional projetada para desenvolvedores .NET converterem conteúdo HTML em PDFs de alta qualidade sem esforço. Conhecido por sua confiabilidade, recursos avançados e facilidade de uso, o IronPDF agiliza o processo de desenvolvimento, oferecendo renderização precisa e funcionalidade robusta. Eis por que o IronPDF é uma solução excepcional:

Principais características

  1. Conversão direta de HTML para PDF: Crie documentos PDF diretamente usando o IronPDF com conteúdo HTML, incluindo CSS e JavaScript, em PDFs totalmente formatados. Com apenas algumas linhas de código, os desenvolvedores podem gerar PDFs a partir de páginas da web, strings HTML brutas ou arquivos HTML locais.

  2. Recursos modernos de renderização: Compatível com os mais recentes padrões da web, o IronPDF garante a renderização precisa de layouts complexos, estilos e elementos interativos para converter páginas HTML em PDF.

  3. Recursos avançados de PDF: O IronPDF oferece amplas opções de personalização, como adicionar cabeçalhos, rodapés, marcas d'água, anotações e marcadores. Ele também oferece suporte à fusão, divisão e edição de PDFs existentes.

  4. Desempenho e escalabilidade: Otimizado tanto para aplicações de pequena escala quanto para ambientes corporativos, o IronPDF oferece desempenho rápido e confiável para projetos de qualquer tamanho.

  5. Facilidade de integração: Projetado for .NET Framework e .NET Core, o IronPDF se integra perfeitamente com aplicativos C#, oferecendo aos desenvolvedores um processo de configuração simples e documentação completa.

Por que escolher o IronPDF?

O IronPDF se destaca entre outras soluções devido à sua combinação de recursos, suporte ao desenvolvedor e desempenho. Ao contrário das alternativas de código aberto que muitas vezes exigem configurações extensas ou dependências externas, o IronPDF é uma solução independente que simplifica o desenvolvimento sem sacrificar a funcionalidade. Seja para gerar faturas, relatórios ou arquivar conteúdo da web, o IronPDF oferece aos desenvolvedores as ferramentas necessárias para obter resultados de nível profissional com rapidez e eficiência.

IronPDF é uma escolha prática para desenvolvedores que valorizam confiabilidade, escalabilidade e facilidade de uso em seus fluxos de trabalho de HTML para PDF.

Como converter HTML para PDF usando o 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!");
    }
}

Explicação do trecho de código

  1. Configuração da chave de licença: O programa inicia definindo a chave de licença do IronPDF , que é necessária para desbloquear todas as funcionalidades da biblioteca.

  2. Criando o Renderizador: Uma instância de ChromePdfRenderer é inicializada. Este componente é responsável por converter conteúdo HTML em um documento PDF , atuando como uma ponte entre o HTML bruto e o resultado final.

  3. Definindo Conteúdo HTML: Uma variável de string, htmlContent, é criada para armazenar a estrutura HTML que será convertida em um PDF. Neste exemplo, contém um título simples.

  4. Convertendo HTML para PDF: O método RenderHtmlAsPdf() é chamado na instância de ChromePdfRenderer, passando a string HTML como entrada. Esta função processa o conteúdo e o transforma em um documento PDF .

  5. Salvando o PDF: Finalmente, o PDF gerado é salvo em um arquivo chamado "html2Pdf.pdf" utilizando o método SaveAs(), armazenando-o no disco para acesso futuro.

PDF de saída

Conversor de HTML para PDF em C# Open Source (Comparação de Bibliotecas .NET): Figura 5

Informações sobre a licença (versão de avaliação disponível)

O IronPDF requer uma chave de licença válida para funcionar plenamente. Você pode obter uma licença de avaliação no site oficial. Antes de usar a biblioteca IronPDF , defina a chave de licença da seguinte forma:

IronPdf.License.LicenseKey = "your key";

Isso garante que a biblioteca funcione sem limitações.

Conclusão

O PuppeteerSharp é uma excelente opção para desenvolvedores que precisam de renderização precisa de HTML para PDF, especialmente ao lidar com páginas da web complexas. No entanto, para aplicações que exigem recursos avançados específicos para PDF, otimização de desempenho e facilidade de integração, ferramentas profissionais como o IronPDF costumam ser a melhor opção.

O PDFSharp é uma ótima escolha para criação e manipulação de PDF programática leve, especialmente para projetos com requisitos simples. No entanto, se sua aplicação exigir a conversão de HTML para PDF ou recursos avançados de PDF, o IronPDF oferece uma solução mais eficiente e completa.

Embora o SDK .NET da Pdfium seja uma ferramenta robusta para manipulação de PDFs, o IronPDF oferece suporte nativo para conversão direta de HTML para PDF, incluindo a renderização de HTML, CSS e JavaScript modernos. IronPDF simplifica o fluxo de trabalho com métodos integrados como HtmlToPdf.RenderHtmlAsPdf(), tornando-o mais rápido e eficiente para desenvolvedores.

Seja para gerar faturas, relatórios ou arquivar conteúdo da web, o IronPDF oferece aos desenvolvedores as ferramentas necessárias para obter resultados de nível profissional com rapidez e eficiência.

IronPDF é uma escolha prática para desenvolvedores que valorizam confiabilidade, escalabilidade e facilidade de uso em seus fluxos de trabalho de HTML para PDF.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.