PDFKit para JavaScript (Node.js): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é PDFKit e para que serve?

\n\n

PDFKit é uma biblioteca poderosa e flexível para JavaScript (Node.js), projetada para a criação programática de documentos PDF "em tempo real". Ela permite que desenvolvedores gerem arquivos PDF complexos e com várias páginas, contendo conteúdo rico: texto, imagens, tabelas, gráficos vetoriais, anotações e formulários. Ao contrário de muitas outras bibliotecas, o PDFKit opera em baixo nível, fornecendo controle total sobre cada aspecto do documento, desde as coordenadas de posicionamento dos elementos até a incorporação de fontes.

\n\n

Principais cenários de uso do PDFKit:

\n
    \n
  • Geração de relatórios e faturas: Criação de documentos PDF dinâmicos com base em dados de banco de dados ou API.
  • \n
  • Criação de notas fiscais e recibos: Geração automática de documentos para lojas online e sistemas contábeis.
  • \n
  • Elaboração de certificados e diplomas: Geração de documentos personalizados com dados únicos para cada destinatário.
  • \n
  • Exportação de dados: Conversão de páginas web, tabelas ou gráficos para o formato PDF para impressão ou arquivamento.
  • \n
  • Criação de livros eletrônicos e manuais: Diagramação programática de documentos com várias páginas, incluindo sumário e marcadores.
  • \n
\n\n

PDFKit é a escolha de desenvolvedores que precisam de desempenho, flexibilidade e controle total, sem usar dependências externas (por exemplo, sem a necessidade de instalar LibreOffice ou wkhtmltopdf).

\n\n

Instalação do PDFKit

\n\n

O PDFKit é distribuído através do gerenciador de pacotes npm. Para instalá-lo, execute o seguinte comando no terminal, na raiz do seu projeto:

\n\n
npm install pdfkit
\n\n

Após a instalação, a biblioteca estará disponível para importação no seu código. Nenhuma dependência adicional é necessária.

\n\n

Início rápido: criando seu primeiro documento PDF

\n\n

Vamos criar um arquivo PDF simples com o texto "Olá, Mundo!".

\n\n
const PDFDocument = require('pdfkit');\nconst fs = require('fs');\n\n// Cria um novo documento PDF\nconst doc = new PDFDocument();\n\n// Define o fluxo para escrever o resultado\ndoc.pipe(fs.createWriteStream('ola_mundo.pdf'));\n\n// Adiciona texto à página\ndoc.fontSize(25)\n   .text('Olá, Mundo!', 100, 100);\n\n// Finaliza o documento e encerra o fluxo\ndoc.end();\n\nconsole.log('Arquivo PDF "ola_mundo.pdf" criado com sucesso!');
\n\n

Após executar este código, um arquivo ola_mundo.pdf com o texto "Olá, Mundo!" será criado na mesma pasta.

\n\n

Principais métodos e funções do PDFKit

\n\n

O PDFKit fornece uma API extensa. Abaixo estão 10 métodos-chave com descrição detalhada e exemplos.

\n\n

1. text(text, x, y, options)

\n

Descrição: Adiciona texto ao documento. Este é o método principal para trabalhar com texto. Ele suporta quebra de linha, alinhamento, recuos e estilização.

\n

Parâmetros:

\n
    \n
  • text (String) — Texto a ser adicionado.
  • \n
  • x (Number, opcional) — Coordenada X. Se não for especificada, o texto continua a partir da posição atual.
  • \n
  • y (Number, opcional) — Coordenada Y. Se não for especificada, o texto continua a partir da posição atual.
  • \n
  • options (Object, opcional) — Objeto com configurações:\n
      \n
    • align (String) — Alinhamento: 'left', 'center', 'right', 'justify'.
    • \n
    • indent (Number) — Recuo da primeira linha.
    • \n
    • paragraphGap (Number) — Espaçamento entre parágrafos.
    • \n
    • lineGap (Number) — Espaçamento entre linhas.
    • \n
    • width (Number) — Largura do bloco de texto (para quebra de linha).
    • \n
    • height (Number) — Altura do bloco de texto.
    • \n <

Recommendations