Skip to content

Adaptation パッケージ

TCPDF-Next Adaptation
Adaptation · LGPL-3.0

Adaptation パッケージは、TCPDF 6.2.13 のドロップイン後方互換アダプターを提供します。252 のレガシーメソッドを TCPDF-Next のモダン API にマッピングし、既存の TCPDF コードベースを最小限のコード変更で移行できるようにします。

Adaptation を使用すべき場面

シナリオ推奨
既存の TCPDF コードベース(数百の呼び出し)Adaptation を使用 — 段階的に移行
ゼロから始める新規プロジェクトCore を直接使用 — よりクリーンな API
Header() / Footer() をオーバーライドしているAdaptation を使用 — 非 final クラスがオーバーライドをサポート
レガシーヘルパークラスを使用中Adaptation を使用TCPDF_STATICTCPDF_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()

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

移行戦略

  1. 既存のコードに Adaptation パッケージをインストールします
  2. use ステートメントを TCPDF から Yeeefang\TcpdfNext\Adaptation\TCPDF に変更します
  3. 既存のテストを実行します — 変更なしでパスするはずです
  4. 必要に応じて、モダンなフルエント API に段階的に移行します
  5. 完全に移行が完了したら、Adaptation パッケージを削除して Core を直接使用します

LGPL-3.0-or-later ライセンスの下で公開されています。