Skip to content

比較・デプロイガイド

どのパッケージが必要かわからない場合は、以下のインタラクティブウィザードを使用するか、デプロイシナリオとデシジョンマトリクスを参照して、最適なセットアップを見つけてください。

最適なセットアップを見つける

1
プロジェクトタイプ
2
PHPバージョン
3
フレームワーク
4
HTML→PDF
5
Pro機能

プロジェクトタイプ

セットアップを生成

セットアップジェネレーター

パッケージとオプションを選択して、すぐに使える設定ファイルを生成します。

Core は常に含まれます

ベースイメージ
composer require yeeefang/tcpdf-next

デプロイシナリオ

ホスティング環境によって利用できる機能が異なります。各環境に最適な構成は以下の通りです:

🏠

共有ホスティング

パフォーマンス
推奨パッケージ
Core Core

PHPアクセス制限あり。Coreのみ、基本フォント。Chrome/RoadRunner不可。

🖥

VPS (PHP-FPM)

パフォーマンス
推奨パッケージ
Core CoreArtisan ArtisanLaravel Laravel

フルサーバー制御。Chrome導入でHTML→PDF対応。ほとんどのアプリに最適。

🖥

VPS + RoadRunner

RoadRunner
パフォーマンス
推奨パッケージ
Core CoreArtisan ArtisanLaravel Laravel

常駐ワーカーでコールドスタート排除。スループット3-7倍向上。

専用サーバー

パフォーマンス
推奨パッケージ
Core CoreArtisan ArtisanPro ProLaravel Laravel

完全なリソース。Pro機能(PAdES、PDF/A-4、HSM)に最適。

専用サーバー + RoadRunner

RoadRunner
パフォーマンス
推奨パッケージ
Core CoreArtisan ArtisanPro ProLaravel Laravel

最大スループット。4ワーカーで9,000+ docs/s。

Kubernetes / Docker

RoadRunner
パフォーマンス
推奨パッケージ
Core CoreArtisan ArtisanPro ProSymfony Symfony

水平スケーリング。RoadRunnerをワーカープロセスとして使用。本番グレード。

パフォーマンス:標準 PHP-FPM vs RoadRunner

RoadRunner は PHP アプリケーションを永続ワーカーとしてメモリ上に保持し、コールドスタートを排除してスループットを大幅に向上させます。

標準 PHP-FPM vs RoadRunner

▲ 高い方が良い
PHP-FPM RoadRunner
シンプルドキュメント
390 docs/s
2,605 docs/s
6.7x 高速
インボイス
294 docs/s
1,960 docs/s
6.7x 高速
100ページレポート
14 docs/s
98 docs/s
7.0x 高速
4 Workers
1,500 docs/s
9,221 docs/s
6.1x 高速

PHP 8.5.3 + OPcache + JIT · Docker 4 CPUs / 16 GB · i9-13900K · 20回の中央値

RoadRunner を使用すべきタイミング

高スループット(毎分数百の PDF)や低レイテンシー(サブミリ秒の応答時間)が必要な場合は、RoadRunner の使用を推奨します。リクエストごとに少数の PDF を生成する一般的な Web アプリケーションでは、標準の PHP-FPM で十分です。

ユースケースデシジョンマトリクス

特定のユースケースに対して、どのパッケージをインストールすべきでしょうか?

\u{2705} 推奨\u{26AA} オプション 該当なし
ユースケースCore CoreArtisan ArtisanPro ProLaravel LaravelSymfony SymfonyCI4 CI4Adaptation Adaptation
インボイス・レポート生成
ECサイト(HTML→PDF)
アクセシブル文書(PDF/UA)
デジタル署名(PAdES)
レガシーTCPDF移行
高スループットAPI
アーカイブ準拠(PDF/A-4)
バーコード多用文書

パッケージの互換性

ほとんどのパッケージはシームレスに連携できますが、1つだけ例外があります:

組み合わせ互換性備考
Core + 任意のパッケージありCore は常に必須です
Artisan + 任意のフレームワークありChrome CDP はすべてのフレームワークで動作します
Pro + Laravel/Symfony/CIありどのフレームワークでも完全なエンタープライズ機能を利用可能
Pro + AdaptationなしAdaptation はレガシー TCPDF API をラップします。Pro はモダンな TCPDF-Next API を拡張します。どちらか一方を選択してください。
Adaptation + フレームワークありAdaptation を使用してフレームワーク内でレガシーコードを移行

CJK とフォントに関する注意事項

組み込みの Basic 14 フォント(Helvetica、Times、Courier など)はラテン文字のみをサポートしています。ドキュメントに中国語、日本語、または韓国語のテキストが必要な場合は、以下の対応が必要です:

  1. TrueType フォントを埋め込むsetFont() で必要な文字セットをサポートする TTF フォントを指定します
  2. フォントパスを設定するTCPDF_FONTS_DIR 環境変数を設定するか、設定 API を使用します
  3. ファイルサイズを考慮する — CJK フォントは通常 1 つあたり 5〜15 MB です。フォントサブセッティングを使用して PDF サイズを削減してください
php
// 例:CJK フォントの使用
$pdf = Document::createStandalone()
    ->addPage()
    ->setFont('/path/to/NotoSansCJK-Regular.ttf', '', 12)
    ->cell(0, 10, '你好世界 こんにちは 안녕하세요');

推奨 CJK フォント

  • Noto Sans CJK — Google のオープンソース CJK フォントファミリー(無料)
  • Source Han Sans — Adobe の同等製品(無料)
  • どちらも単一のフォントファイルで簡体字中国語、繁体字中国語、日本語、韓国語をサポートしています。

共有ホスティングの制限事項

共有ホスティングでは、通常以下のことができません:

  • Chrome/Chromium のインストール(Artisan パッケージは使用不可)
  • 長時間実行プロセスの起動(RoadRunner は使用不可)
  • PHP 拡張のインストール(提供されているものに限定)

共有ホスティングの推奨セットアップ:

bash
composer require yeeefang/tcpdf-next

基本的な HTML から PDF への変換には、Core のみと組み込みの HTML パーサーを使用してください。ピクセル単位で正確な HTML レンダリングが必要な場合は、VPS へのアップグレードを検討してください。

次のステップ

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