Instalação
Requisitos do Sistema
| Requisito | Versão | Finalidade |
|---|---|---|
| PHP | ^8.5 | Classes readonly, backed enums, operador pipe, #[\SensitiveParameter] |
| ext-openssl | * | Criptografia AES-256, assinaturas PKCS#7, requisições OCSP/TSA |
| ext-zlib | * | Compressão Flate para streams PDF |
| ext-mbstring | * | Manipulação de strings Unicode |
| ext-gd | * | Processamento de imagens (JPEG, PNG, WebP, AVIF) |
| ext-curl | * | Requisições HTTP para respondedores OCSP e servidores TSA |
| ext-intl | * | Quebra de linha ICU e formatação sensível a localidade |
Verifique todas as extensões:
php -r "foreach(['openssl','zlib','mbstring','gd','curl','intl'] as \$e){echo \$e.': '.(extension_loaded(\$e)?'OK':'MISSING').PHP_EOL;}"Instalação Rápida
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-laravelPacote Core
composer require yeeefang/tcpdf-nextDependências: phpseclib/phpseclib ^3.0 (RSASSA-PSS, ASN.1, X.509)
Extensões Funcionais
Pacote Artisan (Chrome CDP)
composer require yeeefang/tcpdf-next-artisanRequisitos adicionais:
chrome-php/chrome ^1.15- Navegador Chrome ou Chromium instalado no sistema
# Ubuntu/Debian
apt-get install chromium-browser
# macOS
brew install --cask chromium
# Ou use variável de ambiente
export CHROME_PATH=/usr/bin/google-chromePacote Pro (Comercial)
composer require yeeefang/tcpdf-next-proLicença: $1.000 USD por aplicação, perpétua por versão major.
Dependências adicionais: phpseclib/phpseclib ^3.0 | Opcional: ext-pkcs11
Defina sua chave de licença:
# .env
TCPDF_PRO_LICENSE_KEY=your-license-keyIntegrações com Frameworks
Pacote Laravel
composer require yeeefang/tcpdf-next-laravelRequisitos: Laravel ^12.0
O ServiceProvider é auto-descoberto. Publique a configuração:
php artisan vendor:publish --tag=tcpdf-next-configPacote Symfony
composer require yeeefang/tcpdf-next-symfonyRequisitos: Symfony ^7.0
O Bundle é auto-configurado. Registre manualmente se necessário:
// config/bundles.php
return [
// ...
Yeeefang\TcpdfNext\Symfony\TcpdfNextBundle::class => ['all' => true],
];Pacote CodeIgniter
composer require yeeefang/tcpdf-next-codeigniterRequisitos: CodeIgniter ^4.0
Registre o serviço no seu app/Config/Services.php ou use auto-discovery.
Compatibilidade
Pacote Adaptation (Migração TCPDF)
composer require yeeefang/tcpdf-next-adaptationAdaptador de substituição direta para TCPDF 6.2.13 — mapeia 252 métodos legados para a API moderna do TCPDF-Next. Suporta overrides de Header() / Footer() via classe não-final e classes auxiliares legadas (TCPDF_STATIC, TCPDF_FONTS, TCPDF_COLORS, TCPDF_IMAGES).
Configuração 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-autoloaderPara Chrome (pacote 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-autoloaderVerificar Instalação
<?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";