Skip to content

アップグレードガイド

TCPDF-Next は現在 1.x リリースラインです。このページでは、バージョニングポリシーと最新版を維持する方法を説明します。

セマンティックバージョニング

TCPDF-Next は Semantic Versioning 2.0.0 に準拠しています:

バージョンバンプ意味安全にアップデート可能?
パッチ (1.0.x)バグ修正、ドキュメント、内部リファクタリングはい — 完全な後方互換性
マイナー (1.x.0)新機能、破壊的でない追加はい — 既存コードの変更は不要
メジャー (x.0.0)破壊的な API 変更最初にマイグレーションガイドを参照してください

1.x シリーズの間、パブリック API は安定しているとみなされます。破壊的な変更は次のメジャーリリースに予約され、詳細なマイグレーションガイドが付属します。

変更履歴の確認

アップグレード前に、GitHub の CHANGELOG を確認してください。各リリースには以下が記載されています:

  • Added — 新機能とクラス
  • Changed — 既存の動作の変更
  • Deprecated — 次のメジャーバージョンで削除される API
  • Fixed — バグ修正
  • Security — 脆弱性パッチ(即座にアップグレードしてください)

Composer によるアップデート

bash
# 制約内で最新の互換バージョンにアップデート
composer update yeeefang/tcpdf-next

# または特定のバージョンに固定
composer require yeeefang/tcpdf-next:^1.2

アップデート後、テストスイートを実行して問題がないことを確認してください:

bash
composer test

他のライブラリからのマイグレーション

他の PDF ライブラリから移行する場合、以下のガイドが馴染みのあるコンセプトを TCPDF-Next の対応する要素にマッピングするのに役立ちます。

レガシー TCPDF から

TCPDF-Next はフォークではありません。完全に新しい API を持つゼロからの書き直しです。主な違いは:

  • 静的な設定定数は型付き Enum と値オブジェクトに置き換えられました。
  • グローバル状態は排除されました — 各 Document インスタンスは自己完結しています。
  • すべてのクラスは可能な限り readonly であり、厳格な declare(strict_types=1) が適用されています。
  • PHP 8.5+ が必須です(なぜ PHP 8.5+ なのか? を参照)。

1.0 安定版リリースと同時に、サイドバイサイドのマイグレーションチートシートが公開される予定です。

FPDF / FPDI から

cell/multiCell/text/write メソッドは意図的に類似した名前を使用しているため、学習曲線は最小限です。主な違いは:

  • 名前付きパラメータと Enum が位置指定の整数フラグを置き換えています。
  • 出力は単一文字列の代わりに OutputDestination Enum を使用します。
  • フォント管理は手動のファイル配置ではなく FontConfig を通じて処理されます。

Dompdf / wkhtmltopdf から

HTML-to-PDF 変換に慣れている場合は、Artisan パッケージを参照してください。TCPDF-Next Core をベースとした完全な CSS3 レンダリングパイプラインを提供しています。プログラマティックな PDF 構築には、基本的な使い方 で説明されている API 駆動のアプローチが、HTML ベースの生成よりもパフォーマンスが高く予測可能です。

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