Skip to content

Guia de Atualização

O TCPDF-Next está atualmente na linha de release 1.x. Esta página explica a política de versionamento e como se manter atualizado.

Versionamento Semântico

O TCPDF-Next segue o Versionamento Semântico 2.0.0:

Incremento de VersãoSignificadoSeguro para Atualizar?
Patch (1.0.x)Correções de bugs, documentação, refatorações internasSim — totalmente retrocompatível
Minor (1.x.0)Novas funcionalidades, adições sem quebraSim — nenhuma alteração no código existente necessária
Major (x.0.0)Mudanças que quebram a APILeia o guia de migração primeiro

Durante a série 1.x, a API pública é considerada estável. Qualquer mudança que quebre compatibilidade será reservada para a próxima versão major e será acompanhada de um guia de migração detalhado.

Verificando o Changelog

Antes de atualizar, revise o CHANGELOG no GitHub. Cada release lista:

  • Added — novas funcionalidades e classes
  • Changed — modificações no comportamento existente
  • Deprecated — APIs que serão removidas na próxima versão major
  • Fixed — correções de bugs
  • Security — patches de vulnerabilidades (atualize imediatamente)

Atualizando via Composer

bash
# Atualizar para a última versão compatível dentro da sua restrição
composer update yeeefang/tcpdf-next

# Ou fixar em uma versão específica
composer require yeeefang/tcpdf-next:^1.2

Após atualizar, execute sua suíte de testes para verificar se nada quebrou:

bash
composer test

Migrando de Outras Bibliotecas

Se você está vindo de outra biblioteca PDF, os seguintes guias ajudarão a mapear conceitos familiares para seus equivalentes no TCPDF-Next:

Do TCPDF legado

O TCPDF-Next não é um fork. É uma reescrita completa do zero com uma API completamente nova. Principais diferenças:

  • Constantes de configuração estáticas substituídas por enums tipados e value objects.
  • Estado global eliminado — cada instância de Document é autocontida.
  • Todas as classes são readonly quando possível, com declare(strict_types=1) rigoroso.
  • PHP 8.5+ obrigatório (veja Por que PHP 8.5?).

Uma folha de referência de migração lado a lado será publicada junto com a release estável 1.0.

Do FPDF / FPDI

Os métodos cell/multiCell/text/write possuem nomes intencionalmente similares, então a curva de aprendizado é mínima. As principais diferenças são:

  • Parâmetros nomeados e enums substituem flags de inteiros posicionais.
  • A saída usa o enum OutputDestination ao invés de strings de caractere único.
  • O gerenciamento de fontes é tratado através de FontConfig ao invés de posicionamento manual de arquivos.

Do Dompdf / wkhtmltopdf

Se você está acostumado com conversão HTML-para-PDF, veja o pacote Artisan, que fornece um pipeline de renderização CSS3 completo sobre o TCPDF-Next Core. Para construção programática de PDF, a abordagem orientada por API descrita em Uso Básico será mais performática e previsível do que a geração baseada em HTML.

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