Pacote Adaptation
Adaptation · LGPL-3.0O pacote Adaptation fornece um adaptador retrocompatível drop-in para o TCPDF 6.2.13. Ele mapeia 252 métodos legados para a API moderna do TCPDF-Next, permitindo que codebases TCPDF existentes migrem com alterações mínimas de código.
Quando Usar o Adaptation
| Cenário | Recomendação |
|---|---|
| Codebase TCPDF existente (centenas de chamadas) | Use Adaptation -- migre incrementalmente |
| Novo projeto começando do zero | Use Core diretamente -- API mais limpa |
Sobrescrevendo Header() / Footer() | Use Adaptation -- classe non-final suporta overrides |
| Classes helper legadas em uso | Use Adaptation -- fornece TCPDF_STATIC, TCPDF_FONTS, etc. |
Instalação
bash
composer require yeeefang/tcpdf-next-adaptationRequisitos: yeeefang/tcpdf-next ^1.7
Início Rápido
Substitua seu import do TCPDF e seu código funciona como está:
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
O adaptador mapeia 252 métodos legados do TCPDF para seus equivalentes no TCPDF-Next, incluindo:
| Método Legado | Equivalente TCPDF-Next |
|---|---|
SetFont() | setFont() |
Cell() | cell() |
MultiCell() | multiCell() |
writeHTML() | writeHtml() |
Image() | image() |
Output() | output() |
SetProtection() | setProtection() |
setSignature() | setSignature() |
Overrides de Header / Footer
A classe adaptadora TCPDF é non-final, então você pode sobrescrever Header() e Footer() assim como no TCPDF legado:
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 Legadas
Para codebases que referenciam as classes helper estáticas do TCPDF:
| Classe Legada | Equivalente 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 |
Estratégia de Migração
- Instale o pacote Adaptation junto com seu código existente
- Altere o
usestatement deTCPDFparaYeeefang\TcpdfNext\Adaptation\TCPDF - Execute seus testes existentes -- eles devem passar sem alterações
- Migre gradualmente para a API fluente moderna onde for conveniente
- Uma vez totalmente migrado, remova o pacote Adaptation e use o Core diretamente
