Skip to content

Guide de mise à jour

TCPDF-Next est actuellement sur la ligne de version 1.x. Cette page explique la politique de versionnement et comment rester à jour.

Versionnement sémantique

TCPDF-Next suit le Versionnement sémantique 2.0.0 :

Incrémentation de versionSignificationMise à jour sûre ?
Patch (1.0.x)Corrections de bugs, documentation, refactorisations internesOui — entièrement rétrocompatible
Mineure (1.x.0)Nouvelles fonctionnalités, ajouts non-cassantsOui — aucun changement de code existant nécessaire
Majeure (x.0.0)Changements d'API cassantsLisez d'abord le guide de migration

Durant la série 1.x, l'API publique est considérée stable. Tout changement cassant sera réservé à la prochaine version majeure et sera accompagné d'un guide de migration détaillé.

Consulter le Changelog

Avant de mettre à jour, consultez le CHANGELOG sur GitHub. Chaque version liste :

  • Added — nouvelles fonctionnalités et classes
  • Changed — modifications du comportement existant
  • Deprecated — API qui seront supprimées dans la prochaine version majeure
  • Fixed — corrections de bugs
  • Security — correctifs de vulnérabilité (mettez à jour immédiatement)

Mise à jour via Composer

bash
# Mettre à jour vers la dernière version compatible dans votre contrainte
composer update yeeefang/tcpdf-next

# Ou épingler à une version spécifique
composer require yeeefang/tcpdf-next:^1.2

Après la mise à jour, exécutez votre suite de tests pour vérifier que rien n'est cassé :

bash
composer test

Migration depuis d'autres bibliothèques

Si vous venez d'une autre bibliothèque PDF, les guides suivants vous aideront à mapper les concepts familiers à leurs équivalents TCPDF-Next :

Depuis TCPDF legacy

TCPDF-Next n'est pas un fork. C'est une réécriture complète depuis zéro avec une API entièrement nouvelle. Différences clés :

  • Les constantes de configuration statiques sont remplacées par des enums typées et des objets valeur.
  • L'état global est éliminé — chaque instance Document est autonome.
  • Toutes les classes sont readonly où possible, avec un strict declare(strict_types=1).
  • PHP 8.5+ requis (voir Pourquoi PHP 8.5 ?).

Un aide-mémoire de migration côte à côte sera publié avec la version stable 1.0.

Depuis FPDF / FPDI

Les méthodes cell/multiCell/text/write ont intentionnellement des noms similaires, donc la courbe d'apprentissage est minimale. Les principales différences sont :

  • Les paramètres nommés et les enums remplacent les flags entiers positionnels.
  • La sortie utilise l'enum OutputDestination au lieu de chaînes d'un seul caractère.
  • La gestion des polices est traitée via FontConfig plutôt que le placement manuel des fichiers.

Depuis Dompdf / wkhtmltopdf

Si vous êtes habitué à la conversion HTML-to-PDF, consultez le package Artisan, qui fournit un pipeline de rendu CSS3 complet au-dessus de TCPDF-Next Core. Pour la construction programmatique de PDF, l'approche pilotée par API décrite dans Utilisation de base sera plus performante et prévisible que la génération basée sur HTML.

Distribué sous licence LGPL-3.0-or-later.