Como criar arquivos PDF em Node.js

This article was translated from English: Does it need improvement?
Translated
View the article in English

Criar arquivos PDF programaticamente no Node.js requer uma biblioteca que trate a renderização de HTML com precisão, suporte CSS moderno e se integre de maneira limpa com os padrões assíncronos do Node. IronPDF usa um motor de renderização baseado em Chromium para converter conteúdo HTML em PDFs que correspondem à saída de impressão do Chrome, suportando CSS completo, JavaScript embutido e layouts responsivos sem esforço.

Este guia cobre o fluxo de trabalho completo: instalação, geração de PDFs a partir de strings HTML, arquivos HTML e URLs, configuração de opções de saída e aplicação de recursos empresariais como cabeçalhos, rodapés, assinaturas digitais e criptografia.

Início Rápido: Crie um PDF no Node.js

  1. Instale IronPDF via npm: npm install @ironsoftware/ironpdf
  2. Importe PdfDocument de @ironsoftware/ironpdf
  3. Chame PdfDocument.fromHtml() com seu conteúdo HTML
  4. Chame .saveAs() para gravar o arquivo PDF no disco
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js

Configure IronPdfEngine para sua plataforma antes de rodar em produção. Veja o guia de configuração IronPdfEngine para instruções no Windows, Linux, macOS e Docker.

Como faço para instalar o IronPDF for Node.js?

Install the @ironsoftware/ironpdf package using npm. O pacote funciona com Node.js 12.0 ou superior e suporta formatos de módulo ESM e CommonJS.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
SHELL

O IronPDF for Node.js depende do binário IronPDF Engine, que lida com o rendering baseado em Chromium subjacente. O motor é baixado automaticamente na primeira execução, mas você pode pré-instalar o pacote específico da plataforma para evitar downloads em tempo de execução. Isso é útil em ambientes de rede restritos ou pipelines de CI baseados em Docker:

Pacotes de plataforma IronPDF Engine para pré-instalação em ambientes offline ou restritos
PlataformaPacote
Windows x64@ironsoftware/ironpdf-engine-windows-x64
Linux x64@ironsoftware/ironpdf-engine-linux-x64
macOS x64@ironsoftware/ironpdf-engine-macos-x64
macOS ARM@ironsoftware/ironpdf-engine-macos-arm64

ObserveUma chave de licença válida remove a marca d'água dos PDFs gerados. Aplique antes de sua primeira chamada PdfDocument configurando IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }). Siga as instruções completas de configuração da chave de licença.

Quais são os requisitos de sistema para o IronPDF?

IronPDF for Node.js executa no Node.js 12.0 ou superior em ambientes Windows, Linux, macOS e Docker. A biblioteca suporta arquiteturas x64 e ARM64, tornando-a adequada para desenvolvimento local e implantações em contêiner. Para ambientes em nuvem, o IronPDF também suporta conexão a um IronPDF Engine remoto em vez de executar o motor localmente.


Como Eu Crio um PDF a partir de HTML no Node.js?

Use PdfDocument.fromHtml() para gerar um PDF a partir de uma string HTML. O método aceita qualquer HTML válido, incluindo blocos <style> inline, fontes externas carregadas via CDN, e sistemas de layout como CSS Grid ou Flexbox. O renderizador Chromium resolve todos os recursos antes de gerar o PDF.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.js

PdfDocument.fromHtml() retorna uma instância PdfDocument. Chame saveAs() com seu caminho de saída desejado para gravar o arquivo. O método é assíncrono, então use await ou encadeie um manipulador .then(). O motor Chromium lida com carregamento de fontes, folhas de estilo externas e resolução de ativos antes de capturar a saída. Para mais padrões, veja o exemplo de string HTML para PDF.

Como Eu Crio um PDF a partir de um Arquivo HTML?

Carregue um arquivo .html existente do disco usando PdfDocument.fromFile(). Essa abordagem funciona bem para documentos com modelo onde o HTML é mantido separado da lógica da aplicação.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js

O renderizador resolve caminhos de ativos relativos a partir do diretório do arquivo HTML, para que referências locais de CSS e imagem funcionem sem configuração adicional. Veja o exemplo de arquivo HTML para PDF para opções adicionais, incluindo como substituir o URL base para resolução de ativos.

Como Eu Gero um PDF a partir de um URL?

Use PdfDocument.fromUrl() para renderizar uma página web ao vivo como um PDF. O renderizador carrega a página como uma sessão de navegador completa, executando JavaScript, aplicando CSS, e esperando por conteúdo dinâmico antes de capturar a saída.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js

Para páginas que carregam conteúdo assincronamente via JavaScript, emparelhe isso com uma opção renderDelay (em milissegundos) para permitir tempo adicional antes da captura. O exemplo de URL para PDF demonstra configuração de atraso e cabeçalhos de autenticação.


Icon Quote related to Como Eu Gero um PDF a partir de um URL?

Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic related to Como Eu Gero um PDF a partir de um URL?

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso
Icon Quote related to Como Eu Gero um PDF a partir de um URL?

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle related to Como Eu Gero um PDF a partir de um URL?

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso
Icon Quote related to Como Eu Gero um PDF a partir de um URL?

O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.

David Jones related to Como Eu Gero um PDF a partir de um URL?

David Jones

Engenheiro(a) de Software Líder, Agorus Build

Veja o estudo de caso

Como Eu Configuro as Configurações de Saída do PDF?

Passe um objeto de configuração como o segundo argumento para PdfDocument.fromHtml(), PdfDocument.fromFile(), ou PdfDocument.fromUrl(). O objeto de configuração aceita tamanho do papel, margens, orientação e opções de renderização.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js

Principais opções de configuração incluem:

  • paperSize: aceita valores de enum PdfPaperSize (A4, Letter, Legal, e tamanhos personalizados)
  • landscape: defina true para orientação de página paisagem
  • printBackground: inclua cores de fundo CSS e imagens
  • marginTop/Bottom/Left/Right: margens da página em milímetros
  • renderDelay: milissegundos para esperar antes de capturar páginas pesadas de JavaScript

Como Eu Adiciono Cabeçalhos e Rodapés a um PDF?

Adicione cabeçalhos e rodapés fornecendo as propriedades htmlHeader e htmlFooter no objeto de configuração. Ambos aceitam strings HTML completas, permitindo conteúdo estilizado com números de página, datas e texto dinâmico.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js

Use os tokens {page} e {total-pages} no HTML do rodapé; O IronPDF substitui os valores corretos no momento da renderização. Para mais padrões de cabeçalhos e rodapés, incluindo cabeçalhos e rodapés em HTML e técnicas avançadas de cabeçalho, veja os exemplos vinculados.


Como Eu Adiciono Segurança e Metadados a um PDF?

Aplique proteção por senha e criptografia a um PDF gerado usando os métodos de segurança PdfDocument. A biblioteca suporta senhas de proprietário e usuário, com controles de permissão granulares para impressão, cópia e edição.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js

Criptografia e descriptografia usam criptografia AES 256 bits por padrão quando senhas são aplicadas. Para fluxos de autenticação de documentos, o IronPDF também suporta assinaturas digitais usando certificados X.509.

PontasPara documentos que exigem conformidade de arquivamento a longo prazo, use PdfDocument.fromHtml() seguido do método de conversão PDF/A. IronPDF suporta conformidade PDF/A e padrões de acessibilidade PDF/UA.


Como faço para mesclar e manipular PDFs existentes?

PdfDocument fornece métodos para mesclar, dividir e modificar arquivos PDF existentes. Carregue um PDF existente com PdfDocument.fromFile() e use os métodos de manipulação para adicionar ou remover páginas, carimbar conteúdo ou substituir texto.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.js

PdfDocument.mergePdf() aceita um array de instâncias PdfDocument e retorna um único documento mesclado. A ordem das páginas segue a ordem do array, portanto a saída preserva a sequência dos arquivos de entrada.

Outras operações de manipulação comuns:

Para cenários de alto volume, a geração de PDFs multithread permite processar vários documentos em paralelo. A compressão de PDF reduz o tamanho dos arquivos para armazenamento e transmissão.


Como faço para gerar PDFs para conteúdo complexo, como gráficos e páginas Angular?

O IronPDF renderiza páginas usando uma sessão completa do navegador Chromium, o que significa que as bibliotecas JavaScript que produzem gráficos, tabelas ou visualizações de dados são renderizadas corretamente, incluindo bibliotecas de gráficos JavaScript . Aplicativos de página única criados com frameworks como o Angular também são convertidos sem problemas usando o exemplo de Angular para PDF .

Para documentos com uso intensivo de Unicode ou saída em vários idiomas, o IronPDF lida com Unicode e conjuntos de caracteres internacionais sem configuração adicional. O exemplo de integração do Google Fonts mostra como carregar fontes da web no HTML renderizado para obter tipografia consistente no PDF de saída.

ObserveO renderizador Chromium do IronPDF executa JavaScript antes de capturar o PDF. Se sua biblioteca de gráficos ou SPA exigir tempo adicional para renderizar dados após o carregamento do DOM, defina renderDelay em milissegundos para dar tempo de a página renderizar completamente.


Quais são os próximos passos para criar PDFs em Node.js?

Este guia abordou o fluxo de trabalho principal do IronPDF : instalação da biblioteca, geração de PDFs a partir de strings HTML, arquivos e URLs, configuração das definições de saída, adição de cabeçalhos e rodapés, aplicação de segurança e manipulação de PDFs existentes.

Para continuar, experimente o tutorial completo HTML to PDF para um passo a passo mais aprofundado das opções de renderização ou navegue na Referência de API para a lista completa de métodos PdfDocument e propriedades de configuração.

Comece sua avaliação gratuita para gerar PDFs sem marcas d'água ou veja as opções de licenciamento para implantações em produção.

Perguntas frequentes

Qual é a maneira mais fácil de criar arquivos PDF em Node.js?

Instale IronPDF com npm install @ironsoftware/ironpdf, depois chame PdfDocument.fromHtml() com sua string HTML e salve o resultado usando saveAs(). A biblioteca lida com toda a renderização automaticamente.

Como faço para instalar o IronPDF for Node.js?

Execute npm install @ironsoftware/ironpdf no diretório do seu projeto. O binário do IronPDF Engine é baixado automaticamente na primeira utilização. Para ambientes offline ou CI, instale o pacote do motor específico da plataforma, como @ironsoftware/ironpdf-engine-linux-x64, separadamente.

Posso converter HTML para PDF preservando os estilos CSS e a formatação?

Sim. O IronPDF usa um motor de renderização baseado em Chromium que preserva todos os estilos CSS, fontes externas e execução de JavaScript ao converter HTML para PDF. A saída corresponde ao comportamento da visualização de impressão do Chrome.

Quais recursos do PDF estão disponíveis além da conversão básica de HTML?

O IronPDF suporta assinaturas digitais, criptografia AES de 256 bits, proteção por senha com permissões granulares, cabeçalhos e rodapés personalizados com tokens de número de página, mesclagem de PDFs, remoção de páginas, marcação de HTML, extração de texto, conformidade com PDF/A e geração multithread.

Como posso criar um PDF a partir de um arquivo HTML no disco?

Use PdfDocument.fromFile('./path/to/template.html'). O renderizador resolve os caminhos de ativos relativos a partir do diretório do arquivo HTML, de modo que referências locais de CSS e imagens funcionam sem configuração adicional.

Posso extrair texto de arquivos PDF existentes usando IronPDF?

Sim. Carregue um PDF existente com PdfDocument.fromFile() e use os métodos de extração de texto para ler conteúdo de qualquer página. O IronPDF suporta tanto a criação de novos PDFs quanto o processamento de documentos existentes.

O IronPDF suporta execução de JavaScript ao renderizar HTML?

Sim. O renderizador Chromium executa JavaScript antes de capturar o PDF. Para páginas que carregam conteúdo de forma assíncrona, ajuste a opção renderDelay em milissegundos para dar mais tempo à página antes da captura.

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
Pronto para começar?
Versão: 2026.6 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas?
executar um exemplo Veja seu HTML se transformar em um PDF.