PDFKit é uma biblioteca Node.js que torna mais fácil para os desenvolvedores criar e trabalhar com arquivos PDF. Ele oferece uma API direta, mas eficaz, para produzir PDFs e adicionar diferentes tipos de conteúdo a eles, como texto, imagens e formas.
Aprenda a usar o PDF Kit para criar PDFs em Node.js.
Configurando o PDFkit
Você deve ter Node.js e npm (o gerenciador de pacotes Node.js) instalados em sua máquina para acompanhar.
Certifique-se de ter essas ferramentas instaladas executando os seguintes comandos de terminal:
nó -v
npm -v
Para começar a usar o PDFKit em seu projeto Node.js, instale-o executando o seguinte comando npm:
npm instalar pdfkit
Este comando irá instalar o PDFKit e adicioná-lo às dependências do seu projeto.
Criando um documento PDF com o PDFKit
Para criar um documento PDF usando o PDFKit, exija o pdfkit pacote e o fs (sistema de arquivos) em seu arquivo de script:
const PDFDocumento = exigir('pdfkit');
const fs = exigir('fs');
Em seguida, crie uma nova instância do Documento PDF aula. Esta classe representa um arquivo PDF:
const documento = novo PDFDocumento();
A instância criada é um fluxo legível, o que significa que você pode usar o cano() método para salvar seu conteúdo em um arquivo.
Para fazer isso, canalize o documento instância em um fluxo gravável criado por fs.createWriteStream:
doc.pipe (fs.createWriteStream('MeuPDFDoc.pdf'));
O criarWriteStream O método salva o conteúdo de um arquivo PDF em um local especificado no sistema de arquivos local.
O bloco de código acima salvará o arquivo PDF resultante em seu diretório de trabalho atual, com o nome MeuPDFDoc.pdf.
É importante sempre encerrar o fluxo após adicionar conteúdo ao PDF. Você pode fazer isso usando este comando:
doc.fim();
Agora execute o comando node nó [nome do script] para criar o arquivo PDF MeuPDFDoc.pdf em seu diretório de trabalho atual.
Adicionando texto com PDFKit
Antes de canalizar seu documento para salvá-lo, você pode fazer várias alterações. O PDFKit simplifica a adição de texto aos documentos e inclui muitas opções para personalizar a exibição da saída.
Para adicionar texto ao documento, basta chamar o texto() método e passe o texto que deseja adicionar como argumento:
doc.texto("Codificação é fácil!")
À medida que o PDFKIT adiciona texto ao documento, ele acompanha as posições X e Y atuais desse texto. Portanto, sempre que você chamar o método de texto, o PDFKit adicionará uma nova linha abaixo da anterior.
No entanto, ao fornecer as coordenadas X e Y para o método de texto após o próprio texto, você pode alterar sua posição:
doc.texto('Codificação é fácil!', 100, 100)
Para mover para cima ou para baixo em uma linha, chame o mover para baixo ou subir método com o número de linhas que o texto deve mover:
doc.moveDown(3);
doc.moveUp();
Por padrão, chamar qualquer um dos métodos sem passar um argumento fará com que ele se mova apenas uma linha.
O PDFKit suporta cada uma das 14 fontes padrão definidas pelo formato PDF. O Documentação de texto do PDFKit tem uma lista completa dessas fontes padrão.
Use o Fonte() para especificar a fonte necessária. Basta passar o nome da fonte correspondente como uma string:
doc.fonte('Times-Roman')
.texto('Codificação é fácil!');
Você também pode alterar o tamanho da fonte e a cor do texto usando o tamanho da fonte() e a fillColor() métodos, respectivamente.
Por exemplo:
// Isso altera a cor do texto para vermelho e fornece um tamanho de fonte de 8
doc.fillColor('vermelho')
.tamanho da fonte(8)
.texto('Codificação é fácil!');
Adicionando imagens com o PDFKit
Para uma imagem em seu documento PDF, basta passar seu caminho para o imagem método na instância do documento:
doc.imagem('caminho/para/imagem.jpeg')
PDFKit permite que você adicione imagens em qualquer Formato JPEG ou PNG.
Por padrão, o PDFKit inserirá a imagem em seu tamanho nativo. Você pode alterar as dimensões de uma imagem fornecendo um objeto contendo pares chave-valor como um argumento para o imagem() método. Você pode especificar uma largura, altura e alinhamento horizontal e vertical.
Por exemplo:
// Especificando apenas a largura
doc.imagem('caminho/para/imagem.jpg', { largura: 300 });
// Especificando a largura e a altura
doc.imagem('caminho/para/imagem.jpg', { largura: 300, altura:200 })
Adicionando páginas com PDFKit
Para adicionar novas páginas ao documento PDF, basta chamar o adicionar Página método na instância do documento:
doc.addPage()
Para adicionar conteúdo automaticamente toda vez que você adicionar uma nova página, use o páginaAdicionada evento na instância do documento.
Por exemplo:
doc.on('página adicionada', () => doc.text("Codificação é fácil!"));
O PDFKit permite especificar as dimensões da página ao criar um novo documento ou adicionar uma nova página a uma existente. Existem vários tamanhos de página predefinidos que o Documentação em papel PDFKit explica.
Para usar qualquer um desses tamanhos de página predefinidos, passe um objeto para o Documento PDF construtor ou o adicionar Página() método. Use a propriedade size para especificar uma string que é o nome do tamanho do papel.
Por exemplo:
// construtor
const documento = novo Documento PDF({ tamanho: 'A5' });
//função addPage
doc.addPage({ tamanho: 'A7' });
Passando este objeto de opções para o Documento PDF O construtor define o tamanho de página padrão para todo o documento. Você pode sobrescrever esse padrão passando um valor diferente para o adicionar Página método.
Você pode definir as margens da página passando um objeto para o margens propriedade ao adicionar páginas.
O margens propriedade leva um objeto com superior, inferior, esquerda, e certo propriedades que representam cada margem.
Por exemplo:
// Adiciona margens diferentes em cada lado
doc.addPage({
margens: {
principal: 72,
fundo: 72,
esquerda: 50,
certo: 50
}
});
Esse código define as margens superior e inferior em 72 pontos e as margens esquerda e direita em 50 pontos. Observe que a margem padrão para documentos criados no PDFKit é uma margem de 1 polegada (72 pontos) em todos os lados.
Para definir todas as margens superior, inferior, esquerda e direita com o mesmo valor, basta passar um objeto com um margem propriedade para o adicionar Página método:
doc.addPage({ margem: 60 }) // adiciona uma margem de 60 pontos para cada lado
As vantagens de criar PDFs com PDFKit no Node.js
O PDFKit permite que você produza documentos padrão e suportados de seus aplicativos Node.js. Com o PDFKit, você pode lidar facilmente com documentos complexos. Além disso, pode facilitar a entrega de documentos aos usuários e torná-los mais simples de compartilhar e imprimir.