Skip to content

インストール

システム要件

要件バージョン用途
PHP^8.5Readonly クラス、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-next
bash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-laravel
bash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-symfony
bash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-artisan
bash
composer require yeeefang/tcpdf-next yeeefang/tcpdf-next-pro yeeefang/tcpdf-next-artisan yeeefang/tcpdf-next-laravel

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-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-chrome

Pro パッケージ(商用)

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-config

Symfony パッケージ

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-adaptation

TCPDF 6.2.13 のドロップイン互換アダプター — 252 のレガシーメソッドを TCPDF-Next のモダン API にマッピングします。非 final クラスによる Header() / Footer() オーバーライドと、レガシーヘルパークラス(TCPDF_STATICTCPDF_FONTSTCPDF_COLORSTCPDF_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-autoloader

Chrome(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";

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