# Como criar arquivos PDF em Node.js
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](https://ironpdf.com/nodejs/docs/) 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.
*as-heading:2(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
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
```
Configure `IronPdfEngine` para sua plataforma antes de rodar em produção. Veja o [guia de configuração IronPdfEngine](https://ironpdf.com/nodejs/get-started/use-ironpdfengine/) para instruções no Windows, Linux, macOS e Docker.
<div class="hsg-featured-snippet">
<h3>Fluxo de trabalho mínimo (5 etapas)</h3>
<ol>
<li>Instale o IronPDF: <code>npm install @ironsoftware/ironpdf</code></li>
<li>Importe <code>PdfDocument</code> de <code>@ironsoftware/ironpdf</code></li>
<li>Gere um PDF usando <code>PdfDocument.fromHtml()</code>, <code>PdfDocument.fromFile()</code> ou <code>PdfDocument.fromUrl()</code></li>
<li>Aplique configurações opcionais: tamanho do papel, margens, cabeçalhos, rodapés</li>
<li>Salve a saída com <code>pdf.saveAs("output.pdf")</code></li>
</ol>
</div>
## Como faço para instalar o IronPDF for Node.js?
Install the `@ironsoftware/ironpdf` package using [npm](https://www.npmjs.com/package/@ironsoftware/ironpdf). O pacote funciona com [Node.js](https://nodejs.org/) 12.0 ou superior e suporta formatos de módulo ESM e CommonJS.
```bash
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
```
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:
<table class="content__data-table" data-content-table>
<caption>Pacotes de plataforma IronPDF Engine para pré-instalação em ambientes offline ou restritos</caption>
<thead>
<tr><th>Plataforma</th><th>Pacote</th></tr>
</thead>
<tbody>
<tr><td>Windows x64</td><td><code>@ironsoftware/ironpdf-engine-windows-x64</code></td></tr>
<tr><td>Linux x64</td><td><code>@ironsoftware/ironpdf-engine-linux-x64</code></td></tr>
<tr><td>macOS x64</td><td><code>@ironsoftware/ironpdf-engine-macos-x64</code></td></tr>
<tr><td>macOS ARM</td><td><code>@ironsoftware/ironpdf-engine-macos-arm64</code></td></tr>
</tbody>
</table>
[[i:(Uma 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](https://ironpdf.com/nodejs/get-started/license-keys/).)]]
### 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](https://ironpdf.com/nodejs/get-started/use-ironpdfengine/) em vez de executar o motor localmente.
<hr />
## 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.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const htmlContent = `
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
.header { background: #2b4c8c; color: white; padding: 24px 32px; }
.header h1 { margin: 0; font-size: 22px; }
.body { padding: 32px; }
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
</style>
</head>
<body>
<div class="header"><h1>Invoice #INV-2025-0042</h1></div>
<div class="body">
<p>Date: ${new Date().toLocaleDateString()}</p>
<table>
<tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
<tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
<tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
</table>
<p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
</div>
</body>
</html>`;
// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");
```
`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](https://ironpdf.com/nodejs/examples/using-html-to-create-a-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.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
```
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](https://ironpdf.com/nodejs/examples/file-to-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.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
```
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](https://ironpdf.com/nodejs/examples/converting-a-url-to-a-pdf/) demonstra configuração de atraso e cabeçalhos de autenticação.
<hr />
## 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.
```nodejs
import { PdfDocument, PdfPaperSize } from "@ironsoftware/ironpdf";
const config = {
paperSize: PdfPaperSize.A4,
marginTop: 25,
marginBottom: 25,
marginLeft: 20,
marginRight: 20,
landscape: false,
printBackground: true,
};
const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");
```
Principais opções de configuração incluem:
- `paperSize`: aceita valores de enum `PdfPaperSize` (A4, Letter, Legal, e [tamanhos personalizados](https://ironpdf.com/nodejs/examples/custom-pdf-paper-size/))
- `landscape`: defina `true` para orientação de página [paisagem](https://ironpdf.com/nodejs/examples/pdf-page-orientation/)
- `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.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const config = {
htmlHeader: {
htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
dividerLine: true,
},
htmlFooter: {
htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
dividerLine: true,
},
};
const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");
```
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](https://ironpdf.com/nodejs/examples/html-headers-and-footers/) e [técnicas avançadas de cabeçalho](https://ironpdf.com/nodejs/examples/adding-headers-and-footers-advanced/), veja os exemplos vinculados.
<hr />
## Como Eu Adiciono Segurança e Metadados a um PDF?
Aplique [proteção por senha e criptografia](https://ironpdf.com/nodejs/examples/security-and-metadata/) 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.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");
// Apply password protection with granular permissions
await pdf.securePdf({
userPassword: "view-password",
ownerPassword: "admin-password",
allowUserAnnotations: false,
allowUserPrinting: true,
allowUserCopyPasteContent: false,
});
await pdf.saveAs("secured-document.pdf");
```
[Criptografia e descriptografia](https://ironpdf.com/nodejs/examples/encryption-and-decryption/) 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](https://ironpdf.com/nodejs/examples/digitally-sign-a-pdf/) usando certificados X.509.
[[t:(Para 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](https://ironpdf.com/nodejs/examples/pdfa/) e [padrões de acessibilidade PDF/UA](https://ironpdf.com/nodejs/examples/pdfua/).)]]
<hr />
## 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.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
await PdfDocument.fromFile("./report-part1.pdf"),
await PdfDocument.fromFile("./report-part2.pdf"),
]);
await merged.saveAs("./complete-report.pdf");
```
`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:
- [Remove a page from a PDF](https://ironpdf.com/nodejs/examples/remove-page-from-pdf/) using `removePages()`
- [Inserir conteúdo HTML](https://ironpdf.com/nodejs/examples/stamping-new-content/) em um documento existente
- [Localizar e substituir texto](https://ironpdf.com/nodejs/examples/replace-text-in-pdf/) em todas as páginas
- [Extrair texto de um PDF](https://ironpdf.com/nodejs/examples/reading-pdf-text/) para indexação ou processamento.
Para cenários de alto volume, [a geração de PDFs multithread](https://ironpdf.com/nodejs/examples/threading/) permite processar vários documentos em paralelo. [A compressão de PDF](https://ironpdf.com/nodejs/examples/pdf-compression/) reduz o tamanho dos arquivos para armazenamento e transmissão.
<hr />
## 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](https://ironpdf.com/nodejs/examples/js-charts-to-pdf/) . 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](https://ironpdf.com/nodejs/examples/angular-to-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](https://ironpdf.com/nodejs/examples/unicode/) sem configuração adicional. O [exemplo de integração do Google Fonts](https://ironpdf.com/nodejs/examples/google-fonts-htmltopdf/) mostra como carregar fontes da web no HTML renderizado para obter tipografia consistente no PDF de saída.
[[i:(O 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.)]]
<hr />
## 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](https://ironpdf.com/nodejs/tutorials/html-to-pdf/) para um passo a passo mais aprofundado das opções de renderização ou navegue na [Referência de API](https://ironpdf.com/nodejs/object-reference/api/) para a lista completa de métodos `PdfDocument` e propriedades de configuração.
[Comece sua avaliação gratuita](trial-license) para gerar PDFs sem marcas d'água ou [veja as opções de licenciamento](licensing) para implantações em produção.
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
Instale IronPDF via npm: npm install @ironsoftware/ironpdf
Importe PdfDocument de @ironsoftware/ironpdf
Chame PdfDocument.fromHtml() com seu conteúdo HTML
Chame .saveAs() para gravar o arquivo PDF no disco
import { PdfDocument } from "@ironsoftware/ironpdf";const pdf = awaitPdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");await pdf.saveAs("output.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
JavaScript
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.
Fluxo de trabalho mínimo (5 etapas)
Instale o IronPDF: npm install @ironsoftware/ironpdf
Importe PdfDocument de @ironsoftware/ironpdf
Gere um PDF usando PdfDocument.fromHtml(), PdfDocument.fromFile() ou PdfDocument.fromUrl()
Aplique configurações opcionais: tamanho do papel, margens, cabeçalhos, rodapés
Salve a saída com pdf.saveAs("output.pdf")
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.
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
Plataforma
Pacote
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
Observe: Uma 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.
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.
import { PdfDocument } from "@ironsoftware/ironpdf";// Load an HTML file and render it as a PDFconst pdf = awaitPdfDocument.fromFile("./templates/report-template.html");await pdf.saveAs("./output/report.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
JavaScript
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.
import { PdfDocument } from "@ironsoftware/ironpdf";// Render a live webpage to PDFconst pdf = awaitPdfDocument.fromUrl("https://ironpdf.com/nodejs/");await pdf.saveAs("ironpdf-homepage.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
JavaScript
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.
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.
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.
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.
import { PdfDocument } from "@ironsoftware/ironpdf";const pdf = awaitPdfDocument.fromHtml("<h1>Confidential Document</h1>");// Apply password protection with granular permissionsawait pdf.securePdf({ userPassword: "view-password", ownerPassword: "admin-password", allowUserAnnotations: false, allowUserPrinting: true, allowUserCopyPasteContent: false,});await pdf.saveAs("secured-document.pdf");
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.
Pontas: Para 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.
import { PdfDocument } from "@ironsoftware/ironpdf";// Merge two PDF files into oneconst merged = awaitPdfDocument.mergePdf([ awaitPdfDocument.fromFile("./report-part1.pdf"), awaitPdfDocument.fromFile("./report-part2.pdf"),]);await merged.saveAs("./complete-report.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
await PdfDocument.fromFile("./report-part1.pdf"),
await PdfDocument.fromFile("./report-part2.pdf"),
]);
await merged.saveAs("./complete-report.pdf");
JavaScript
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.
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 .
Observe: O 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.
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.
Is it possible to apply digital signatures to PDFs with IronPDF?
Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.
How does IronPDF handle complex content like charts in PDFs?
IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.
What are the system requirements for using IronPDF on Node.js?
IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.
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.