Pacchetto Adaptation
Adaptation · LGPL-3.0Il pacchetto Adaptation fornisce un adapter drop-in retrocompatibile per TCPDF 6.2.13. Mappa 252 metodi legacy all'API moderna TCPDF-Next, permettendo alle codebase TCPDF esistenti di migrare con modifiche codice minime.
Quando Usare Adaptation
| Scenario | Raccomandazione |
|---|---|
| Codebase TCPDF esistente (centinaia chiamate) | Usa Adaptation — migra incrementalmente |
| Nuovo progetto da zero | Usa Core direttamente — API più pulita |
Override Header() / Footer() | Usa Adaptation — classe non-final supporta override |
| Classi helper legacy in uso | Usa Adaptation — fornisce TCPDF_STATIC, TCPDF_FONTS, ecc. |
Installazione
bash
composer require yeeefang/tcpdf-next-adaptationRequisiti: yeeefang/tcpdf-next ^1.7
Avvio Rapido
Sostituisci il tuo import TCPDF e il codice funziona così com'è:
php
// Prima (TCPDF legacy)
// use TCPDF;
// Dopo (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');Metodi Mappati
L'adapter mappa 252 metodi TCPDF legacy ai loro equivalenti TCPDF-Next.
Override Header / Footer
La classe adapter TCPDF è non-final, quindi puoi fare override di Header() e Footer() come 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, 'Pagina ' . $this->getAliasNumPage(), 0, 0, 'C');
}
}