O que é PDFKit e para que serve?
\n\nPDFKit é 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\nPrincipais 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
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\nInstalação do PDFKit
\n\nO 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\nnpm install pdfkit\n\nApós a instalação, a biblioteca estará disponível para importação no seu código. Nenhuma dependência adicional é necessária.
\n\nInício rápido: criando seu primeiro documento PDF
\n\nVamos criar um arquivo PDF simples com o texto "Olá, Mundo!".
\n\nconst 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\nApós executar este código, um arquivo ola_mundo.pdf com o texto "Olá, Mundo!" será criado na mesma pasta.
Principais métodos e funções do PDFKit
\n\nO PDFKit fornece uma API extensa. Abaixo estão 10 métodos-chave com descrição detalhada e exemplos.
\n\n1. text(text, x, y, options)
\nDescrição: Adiciona texto ao documento. Este é o método principal para trabalhar com texto. Ele suporta quebra de linha, alinhamento, recuos e estilização.
\nParâ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 <