Como gerar um arquivo PDF a partir de um modelo em Node.js
Este artigo explorará um exemplo de como você pode gerar um documento PDF a partir de um modelo HTML usando uma biblioteca PDF chamada IronPDF for Node.js
O que é o IronPDF for Node.js?
IronPDF for Node.js é uma ferramenta poderosa e versátil que se integra perfeitamente ao Node.js, permitindo que os desenvolvedores gerem, manipulem e gerenciem documentos PDF em seus aplicativos sem esforço. Com seu conjunto abrangente de recursos e uma API intuitiva, o IronPDF permite que os desenvolvedores otimizem suas diversas tarefas relacionadas à criação de PDFs, desde a criação de documentos visualmente atraentes até a adição de elementos interativos, tudo isso mantendo um alto nível de controle e personalização. Seja para gerar relatórios, faturas ou outros documentos importantes, o IronPDF for Node.js oferece uma solução confiável e eficiente para atender a diversas necessidades de geração de páginas PDF de forma integrada e amigável para desenvolvedores.
Funcionalidades do IronPDF
- Geração de PDF a partir de HTML/CSS: Crie documentos PDF a partir de fontes HTML e CSS . Isso permite converter páginas da web ou modelos HTML em formato PDF.
- Manipulação e edição de PDFs : Edite e modifique PDFs existentes adicionando, removendo ou atualizando texto, imagens, anotações e outros elementos dentro do arquivo PDF.
- Unir e dividir PDFs: combinar vários documentos PDF em um só (unir) ou dividir um único PDF em vários PDFs menores .
- Impressão e Manipulação de Formulários: Controle as configurações de impressão e manipule formulários interativos em PDFs, incluindo o envio e a validação de formulários.
- Segurança e Criptografia : Implemente medidas de segurança como proteção por senha, criptografia, controle de acesso e assinaturas digitais para proteger os documentos PDF.
- Extração de Texto : Extraia texto e dados de PDFs, permitindo que você use o conteúdo em outros aplicativos ou para análise de dados.
- Personalização: Personalize a aparência e o layout dos documentos PDF, incluindo tamanho da página, fontes, cores, cabeçalhos, rodapés e outros elementos de design.
- Compatibilidade entre plataformas: Garanta que a biblioteca seja compatível com Node.js em diferentes sistemas operacionais, tornando-a versátil para desenvolvedores que trabalham em diversas plataformas.
Instalando o IronPDF for Node.js
Esta seção abordará como instalar o IronPDF for Node.js e configurar um projeto Node.js
Antes de começar, certifique-se de que o Node.js esteja instalado em seu sistema.
-
Abra o Prompt de Comando (CMD) e inicie um novo projeto Node.js usando os seguintes comandos:
mkdir IronPDF # Create a new directory for the project. cd IronPDF # Navigate to the newly created directory. npm init -y # Create a package.json file to store project-related metadata and dependencies.mkdir IronPDF # Create a new directory for the project. cd IronPDF # Navigate to the newly created directory. npm init -y # Create a package.json file to store project-related metadata and dependencies.SHELL
Abra o Prompt de Comando (CMD) e execute o comando. -
Após a conclusão da configuração inicial, instale o IronPDF usando o seguinte comando:
npm install @ironsoftware/ironpdfnpm install @ironsoftware/ironpdfSHELL - Abra o projeto no Visual Studio Code e crie um novo arquivo chamado "index.js".
-
Abra o arquivo package.json e adicione a seguinte linha em "type" para habilitar o uso do módulo:
"type": "module",
O arquivo package.json de exemplo
Com esses passos, o IronPDF for Node.js é instalado com sucesso e o ambiente é configurado para executar o código IronPDF .
Criar PDF a partir de modelo HTML usando IronPDF for Node.js
O IronPDF for Node.js oferece um recurso que permite aos usuários criar PDFs a partir de um modelo HTML ou de uma página HTML. Essa funcionalidade permite que os usuários preencham esses modelos com informações fornecidas pelo usuário.
O código fornecido abaixo demonstrará como gerar e escrever um documento PDF usando um modelo HTML.
import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';
// Function to generate a PDF document based on user input and an HTML template
const generatePdf = async (userInput, fileName) => {
// HTML template with placeholders for dynamic content
const htmlTemplate = `
<!DOCTYPE html>
<html>
<body>
<h1>${userInput.title}</h1>
<p>User's name: ${userInput.userName}</p>
<p>User's email: ${userInput.userEmail}</p>
</body>
</html>
`;
// Create a PDF from the modified HTML template
const pdf = await PdfDocument.fromHtml(htmlTemplate);
// Save the PDF document under the specified file name
await pdf.saveAs(fileName);
console.log(`PDF saved as ${fileName}`);
};
// Create an interface for reading data from the terminal
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// Collect user input for the PDF document
rl.question('Enter title: ', (title) => {
rl.question('Enter user name: ', (userName) => {
rl.question('Enter user email: ', async (userEmail) => {
// Store user-provided data in an object
const userInput = {
title,
userName,
userEmail
};
// Generate the PDF using the user input
await generatePdf(userInput, "output.pdf");
// Close the readline interface
rl.close();
});
});
});
import { PdfDocument } from "@ironsoftware/ironpdf";
import readline from 'readline';
// Function to generate a PDF document based on user input and an HTML template
const generatePdf = async (userInput, fileName) => {
// HTML template with placeholders for dynamic content
const htmlTemplate = `
<!DOCTYPE html>
<html>
<body>
<h1>${userInput.title}</h1>
<p>User's name: ${userInput.userName}</p>
<p>User's email: ${userInput.userEmail}</p>
</body>
</html>
`;
// Create a PDF from the modified HTML template
const pdf = await PdfDocument.fromHtml(htmlTemplate);
// Save the PDF document under the specified file name
await pdf.saveAs(fileName);
console.log(`PDF saved as ${fileName}`);
};
// Create an interface for reading data from the terminal
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// Collect user input for the PDF document
rl.question('Enter title: ', (title) => {
rl.question('Enter user name: ', (userName) => {
rl.question('Enter user email: ', async (userEmail) => {
// Store user-provided data in an object
const userInput = {
title,
userName,
userEmail
};
// Generate the PDF using the user input
await generatePdf(userInput, "output.pdf");
// Close the readline interface
rl.close();
});
});
});
O exemplo de código acima define um programa JavaScript que recebe do usuário um título, nome de usuário e e-mail através da linha de comando usando o módulo readline. O método generatePdf() é definido para criar um documento PDF usando um modelo HTML fornecido e salvá-lo com o nome de arquivo fornecido. O modelo HTML inclui espaços reservados para o título, nome de usuário e e-mail do usuário, que são preenchidos com os dados fornecidos pelo usuário. A classe PdfDocument do pacote @ironsoftware/ IronPDF é usada para criar o PDF a partir do modelo HTML. Após a geração do PDF, ele é salvo com o nome de arquivo especificado e uma mensagem confirmando o salvamento é registrada no console.
O módulo readline é usado para solicitar ao usuário que forneça dados relevantes como entrada, pedindo o título, o nome de usuário e o e-mail do usuário em uma sequência de perguntas. As respostas do usuário a essas perguntas são coletadas e armazenadas em um objeto chamado userInput. O método generatePdf() é então chamado com essa entrada do usuário e um nome de arquivo padrão "output.pdf" para criar e salvar ou baixar o documento PDF com base nos dados fornecidos. Finalmente, a interface readline é fechada, encerrando o programa.
Teste de geração de PDF nº 1
Saída do console
O arquivo output.pdf
Teste de geração de PDF nº 2
Saída do console
O arquivo output.pdf
Conclusão
Este tutorial revelou o processo de utilização do Node.js para gerar PDFs sem esforço, combinando dados dinâmicos com modelos predefinidos, destacando o papel fundamental do IronPDF .
O IronPDF for Node.js integra-se perfeitamente ao Node.js, permitindo que os desenvolvedores criem, manipulem e gerenciem documentos PDF com eficiência, apresentando um conjunto abrangente de recursos como geração de PDF a partir de HTML/CSS, edição de arquivos PDF existentes, mesclagem/divisão de arquivos, manipulação de formulários, garantia de segurança, extração de texto e personalização.
O processo de instalação passo a passo e o exemplo prático demonstraram como implementar o IronPDF de forma eficaz em um projeto Node.js Ao integrar perfeitamente a geração de PDFs baseada em modelos, os desenvolvedores podem atender com eficiência a diversas necessidades de geração de documentos, tornando o Node.js e o IronPDF uma combinação poderosa para a geração de PDFs simplificada e amigável para desenvolvedores. Essa mesma técnica pode ser usada para gerar faturas dinamicamente em qualquer lugar.
Você pode instalar o IronPDF for Node.js e encontrar exemplos de código na seguinte página do npm .
O IronPDF oferece uma licença de avaliação gratuita , para que os usuários possam experimentar todos os recursos oferecidos pelo IronPDF antes de comprar. Para obter mais informações, visite a página de licenciamento do IronPDF .
Perguntas frequentes
Como posso gerar um PDF a partir de um modelo HTML em Node.js?
É possível gerar um PDF a partir de um modelo HTML em Node.js usando o IronPDF. Utilizando a classe PdfDocument , você pode preencher um modelo HTML com dados dinâmicos e convertê-lo em um arquivo PDF.
Quais são os passos necessários para instalar o IronPDF em um ambiente Node.js?
Para instalar o IronPDF em um ambiente Node.js, primeiro certifique-se de que o Node.js esteja instalado. Em seguida, inicie um novo projeto usando o npm e execute o comando npm install @ironsoftware/ironpdf para adicionar o IronPDF ao seu projeto.
Quais recursos o IronPDF oferece para desenvolvedores Node.js?
O IronPDF oferece recursos como geração de PDFs a partir de HTML/CSS, edição de PDFs, mesclagem e divisão de documentos, manipulação de formulários, extração de texto, segurança e criptografia, além de opções de personalização.
Como o IronPDF aprimora a criação de documentos PDF em aplicações Node.js?
O IronPDF aprimora a criação de documentos PDF em aplicações Node.js, fornecendo uma API robusta que permite aos desenvolvedores gerar, manipular e gerenciar PDFs com facilidade. Isso inclui a geração de documentos dinâmicos, como faturas, a partir de modelos HTML.
O IronPDF pode ser usado em diferentes sistemas operacionais?
Sim, o IronPDF é compatível com diversos sistemas operacionais, oferecendo flexibilidade para desenvolvedores que trabalham em múltiplas plataformas.
Qual é a finalidade do módulo 'readline' no exemplo de geração de PDF?
O módulo 'readline' no código de exemplo é usado para coletar informações do usuário, como títulos e nomes de usuário, que são então utilizadas para preencher um modelo HTML para geração de PDF.
Existe algum período de teste gratuito disponível para experimentar os recursos do IronPDF?
O IronPDF oferece uma licença de avaliação gratuita que permite aos usuários explorar suas funcionalidades e recursos antes de efetuar a compra.
Como o IronPDF lida com a segurança e criptografia de PDFs?
O IronPDF oferece recursos para adicionar segurança e criptografia a PDFs, garantindo que os documentos estejam protegidos e o acesso seja controlado de acordo com os requisitos.




