Package Adaptation
Adaptation · LGPL-3.0Le 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énario | Recommandation |
|---|---|
| Base de code TCPDF existante (centaines d'appels) | Utiliser Adaptation — migrer incrémentalement |
| Nouveau projet depuis zéro | Utiliser Core directement — API plus propre |
Override Header() / Footer() | Utiliser Adaptation — classe non-final supporte les overrides |
| Classes helper legacy en utilisation | Utiliser Adaptation — fournit TCPDF_STATIC, TCPDF_FONTS, etc. |
Installation
bash
composer require yeeefang/tcpdf-next-adaptationPré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() |
Overrides Header / Footer
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_STATIC | Yeeefang\TcpdfNext\Adaptation\TCPDF_STATIC |
TCPDF_FONTS | Yeeefang\TcpdfNext\Adaptation\TCPDF_FONTS |
TCPDF_COLORS | Yeeefang\TcpdfNext\Adaptation\TCPDF_COLORS |
TCPDF_IMAGES | Yeeefang\TcpdfNext\Adaptation\TCPDF_IMAGES |
Stratégie de migration
- Installer le package Adaptation à côté de votre code existant
- Changer l'instruction
usedeTCPDFversYeeefang\TcpdfNext\Adaptation\TCPDF - Exécuter vos tests existants — ils devraient passer sans changements
- Migrer graduellement vers l'API fluide moderne où pratique
- Une fois entièrement migré, supprimer le package Adaptation et utiliser Core directement
