インストール
システム要件
| 要件 | バージョン | 用途 |
|---|---|---|
| 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;}"Core パッケージ
bash
composer require yeeefang/tcpdf-next依存関係: phpseclib/phpseclib ^3.0(RSASSA-PSS、ASN.1、X.509)
Artisan パッケージ(Chrome CDP)
bash
composer require yeeefang/tcpdf-nextartisan追加要件:
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-chromeLaravel パッケージ
bash
composer require yeeefang/tcpdf-nextlaravel要件: Laravel ^12.0
ServiceProvider は自動検出されます。設定ファイルを公開するには:
bash
php artisan vendor:publish --tag=tcpdf-next-configPro パッケージ(商用)
bash
composer require yeeefang/tcpdf-nextproライセンス: アプリケーションあたり $1,000 USD、メジャーバージョンごとの永久ライセンス。
追加の依存関係: phpseclib/phpseclib ^3.0 | オプション: ext-pkcs11
ライセンスキーを設定します:
bash
# .env
TCPDF_PRO_LICENSE_KEY=your-license-keyDocker セットアップ
🐳 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::create()->addPage()->setFont('Helvetica', '', 12)->cell(0, 10, 'OK');
echo "TCPDF-Next is working. Classes loaded: " . count(get_declared_classes()) . "\n";