Установка
Системные требования
| Требование | Версия | Назначение |
|---|---|---|
| PHP | ^8.5 | Readonly-классы, backed enum-ы, pipe-оператор, #[\SensitiveParameter] |
| ext-openssl | * | AES-256 шифрование, PKCS#7 подписи, OCSP/TSA запросы |
| ext-zlib | * | Flate-сжатие для PDF-потоков |
| ext-mbstring | * | Обработка Unicode-строк |
| ext-gd | * | Обработка изображений (JPEG, PNG, WebP, AVIF) |
| ext-curl | * | HTTP-запросы к OCSP-серверам и TSA-серверам |
| ext-intl | * | ICU-разбиение строк и локалезависимое форматирование |
Проверьте все расширения:
php -r "foreach(['openssl','zlib','mbstring','gd','curl','intl'] as \$e){echo \$e.': '.(extension_loaded(\$e)?'OK':'MISSING').PHP_EOL;}"Быстрая установка
composer require yeeefang/tcpdf-nextcomposer require yeeefang/tcpdf-next yeeefang/tcpdf-next-laravelcomposer require yeeefang/tcpdf-next yeeefang/tcpdf-next-symfonycomposer require yeeefang/tcpdf-next yeeefang/tcpdf-next-artisancomposer require yeeefang/tcpdf-next yeeefang/tcpdf-next-pro yeeefang/tcpdf-next-artisan yeeefang/tcpdf-next-laravelПакет Core
composer require yeeefang/tcpdf-nextЗависимости: phpseclib/phpseclib ^3.0 (RSASSA-PSS, ASN.1, X.509)
Функциональные расширения
Пакет Artisan (Chrome CDP)
composer require yeeefang/tcpdf-next-artisanДополнительные требования:
chrome-php/chrome ^1.15- Chrome или Chromium, установленный в системе
# Ubuntu/Debian
apt-get install chromium-browser
# macOS
brew install --cask chromium
# Или используйте переменную окружения
export CHROME_PATH=/usr/bin/google-chromeПакет Pro (коммерческий)
composer require yeeefang/tcpdf-next-proЛицензия: $1,000 USD за приложение, бессрочная для каждой мажорной версии.
Дополнительные зависимости: phpseclib/phpseclib ^3.0 | Опционально: ext-pkcs11
Установите ваш лицензионный ключ:
# .env
TCPDF_PRO_LICENSE_KEY=your-license-keyИнтеграции с фреймворками
Пакет Laravel
composer require yeeefang/tcpdf-next-laravelТребования: Laravel ^12.0
ServiceProvider обнаруживается автоматически. Опубликуйте конфигурацию:
php artisan vendor:publish --tag=tcpdf-next-configПакет Symfony
composer require yeeefang/tcpdf-next-symfonyТребования: Symfony ^7.0
Bundle конфигурируется автоматически. При необходимости зарегистрируйте вручную:
// config/bundles.php
return [
// ...
Yeeefang\TcpdfNext\Symfony\TcpdfNextBundle::class => ['all' => true],
];Пакет CodeIgniter
composer require yeeefang/tcpdf-next-codeigniterТребования: CodeIgniter ^4.0
Зарегистрируйте сервис в app/Config/Services.php или используйте автообнаружение.
Совместимость
Пакет Adaptation (миграция с TCPDF)
composer require yeeefang/tcpdf-next-adaptationАдаптер для TCPDF 6.2.13, обеспечивающий прозрачную замену — отображает 252 устаревших метода на современный API TCPDF-Next. Поддерживает переопределение Header() / Footer() через не-final класс и устаревшие вспомогательные классы (TCPDF_STATIC, TCPDF_FONTS, TCPDF_COLORS, TCPDF_IMAGES).
Настройка Docker
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):
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
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";