NextPDF compat-legacy のインストール手順
nextpdf/compat-legacy は Composer ライブラリです。PHP 8.4 以降と nextpdf/core ^3.0 が必要です。インストールしても、既存の TCPDF 呼び出しは変更されません。切り替え先となるクラスが追加されるだけです。
| 依存関係 | バージョン | 正規の情報源 |
|---|---|---|
| PHP | >=8.4 <9.0 | パッケージの composer.jsonrequire.php |
nextpdf/core | ^3.0 | パッケージの composer.jsonrequire |
| Composer | 2.7 以降 | ツールチェーンの基準 |
このパッケージは、ベースラインなしで PHPStan Level 10 を宣言しており、独自のテストスイートを同梱しています。実行時には PHP 8.4 が必要です。NextPDF エンジン全体はバックポートライン経由で PHP 8.1 から 8.4 までをサポートしますが、このアダプターは PHP 8.4 を下限として固定します。
インストール
「インストール」という見出しのセクションComposer でパッケージを追加します。
composer require nextpdf/compat-legacy:^3.0Composer は nextpdf/core ^3.0 を推移的依存関係として解決します。コア機能セットでは、他の実行時拡張は必要ありません。
パッケージのメタデータは、Composer の
replaceエントリを通じて、 従来の名前であるnextpdf/compat-tcpdfにも応答します。新規のインストールではnextpdf/compat-legacyを require してください。これが正規のパッケージ名です。
インストールの検証
「インストールの検証」という見出しのセクションインストール後、アダプタークラスが読み込まれ、エンジンとのリンクが解決されることを確認します。次のチェックは、メモリ上だけで 1 ページの PDF を生成し、PDF ヘッダーをアサートします。これは、パッケージのテスト tests/Unit/Compat/Tcpdf/TcpdfOutputTest.php がアサートしているのと同じ観点です。
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Compat\Tcpdf\TCPDF;
$pdf = new TCPDF('P', 'mm', 'A4');$pdf->AddPage();$pdf->SetFont('helvetica', '', 12);$pdf->Cell(0, 10, 'compat-legacy install verified');
$bytes = $pdf->Output('verify.pdf', 'S');
if (! str_starts_with($bytes, '%PDF')) { fwrite(STDERR, "Install check failed: output is not a PDF.\n"); exit(1);}
echo "OK: adapter loaded, engine linked, PDF produced (" . strlen($bytes) . " bytes).\n";これを実行します。
php examples/install-verify.php期待される出力は、単一の OK: 行です。返された文字列の %PDF プレフィックスにより、アダプターが NextPDF\Core\Document を構築し、ページとテキストの呼び出しを委譲して、有効な PDF 2.0 出力をシリアライズしたことを確認できます。
エンジンバージョンの検証
「エンジンバージョンの検証」という見出しのセクションアダプターには nextpdf/core ^3.0 が必要です。解決されたバージョンを確認します。
composer show nextpdf/core --format=jsonComposer が ^3.0 の範囲外のコアバージョンを解決した場合、アダプターは誤った出力を生成するのではなく、構築時に早期に失敗します。プロジェクトがエンジンに直接依存している場合は、composer.json でエンジンを明示的に固定してください。
オプション: グローバルクラスエイリアス
「オプション: グローバルクラスエイリアス」という見出しのセクションコードベースがグローバル名前空間の new \TCPDF(...) を呼び出しており、それらの use/require 行をまだ変更できない場合、パッケージはグローバルエイリアスを登録できます。これはオプトインであり、/integrations/tcpdf-compat/boot-and-discovery/. で説明されています。同じプロセスに本物の TCPDF ライブラリがインストールされている場合は、これを有効にしないでください。競合回避ルールについては /integrations/tcpdf-compat/troubleshooting/ を参照してください。
インストールで行われないこと
「インストールで行われないこと」という見出しのセクション- 既存の TCPDF 依存関係を変更したり削除したりすることはありません。
tecnickcom/tcpdfの削除は、/integrations/tcpdf-compat/migration/. における意図的な後続ステップです。 - デジタル署名や PDF/A を有効にすることはありません。これらには商用版の NextPDF エディションが必要です(/integrations/tcpdf-compat/security-and-operations/ を参照)。
- PDF 出力のターゲットを変更することはありません。出力は常に PDF 2.0 です。
次のステップ
「次のステップ」という見出しのセクション- /integrations/tcpdf-compat/quickstart/ — 最初の実際のドキュメントを生成します。
- /integrations/tcpdf-compat/configuration/ — 厳格モードとアダプターの設定。
- /integrations/tcpdf-compat/migration/ — ファイル単位の移行戦略。
- /integrations/tcpdf-compat/method-coverage/ — 各 TCPDF メソッドがこの互換レイヤーでどう動作するかの詳細。
- パッケージの
composer.json— 正規の依存関係制約 docs/TCPDF_COVERAGE.md— 正規のカバレッジマトリクス(リポジトリ内)