安装
系统需求
| 需求 | 版本 | 用途 |
|---|---|---|
| PHP | ^8.5 | 只读类、枚举、属性钩子、#[\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-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::create()->addPage()->setFont('Helvetica', '', 12)->cell(0, 10, 'OK');
echo "TCPDF-Next is working. Classes loaded: " . count(get_declared_classes()) . "\n";