iTextSharp: Adicionar imagem ao PDF
RenderHtmlFileAsPdf faz uma coisa: ele pega um arquivo HTML no disco e o renderiza em um PDF através de um motor Chrome. O que é exibido corretamente no Chrome é representado corretamente no documento, com total suporte para CSS3, JavaScript, imagens e fontes. A única distinção que importa é a entrada. Este método lê um arquivo, portanto, os caminhos de ativos relativos (logos, folhas de estilo, fontes) são resolvidos a partir da própria localização do arquivo, sem a necessidade de URL base. Isso decide onde ele se encaixa melhor.
Geração de documentos baseada em modelo
Mantenha um modelo HTML em seu projeto (fatura, orçamento, certificado, contrato), preencha-o, escreva-o no disco e renderize:
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html")
.SaveAs("invoice-1042.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html").SaveAs("invoice-1042.pdf")Como a origem é um arquivo real, ./logo.png e styles.css se resolvem naturalmente ao lado dele.
Renderização de site estático e saída de construção
Geradores de sites estáticos, pipelines de Markdown e construtores de documentação produzem todos arquivos HTML. Aponte o IronPDF para a saída para transformar uma página publicada em um PDF arquivável, sem a necessidade de recuperá-la via HTTP.
Layouts criados por designers
Um designer entrega um arquivo HTML e CSS autônomo; você o renderiza como está. O Chrome realiza a conversão, então a pré-visualização do navegador do designer corresponde ao PDF, removendo toda uma classe de disputas de 'parecia bom no modelo'.
Conversão em lote de uma pasta
O método é uma chamada por arquivo, então converter um diretório de relatórios ou folhetos é um loop curto:
var renderer = new ChromePdfRenderer();
foreach (string file in Directory.GetFiles("reports", "*.html"))
{
string output = Path.ChangeExtension(file, ".pdf");
renderer.RenderHtmlFileAsPdf(file).SaveAs(output);
}Imports System.IO
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
For Each file As String In Directory.GetFiles("reports", "*.html")
Dim output As String = Path.ChangeExtension(file, ".pdf")
renderer.RenderHtmlFileAsPdf(file).SaveAs(output)
NextRenderização offline e isolada
Como lê do sistema de arquivos local em vez de uma URL, isso funciona onde não há rede de saída: backends seguros, executores de CI, implantações no local. O HTML e seus ativos só precisam estar presentes na máquina.
Comprovação de modelo de email
Equipes que armazenam notificações ou modelos de email como arquivos HTML podem renderizá-los em PDF para revisão, aprovação ou arquivamento, sem precisar levantar um servidor web para visualizá-los.
A regra de ouro
IronPDF oferece três pontos de entrada, e escolher o errado é a fonte mais comum de ativos quebrados:
RenderHtmlFileAsPdflê um arquivo do disco; ativos relativos são resolvidos a partir da localização do arquivo.RenderHtmlAsPdfaceita uma string HTML na memória; geralmente você define uma URL base para que os ativos sejam resolvidos.RenderUrlAsPdfbusca via HTTP, e é onde se aplicam autenticação, cookies e logins.
Utilize o método de arquivo sempre que seu HTML já existir como um arquivo. Configure a saída através de RenderingOptions antes de renderizar e verifique a página no Chrome primeiro; se ela renderiza lá, renderiza no PDF.

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.