Skip to content

Instalação

Requisitos do Sistema

RequisitoVersãoFinalidade
PHP^8.5Classes 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:

bash
php -r "foreach(['openssl','zlib','mbstring','gd','curl','intl'] as \$e){echo \$e.': '.(extension_loaded(\$e)?'OK':'MISSING').PHP_EOL;}"

Instalação Rápida

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

Pacote Core

bash
composer require yeeefang/tcpdf-next

Dependências: phpseclib/phpseclib ^3.0 (RSASSA-PSS, ASN.1, X.509)

Extensões Funcionais

Pacote Artisan (Chrome CDP)

bash
composer require yeeefang/tcpdf-next-artisan

Requisitos adicionais:

  • chrome-php/chrome ^1.15
  • Navegador Chrome ou Chromium instalado no sistema
bash
# Ubuntu/Debian
apt-get install chromium-browser

# macOS
brew install --cask chromium

# Ou use variável de ambiente
export CHROME_PATH=/usr/bin/google-chrome

Pacote Pro (Comercial)

bash
composer require yeeefang/tcpdf-next-pro

Licenç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:

bash
# .env
TCPDF_PRO_LICENSE_KEY=your-license-key

Integrações com Frameworks

Pacote Laravel

bash
composer require yeeefang/tcpdf-next-laravel

Requisitos: Laravel ^12.0

O ServiceProvider é auto-descoberto. Publique a configuração:

bash
php artisan vendor:publish --tag=tcpdf-next-config

Pacote Symfony

bash
composer require yeeefang/tcpdf-next-symfony

Requisitos: Symfony ^7.0

O Bundle é auto-configurado. Registre manualmente se necessário:

php
// config/bundles.php
return [
    // ...
    Yeeefang\TcpdfNext\Symfony\TcpdfNextBundle::class => ['all' => true],
];

Pacote CodeIgniter

bash
composer require yeeefang/tcpdf-next-codeigniter

Requisitos: CodeIgniter ^4.0

Registre o serviço no seu app/Config/Services.php ou use auto-discovery.

Compatibilidade

Pacote Adaptation (Migração TCPDF)

bash
composer require yeeefang/tcpdf-next-adaptation

Adaptador 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

🐳 Docker for Legacy PHP Environments
Se seu servidor de produção executa PHP < 8.5, use Docker para isolar o 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

Para Chrome (pacote 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

Verificar Instalação

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

Distribuído sob a licença LGPL-3.0-or-later.