Ir para o conteúdo do rodapé
COMPARAçãO DE PRODUTOS

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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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:

  • RenderHtmlFileAsPdf lê um arquivo do disco; ativos relativos são resolvidos a partir da localização do arquivo.
  • RenderHtmlAsPdf aceita uma string HTML na memória; geralmente você define uma URL base para que os ativos sejam resolvidos.
  • RenderUrlAsPdf busca 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.

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 ...

Leia mais

Equipe de Suporte Iron

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim