Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

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:

instagram viewer
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.