Skip to content

Package Adaptation

TCPDF-Next Adaptation
Adaptation · LGPL-3.0

Le package Adaptation fournit un adaptateur plug-and-play rétrocompatible pour TCPDF 6.2.13. Il mappe 252 méthodes legacy vers l'API moderne de TCPDF-Next, permettant aux bases de code TCPDF existantes de migrer avec un minimum de changements de code.

Quand utiliser Adaptation

ScénarioRecommandation
Base de code TCPDF existante (centaines d'appels)Utiliser Adaptation — migrer incrémentalement
Nouveau projet depuis zéroUtiliser Core directement — API plus propre
Override Header() / Footer()Utiliser Adaptation — classe non-final supporte les overrides
Classes helper legacy en utilisationUtiliser Adaptation — fournit TCPDF_STATIC, TCPDF_FONTS, etc.

Installation

bash
composer require yeeefang/tcpdf-next-adaptation

Prérequis : yeeefang/tcpdf-next ^1.7

Démarrage rapide

Remplacez votre import TCPDF et votre code fonctionne tel quel :

php
// Avant (TCPDF legacy)
// use TCPDF;

// Après (TCPDF-Next Adaptation)
use Yeeefang\TcpdfNext\Adaptation\TCPDF;

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8');
$pdf->SetCreator('My App');
$pdf->SetAuthor('Author');
$pdf->SetTitle('Document');
$pdf->AddPage();
$pdf->SetFont('helvetica', '', 12);
$pdf->Cell(0, 10, 'Hello World', 0, 1);
$pdf->Output('/path/to/output.pdf', 'F');

Méthodes mappées

L'adaptateur mappe 252 méthodes TCPDF legacy vers leurs équivalents TCPDF-Next, incluant :

Méthode LegacyÉquivalent TCPDF-Next
SetFont()setFont()
Cell()cell()
MultiCell()multiCell()
writeHTML()writeHtml()
Image()image()
Output()output()
SetProtection()setProtection()
setSignature()setSignature()

La classe adaptateur TCPDF est non-final, donc vous pouvez override Header() et Footer() comme le TCPDF legacy :

php
class MyPdf extends TCPDF
{
    public function Header(): void
    {
        $this->SetFont('helvetica', 'B', 12);
        $this->Cell(0, 10, 'My Header', 0, 1, 'C');
    }

    public function Footer(): void
    {
        $this->SetY(-15);
        $this->SetFont('helvetica', 'I', 8);
        $this->Cell(0, 10, 'Page ' . $this->getAliasNumPage(), 0, 0, 'C');
    }
}

Classes helper legacy

Pour les bases de code qui référencent les classes helper statiques de TCPDF :

Classe LegacyÉquivalent Adaptation
TCPDF_STATICYeeefang\TcpdfNext\Adaptation\TCPDF_STATIC
TCPDF_FONTSYeeefang\TcpdfNext\Adaptation\TCPDF_FONTS
TCPDF_COLORSYeeefang\TcpdfNext\Adaptation\TCPDF_COLORS
TCPDF_IMAGESYeeefang\TcpdfNext\Adaptation\TCPDF_IMAGES

Stratégie de migration

  1. Installer le package Adaptation à côté de votre code existant
  2. Changer l'instruction use de TCPDF vers Yeeefang\TcpdfNext\Adaptation\TCPDF
  3. Exécuter vos tests existants — ils devraient passer sans changements
  4. Migrer graduellement vers l'API fluide moderne où pratique
  5. Une fois entièrement migré, supprimer le package Adaptation et utiliser Core directement

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