Paquete Adaptation
Adaptation · LGPL-3.0El paquete Adaptation proporciona un adaptador retrocompatible directo para TCPDF 6.2.13. Mapea 252 métodos legacy a la API moderna de TCPDF-Next, permitiendo que los códigos base existentes de TCPDF migren con cambios de código mínimos.
Cuándo usar Adaptation
| Escenario | Recomendación |
|---|---|
| Código base TCPDF existente (cientos de llamadas) | Usa Adaptation -- migra incrementalmente |
| Proyecto nuevo desde cero | Usa Core directamente -- API más limpia |
Sobrescribir Header() / Footer() | Usa Adaptation -- clase no final soporta sobrescrituras |
| Clases helper legacy en uso | Usa Adaptation -- proporciona TCPDF_STATIC, TCPDF_FONTS, etc. |
Instalación
bash
composer require yeeefang/tcpdf-next-adaptationRequisitos: yeeefang/tcpdf-next ^1.7
Inicio rápido
Reemplaza tu import de TCPDF y tu código funciona tal cual:
php
// Before (legacy TCPDF)
// use TCPDF;
// After (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étodos mapeados
El adaptador mapea 252 métodos legacy de TCPDF a sus equivalentes en TCPDF-Next, incluyendo:
| Método legacy | Equivalente TCPDF-Next |
|---|---|
SetFont() | setFont() |
Cell() | cell() |
MultiCell() | multiCell() |
writeHTML() | writeHtml() |
Image() | image() |
Output() | output() |
SetProtection() | setProtection() |
setSignature() | setSignature() |
Sobrescrituras de Header / Footer
La clase adaptadora TCPDF es no final, así que puedes sobrescribir Header() y Footer() igual que en 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');
}
}Clases helper legacy
Para códigos base que referencian las clases helper estáticas de TCPDF:
| Clase legacy | Equivalente en 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 |
Estrategia de migración
- Instala el paquete Adaptation junto a tu código existente
- Cambia la declaración
usedeTCPDFaYeeefang\TcpdfNext\Adaptation\TCPDF - Ejecuta tus tests existentes -- deberían pasar sin cambios
- Migra gradualmente a la API fluent moderna donde sea conveniente
- Una vez completamente migrado, elimina el paquete Adaptation y usa Core directamente
