Comment créer des PDF dans Node.js à l’aide de PDFKit

Comment créer des PDF dans Node.js à l’aide de PDFKit

PDFKit est une bibliothèque Node.js qui permet aux développeurs de créer et de travailler facilement avec des fichiers PDF. Il offre une API simple mais efficace pour produire des PDF et leur ajouter différents types de contenu, tels que du texte, des images et des formes.

Apprenez à utiliser PDF Kit pour créer des PDF dans Node.js.

Configuration de PDFkit

Vous devez avoir Node.js et npm (le gestionnaire de packages Node.js) installés sur votre machine pour suivre.

Assurez-vous que ces outils sont installés en exécutant les commandes de terminal suivantes :

node -v
npm -v

Pour commencer à utiliser PDFKit dans votre projet Node.js, installez-le en exécutant la commande npm suivante :

npm install pdfkit

Cette commande installera PDFKit et l’ajoutera aux dépendances de votre projet.

Créer un document PDF avec PDFKit

Pour créer un document PDF à l’aide de PDFKit, exigez le package pdfkit et le module fs (système de fichiers) dans votre fichier de script :

const PDFDocument = require('pdfkit');
const fs = require('fs');

Ensuite, créez une nouvelle instance de la classe PDFDocument . Cette classe représente un fichier PDF :

const doc = new PDFDocument();

L’instance créée est un flux lisible, ce qui signifie que vous pouvez utiliser la méthode pipe() pour enregistrer son contenu dans un fichier.

Pour ce faire, dirigez l’ instance doc vers un flux inscriptible créé par fs.createWriteStream :

doc.pipe(fs.createWriteStream('MyPDFDoc.pdf'));

La méthode createWriteStream enregistre le contenu d’un fichier PDF à un emplacement spécifié sur le système de fichiers local.

Le bloc de code ci-dessus enregistrera le fichier PDF résultant dans votre répertoire de travail actuel, sous le nom MyPDFDoc.pdf .

Il est important de toujours mettre fin au flux après avoir ajouté du contenu au PDF. Vous pouvez le faire en utilisant cette commande :

doc.end();

Exécutez maintenant la commande node node [nom du script] pour créer le fichier PDF MyPDFDoc.pdf dans votre répertoire de travail actuel.

Ajouter du texte avec PDFKit

Avant de diriger votre document pour l’enregistrer, vous pouvez apporter diverses modifications. PDFKit simplifie l’ajout de texte aux documents et inclut de nombreuses options pour personnaliser l’affichage de la sortie.

Pour ajouter du texte au document, appelez simplement la méthode text() et passez le texte que vous souhaitez ajouter en argument :

doc.text("Coding is Easy!")

Lorsque PDFKIT ajoute du texte au document, il garde une trace des positions X et Y actuelles de ce texte. Ainsi, chaque fois que vous appelez la méthode de texte, PDFKit ajoutera une nouvelle ligne sous la précédente.

Cependant, en fournissant les coordonnées X et Y à la méthode de texte après le texte lui-même, vous pouvez modifier sa position :

doc.text('Coding is Easy!', 100, 100)

Pour monter ou descendre d’une ligne, appelez la méthode moveDown ou moveUp avec le nombre de lignes que le texte doit déplacer :

doc.moveDown(3);

doc.moveUp();

Par défaut, appeler l’une ou l’autre méthode sans passer d’argument la fera se déplacer d’une seule ligne.

PDFKit prend en charge chacune des 14 polices standard définies par le format PDF. La documentation textuelle de PDFKit contient une liste complète de ces polices standard.

Utilisez la méthode font() pour spécifier la police requise. Transmettez simplement le nom de la police correspondante sous forme de chaîne :

doc.font('Times-Roman')
   .text('Coding is Easy!');

Vous pouvez également modifier la taille de la police et la couleur du texte à l’aide des méthodes fontSize() et fillColor() , respectivement.

Par example:

// This changes the text color to red and gives it a font size of 8
doc.fillColor('red')
   .fontSize(8)
   .text('Coding is Easy!');

Ajout d’images avec PDFKit

Pour ajouter une image à votre document PDF, transmettez simplement son chemin à la méthode image sur l’instance de document :

doc.image('path/to/image.jpeg')

PDFKit vous permet d’ajouter des images au format JPEG ou PNG.

Par défaut, PDFKit insère l’image à sa taille native. Vous pouvez modifier les dimensions d’une image en fournissant un objet contenant des paires clé-valeur comme argument à la méthode image() . Vous pouvez spécifier une largeur, une hauteur et un alignement horizontal et vertical.

Par example:

// Specifying the width alone
doc.image('path/to/image.jpg', { width: 300 });

// Specifying both the width and height
doc.image('path/to/image.jpg', { width: 300, height:200 })

Ajouter des pages avec PDFKit

Pour ajouter de nouvelles pages au document PDF, appelez simplement la méthode addPage sur l’instance de document :

doc.addPage()

Pour ajouter automatiquement du contenu chaque fois que vous ajoutez une nouvelle page, utilisez l’ événement pageAdded sur l’instance de document.

Par example:

doc.on('pageAdded', () => doc.text("Coding is Easy!"));

PDFKit vous permet de spécifier les dimensions de la page lors de la création d’un nouveau document ou de l’ajout d’une nouvelle page à une page existante. Il existe plusieurs tailles de page prédéfinies expliquées dans la documentation papier de PDFKit .

Pour utiliser l’une de ces tailles de page prédéfinies, transmettez un objet au constructeur PDFDocument ou à la méthode addPage() . Utilisez la propriété size pour spécifier une chaîne qui est le nom de la taille du papier.

Par example:

// constructor
const doc = new PDFDocument({ size: 'A5' });

// addPage function
doc.addPage({ size: 'A7' });

Passer cet objet d’options au constructeur PDFDocument définit la taille de page par défaut pour l’ensemble du document. Vous pouvez ensuite remplacer cette valeur par défaut en transmettant une valeur différente à la méthode addPage .

Vous pouvez définir des marges de page en transmettant un objet à la propriété margins lors de l’ajout de pages.

La propriété margins prend un objet avec les propriétés top, bottom, left et right représentant chaque marge.

Par example:

// Add different margins on each side
doc.addPage({
  margins: {
    top: 72,
    bottom: 72,
    left: 50,
    right: 50
  }
});

Ce code définit les marges supérieure et inférieure à 72 points et les marges gauche et droite à 50 points. Notez que la marge par défaut pour les documents créés avec PDFKit est une marge de 1 pouce (72 points) sur tous les côtés.

Pour définir toutes les marges du haut, du bas, de gauche et de droite sur la même valeur, passez simplement un objet avec une propriété margin à la méthode addPage :

doc.addPage({ margin: 60 }) // add a 60 point margin to each side

Les avantages de créer des PDF avec PDFKit dans Node.js

PDFKit vous permet de produire des documents standards et pris en charge à partir de vos applications Node.js. Avec PDFKit, vous pouvez facilement gérer des documents complexes. De plus, cela peut faciliter la livraison de documents aux utilisateurs et les rendre plus simples à partager et à imprimer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *