Paket Adaptation
Adaptation · LGPL-3.0Paket Adaptation menyediakan adapter backward-compatible drop-in untuk TCPDF 6.2.13. Paket ini memetakan 252 method legacy ke API modern TCPDF-Next, memungkinkan codebase TCPDF yang ada untuk bermigrasi dengan perubahan kode minimal.
Kapan Menggunakan Adaptation
| Skenario | Rekomendasi |
|---|---|
| Codebase TCPDF yang ada (ratusan panggilan) | Gunakan Adaptation — migrasi secara bertahap |
| Proyek baru dari awal | Gunakan Core langsung — API lebih bersih |
Override Header() / Footer() | Gunakan Adaptation — class non-final mendukung override |
| Class helper legacy yang digunakan | Gunakan Adaptation — menyediakan TCPDF_STATIC, TCPDF_FONTS, dll. |
Instalasi
bash
composer require yeeefang/tcpdf-next-adaptationPersyaratan: yeeefang/tcpdf-next ^1.7
Quick Start
Ganti import TCPDF Anda dan kode Anda berjalan apa adanya:
php
// Sebelum (legacy TCPDF)
// use TCPDF;
// Sesudah (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');Method yang Dipetakan
Adapter memetakan 252 method legacy TCPDF ke padanan TCPDF-Next mereka, termasuk:
| Method Legacy | Padanan TCPDF-Next |
|---|---|
SetFont() | setFont() |
Cell() | cell() |
MultiCell() | multiCell() |
writeHTML() | writeHtml() |
Image() | image() |
Output() | output() |
SetProtection() | setProtection() |
setSignature() | setSignature() |
Override Header / Footer
Class adapter TCPDF adalah non-final, sehingga Anda bisa meng-override Header() dan Footer() sama seperti legacy TCPDF:
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');
}
}Class Helper Legacy
Untuk codebase yang mereferensikan class helper statis TCPDF:
| Class Legacy | Padanan 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 |
Strategi Migrasi
- Instal paket Adaptation berdampingan dengan kode yang ada
- Ubah statement
usedariTCPDFkeYeeefang\TcpdfNext\Adaptation\TCPDF - Jalankan test yang ada — seharusnya lulus tanpa perubahan
- Secara bertahap migrasi ke API fluent modern jika diperlukan
- Setelah sepenuhnya bermigrasi, hapus paket Adaptation dan gunakan Core langsung
