Adaptation パッケージ
Adaptation · LGPL-3.0Adaptation パッケージは、TCPDF 6.2.13 のドロップイン後方互換アダプターを提供します。252 のレガシーメソッドを TCPDF-Next のモダン API にマッピングし、既存の TCPDF コードベースを最小限のコード変更で移行できるようにします。
Adaptation を使用すべき場面
| シナリオ | 推奨 |
|---|---|
| 既存の TCPDF コードベース(数百の呼び出し) | Adaptation を使用 — 段階的に移行 |
| ゼロから始める新規プロジェクト | Core を直接使用 — よりクリーンな API |
Header() / Footer() をオーバーライドしている | Adaptation を使用 — 非 final クラスがオーバーライドをサポート |
| レガシーヘルパークラスを使用中 | Adaptation を使用 — TCPDF_STATIC、TCPDF_FONTS 等を提供 |
インストール
bash
composer require yeeefang/tcpdf-next-adaptation要件: yeeefang/tcpdf-next ^1.7
クイックスタート
TCPDF のインポートを置き換えるだけで、コードはそのまま動作します:
php
// 変更前(レガシー TCPDF)
// use TCPDF;
// 変更後(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');マッピングされたメソッド
アダプターは 252 のレガシー TCPDF メソッドを TCPDF-Next の同等メソッドにマッピングします。主なものは以下の通りです:
| レガシーメソッド | TCPDF-Next 同等メソッド |
|---|---|
SetFont() | setFont() |
Cell() | cell() |
MultiCell() | multiCell() |
writeHTML() | writeHtml() |
Image() | image() |
Output() | output() |
SetProtection() | setProtection() |
setSignature() | setSignature() |
Header / Footer オーバーライド
TCPDF アダプタークラスは非 final であるため、レガシー TCPDF と同様に Header() と Footer() をオーバーライドできます:
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');
}
}レガシーヘルパークラス
TCPDF の静的ヘルパークラスを参照しているコードベース向け:
| レガシークラス | 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 |
移行戦略
- 既存のコードに Adaptation パッケージをインストールします
useステートメントをTCPDFからYeeefang\TcpdfNext\Adaptation\TCPDFに変更します- 既存のテストを実行します — 変更なしでパスするはずです
- 必要に応じて、モダンなフルエント API に段階的に移行します
- 完全に移行が完了したら、Adaptation パッケージを削除して Core を直接使用します
