インストール
システム要件
| 要件 | バージョン | 用途 |
|---|---|---|
| PHP | ^8.5 | Readonly クラス、Backed Enum、パイプオペレーター、#[\SensitiveParameter] |
| ext-openssl | * | AES-256 暗号化、PKCS#7 署名、OCSP/TSA リクエスト |
| ext-zlib | * | PDF ストリームの Flate 圧縮 |
| ext-mbstring | * | Unicode 文字列処理 |
| ext-gd | * | 画像処理(JPEG、PNG、WebP、AVIF) |
| ext-curl | * | OCSP レスポンダおよび TSA サーバーへの HTTP リクエスト |
| ext-intl | * | ICU 行分割およびロケール対応のフォーマット |
すべての拡張機能を検証します:
bash
php -r "foreach(['openssl','zlib','mbstring','gd','curl','intl'] as \$e){echo \$e.': '.(extension_loaded(\$e)?'OK':'MISSING').PHP_EOL;}"クイックインストール
bash
composer require yeeefang/tcpdf-nextbash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-laravelbash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-symfonybash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-artisanbash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-pro yeeefang/tcpdf-next-artisan yeeefang/tcpdf-next-laravelCore パッケージ
bash
composer require yeeefang/tcpdf-next依存関係: phpseclib/phpseclib ^3.0(RSASSA-PSS、ASN.1、X.509)
機能拡張
Artisan パッケージ(Chrome CDP)
bash
composer require yeeefang/tcpdf-next-artisan追加要件:
chrome-php/chrome ^1.15- システムに Chrome または Chromium ブラウザがインストールされていること
bash
# Ubuntu/Debian
apt-get install chromium-browser
# macOS
brew install --cask chromium
# または環境変数を使用
export CHROME_PATH=/usr/bin/google-chromePro パッケージ(商用)
bash
composer require yeeefang/tcpdf-next-proライセンス: アプリケーションあたり $1,000 USD、メジャーバージョンごとの永久ライセンス。
追加の依存関係: phpseclib/phpseclib ^3.0 | オプション: ext-pkcs11
ライセンスキーを設定します:
bash
# .env
TCPDF_PRO_LICENSE_KEY=your-license-keyフレームワーク統合
Laravel パッケージ
bash
composer require yeeefang/tcpdf-next-laravel要件: Laravel ^12.0
ServiceProvider は自動検出されます。設定ファイルを公開するには:
bash
php artisan vendor:publish --tag=tcpdf-next-configSymfony パッケージ
bash
composer require yeeefang/tcpdf-next-symfony要件: Symfony ^7.0
Bundle は自動設定されます。手動で登録する場合:
php
// config/bundles.php
return [
// ...
Yeeefang\TcpdfNext\Symfony\TcpdfNextBundle::class => ['all' => true],
];CodeIgniter パッケージ
bash
composer require yeeefang/tcpdf-next-codeigniter要件: CodeIgniter ^4.0
app/Config/Services.php にサービスを登録するか、自動検出を使用してください。
互換性
Adaptation パッケージ(TCPDF 移行)
bash
composer require yeeefang/tcpdf-next-adaptationTCPDF 6.2.13 のドロップイン互換アダプター — 252 のレガシーメソッドを TCPDF-Next のモダン API にマッピングします。非 final クラスによる Header() / Footer() オーバーライドと、レガシーヘルパークラス(TCPDF_STATIC、TCPDF_FONTS、TCPDF_COLORS、TCPDF_IMAGES)をサポートしています。
Docker セットアップ
🐳 Docker for Legacy PHP Environments
本番サーバーが PHP < 8.5 の場合、Docker を使用して TCPDF-Next を分離してください。
dockerfile
FROM php:8.5-cli
RUN apt-get update && apt-get install -y \
libicu-dev libpng-dev libjpeg-dev libwebp-dev libzip-dev \
&& docker-php-ext-configure gd --with-jpeg --with-webp \
&& docker-php-ext-install gd intl zip
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
COPY . /app
WORKDIR /app
RUN composer install --no-dev --optimize-autoloaderChrome(Artisan パッケージ)の場合:
dockerfile
FROM php:8.5-cli
RUN apt-get update && apt-get install -y \
libicu-dev libpng-dev libjpeg-dev libwebp-dev chromium \
&& docker-php-ext-configure gd --with-jpeg --with-webp \
&& docker-php-ext-install gd intl
ENV CHROME_PATH=/usr/bin/chromium
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
COPY . /app
WORKDIR /app
RUN composer install --no-dev --optimize-autoloaderインストールの検証
php
<?php
require 'vendor/autoload.php';
use Yeeefang\TcpdfNext\Core\Document;
$pdf = Document::createStandalone()->addPage()->setFont('Helvetica', '', 12)->cell(0, 10, 'OK');
echo "TCPDF-Next is working. Classes loaded: " . count(get_declared_classes()) . "\n";