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");
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);
}
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)
Next
Renderizaçã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.
Perguntas frequentes
Qual é a diferença entre RenderHtmlFileAsPdf, RenderHtmlAsPdf e RenderUrlAsPdf?
RenderHtmlFileAsPdf lê um arquivo HTML do disco; caminhos de ativos relativos são resolvidos a partir do local do próprio arquivo. RenderHtmlAsPdf requer uma string HTML na memória e geralmente precisa de uma URL base para ativos. RenderUrlAsPdf busca uma URL ao vivo via HTTP e é onde a autenticação e cookies são aplicados.
Preciso definir uma URL base ao usar RenderHtmlFileAsPdf?
Não. Como o método lê um arquivo real no disco, caminhos relativos como ./logo.png e styles.css são resolvidos automaticamente a partir do diretório do arquivo HTML. Não é necessária configuração de URL base.
Posso usar RenderHtmlFileAsPdf em um ambiente offline ou isolado?
Sim. O método lê do sistema de arquivos local, em vez de buscar via HTTP, por isso funciona em ambientes sem acesso à rede externa, incluindo backends seguros, runners de CI e implantações locais.
Como faço para converter em lote uma pasta de arquivos HTML para PDF com IronPDF?
Itere sobre os arquivos com Directory.GetFiles e chame RenderHtmlFileAsPdf uma vez por arquivo. Reutilize uma única instância de ChromePdfRenderer ao longo do loop para compartilhar o contexto do navegador.
O PDF ficará exatamente como vejo no Chrome?
O IronPDF usa um mecanismo Chromium completo para renderização, então o resultado corresponde à visualização do navegador Chrome para o mesmo arquivo HTML. Verifique a página no Chrome primeiro — se renderizar corretamente lá, também renderizará corretamente no PDF.

