Skip to content

Migrare da TCPDF

Questa guida accompagna la migrazione di un progetto esistente da TCPDF legacy (tecnickcom/tcpdf) a TCPDF-Next. TCPDF-Next è una riscrittura completa e non un sostituto drop-in, ma il processo migrazione è sistematico e ben definito.

Differenze Chiave

FunzionalitàTCPDF (Legacy)TCPDF-Next
Versione PHP5.3+8.5+
Versione PDFPDF 1.7PDF 2.0
ArchitetturaSingola classe monolitica (~27.000 righe)17 namespace modulari, 142 classi
Stile APIProcedurale, metodi PascalCaseBuilder fluent, metodi camelCase
Type safetyNessun tipodeclare(strict_types=1), enum, readonly
Analisi staticaNessunaPHPStan Level 10, zero errori
CrittografiaRC4, AES-128, AES-256Solo AES-256 (PDF 2.0 Revision 6)
FirmePKCS#7 basePAdES da B-B a B-LTA
PDF/APDF/A-1b (parziale)PDF/A-4 (ISO 19005-4 completo)

Mapping API: Metodo Vecchio a Nuovo

TCPDF LegacyTCPDF-NextNote
new TCPDF()Document::create()Builder fluent, parametri nominati
$pdf->Cell()$pdf->cell()camelCase
$pdf->MultiCell()$pdf->multiCell()camelCase
$pdf->SetFont()$pdf->setFont()camelCase
$pdf->Output('file.pdf', 'F')$pdf->save('file.pdf')Metodo esplicito

Checklist Breaking Changes

  • [ ] PHP 8.5+ richiesto — Aggiorna runtime PHP
  • [ ] Cambio namespace — Sostituisci riferimenti classe TCPDF con namespace YeeeFang\TcpdfNext\...
  • [ ] Metodi camelCaseSetFont() diventa setFont(), MultiCell() diventa multiCell()
  • [ ] Costruttore sostituitonew TCPDF(...) diventa PdfDocument::create()->...->build()
  • [ ] Formato font cambiato — Sostituisci file font binari TCPDF (.php + .z) con file TTF/OTF originali
  • [ ] Upgrade crittografia — RC4 e AES-128 sono rimossi. Migra ad AES-256
  • [ ] Array colori — Sostituisci array [255, 0, 0] con Color::rgb(255, 0, 0)

Riferimenti

Rilasciato sotto licenza LGPL-3.0-or-later.