PDFKit pour JavaScript (Node.js) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que PDFKit et pourquoi l'utiliser ?

PDFKit est une bibliothèque JavaScript (Node.js) puissante et flexible, conçue pour créer des documents PDF par programmation, « à la volée ». Elle permet aux développeurs de générer des fichiers PDF complexes et multipages avec un contenu riche : texte, images, tableaux, graphiques vectoriels, annotations et formulaires. Contrairement à de nombreuses autres bibliothèques, PDFKit fonctionne à bas niveau, offrant un contrôle total sur chaque aspect du document, des coordonnées de placement des éléments à l'incorporation de polices.

Principaux cas d'utilisation de PDFKit :

  • Génération de rapports et de factures : Création de documents PDF dynamiques à partir de données issues d'une base de données ou d'une API.
  • Création de bons de livraison et de reçus : Génération automatique de documents pour les sites e-commerce et les systèmes comptables.
  • Réalisation de certificats et de diplômes : Génération de documents personnalisés avec des données uniques pour chaque destinataire.
  • Export de données : Conversion de pages web, tableaux ou graphiques au format PDF pour impression ou archivage.
  • Création de livres électroniques et de manuels : Mise en page programmatique de documents multipages avec table des matières et signets.

PDFKit est le choix des développeurs qui ont besoin de performance, de flexibilité et d'un contrôle total, sans dépendances externes (par exemple, sans avoir à installer LibreOffice ou wkhtmltopdf).

Installation de PDFKit

PDFKit est distribué via le gestionnaire de paquets npm. Pour l'installer, exécutez la commande suivante dans le terminal, à la racine de votre projet :

npm install pdfkit

Une fois installée, la bibliothèque est disponible pour l'importation dans votre code. Aucune dépendance supplémentaire n'est requise.

Démarrage rapide : création de votre premier document PDF

Créons un fichier PDF simple avec le texte « Bonjour, le monde ! ».

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

// Crée un nouveau document PDF
const doc = new PDFDocument();

// Définit le flux de sortie pour le résultat
doc.pipe(fs.createWriteStream('bonjour_le_monde.pdf'));

// Ajoute du texte à la page
doc.fontSize(25)
   .text('Bonjour, le monde !', 100, 100);

// Finalise le document et termine le flux
doc.end();

console.log('Le fichier PDF "bonjour_le_monde.pdf" a été créé avec succès !');

Après avoir exécuté ce code, un fichier bonjour_le_monde.pdf contenant le texte « Bonjour, le monde ! » apparaîtra dans le même dossier.

Méthodes et fonctions principales de PDFKit

PDFKit offre une API étendue. Voici 10 méthodes clés avec une description détaillée et des exemples.

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

Description : Ajoute du texte au document. C'est la méthode principale pour travailler avec le texte. Elle prend en charge le retour à la ligne, l'alignement, les retraits et la stylisation.

Paramètres :

  • text (String) — Texte à ajouter.
  • x (Number, optionnel) — Coordonnée X. Si non spécifiée, le texte continue à partir de la position actuelle.
  • y (Number, optionnel) — Coordonnée Y. Si non spécifiée, le texte continue à partir de la position actuelle.
  • options (Object, optionnel) — Objet de configuration :
    • align (String) — Alignement : 'left', 'center', 'right', 'justify'.
    • indent (Number) — Retrait de la première ligne.
    • paragraphGap (Number) — Espacement entre les paragraphes.
    • lineGap (Number) — Interligne.
    • width (Number) — Largeur du bloc de texte (pour le retour à la ligne).
    • height (Number) — Hauteur du bloc de texte.
    • underline (Boolean) — Soulignement.

Recommendations