Skip to content

Paket Adaptation

TCPDF-Next Adaptation
Adaptation · LGPL-3.0

Paket 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

SkenarioRekomendasi
Codebase TCPDF yang ada (ratusan panggilan)Gunakan Adaptation — migrasi secara bertahap
Proyek baru dari awalGunakan Core langsung — API lebih bersih
Override Header() / Footer()Gunakan Adaptation — class non-final mendukung override
Class helper legacy yang digunakanGunakan Adaptation — menyediakan TCPDF_STATIC, TCPDF_FONTS, dll.

Instalasi

bash
composer require yeeefang/tcpdf-next-adaptation

Persyaratan: 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 LegacyPadanan TCPDF-Next
SetFont()setFont()
Cell()cell()
MultiCell()multiCell()
writeHTML()writeHtml()
Image()image()
Output()output()
SetProtection()setProtection()
setSignature()setSignature()

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 LegacyPadanan Adaptation
TCPDF_STATICYeeefang\TcpdfNext\Adaptation\TCPDF_STATIC
TCPDF_FONTSYeeefang\TcpdfNext\Adaptation\TCPDF_FONTS
TCPDF_COLORSYeeefang\TcpdfNext\Adaptation\TCPDF_COLORS
TCPDF_IMAGESYeeefang\TcpdfNext\Adaptation\TCPDF_IMAGES

Strategi Migrasi

  1. Instal paket Adaptation berdampingan dengan kode yang ada
  2. Ubah statement use dari TCPDF ke Yeeefang\TcpdfNext\Adaptation\TCPDF
  3. Jalankan test yang ada — seharusnya lulus tanpa perubahan
  4. Secara bertahap migrasi ke API fluent modern jika diperlukan
  5. Setelah sepenuhnya bermigrasi, hapus paket Adaptation dan gunakan Core langsung

Didistribusikan di bawah lisensi LGPL-3.0-or-later.