SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
06.04.2025

Convertendo HTML para PDF no .NET: Trabalhando com Tabelas

Resposta Rápida

Para converter HTML para PDF no .NET, utilize o DinkToPdf, que é um wrapper para .NET da ferramenta de linha de comando WkHtmlToPdf. Aqui está um exemplo de código em C#:

var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
    GlobalSettings = { PaperSize = PaperKind.A4 }, // Preferimos o formato A4!
    Objects = {
        new ObjectSettings() { HtmlContent = @"<html><body>Seu código HTML vai aqui</body></html>" } // Coloque seu conteúdo HTML aqui
    }
};
byte[] pdf = converter.Convert(doc); // Pronto! Nosso PDF está preparado
File.WriteAllBytes("resultado.pdf", pdf); // Concluído, o arquivo PDF foi salvo no disco

Requisito Obrigatório: Instale o pacote DinkToPdf via NuGet e adicione a biblioteca libwkhtmltox ao diretório do seu projeto. Ajuste os tamanhos de página e o conteúdo HTML conforme suas necessidades.

Escolhendo uma Biblioteca: Tomando uma Decisão Informada

Escolher a biblioteca certa é essencial para uma conversão bem-sucedida de HTML para PDF no .NET. Vamos explorar as opções:

HtmlRenderer.PdfSharp

Se você precisa de uma conversão confiável e thread-safe que suporte CSS e layouts, escolha a HtmlRenderer.PdfSharp.

iTextSharp: Versões Gratuitas e Pagas

Para projetos menores, a iTextSharp é suficiente, mas lembre-se que a versão gratuita possui funcionalidades limitadas.

Otimizada para MVC: Rotativa e TuesPechkin

A Rotativa é excelente para converter Razor Views em PDF dentro de aplicações MVC, enquanto TuesPechkin funciona bem com C#.

Suporte a Padrões Web Modernos

Se você precisa trabalhar com os recursos mais recentes de HTML5 e CSS3, use o Selenium WebDriver ou o Chrome headless através do PuppeteerSharp.

Conversões Paralelas: Uma Questão de Técnica

WkHtmlToXSharp consegue lidar com conversões paralelas, enquanto ExpertPdfHtmlToPdf e SelectPDF oferecem uma variedade de ferramentas pagas e gratuitas.

Solucionando Problemas Comuns e Recursos Operacionais

Adeus, Converters Baseados em IE!

Não utilize conversores baseados em IE—eles são incompatíveis com o design web moderno.

Permissões Específicas do Sistema

O uso do Chrome headless pode exigir certas permissões do sistema.

Compatibilidade com Vários Sistemas

Certifique-se de que a ferramenta escolhida seja versátil e fácil de atualizar.

Você Pode Usar window.print()?

Para tarefas simples, é apropriado usar window.print() em JavaScript para criar PDFs diretamente do navegador.

NuGet ao Resgate!

O trabalho fluirá suavemente e mais rapidamente com pacotes NuGet como Selenium.WebDriver e ChromeDriver.

Opções Avançadas para Tarefas Complexas

Gerenciamento de Layout

EO.Pdf e GemBox.Document oferecem capacidades para layouts complexos, incluindo o manuseio de tabelas.

Atenção às Licenças

Se você planeja utilizar comercialmente, escolha bibliotecas com licenças como BSD-UNSPECIFIED; HtmlRenderer.PdfSharp, por exemplo, é utilizada em meus projetos para maior conveniência.

Configuração e Extensão

Escolha bibliotecas que oferecem a capacidade de estender a funcionalidade através de plugins ou conversores personalizados.

Visualização

Vamos comparar o processo de conversão de HTML para PDF com assar biscoitos:

Biscoitos Crus (🍪🌐): [Código HTML]
  1. Assando no Forno .NET (🔥👨‍💻): Use ferramentas .NET para formar a forma final.
  2. Adicionando Cobertura (🖋️✨): Aplique estilos CSS.
  3. Finalizando com Decoração (📄💫): Use JavaScript para adicionar detalhes do documento.
Biscoito Decorado Pronto (🍪🎨): [Arquivo PDF]

Lembre-se: Cada etapa é crucial ao converter o código HTML original em um documento PDF completo.

Conclusão: Dicas para uma Conversão Eficiente

Quer Economizar Dinheiro?

Soluções de código aberto podem reduzir significativamente os custos. No entanto, lembre-se de que a escolha deve ser informada!

Soluções Prontas vs. Personalização

Se você precisa de configurações únicas, o desenvolvimento personalizado pode atender muito bem às suas necessidades.

Aprendizado e Atualização

Não esqueça de estudar regularmente novas tecnologias e atualizar suas ferramentas de criação de conteúdo web.

Recursos Úteis

  1. wkhtmltopdf — Uma ferramenta aberta para converter HTML em PDF.
  2. SelectPDF para .NET — Uma biblioteca comercial para converter HTML em PDF.
  3. GitHub - rdvojmoc/DinkToPdf — Um wrapper .NET Core para converter páginas HTML em PDF.
  4. GitHub - hardkoded/puppeteer-sharp — API .NET para Chrome headless para automatizar ações do navegador e criar PDFs.
  5. PDFsharp e MigraDoc Foundation — PDFsharp para manipular PDFs no .NET.
  6. NuGet Gallery | HtmlRenderer.PdfSharp 1.5.0.6 — Usando PdfSharp para renderizar HTML em PDF.
  7. Quick Start | docfx — DocFX para criar documentação complexa em formato PDF.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!