Visão Geral do Pacote Core
Core · LGPL-3.0O pacote Core (yeeefang/tcpdf-next) é a fundação do ecossistema TCPDF-Next. Ele contém tudo o que é necessário para geração de documentos PDF 2.0.
Em Resumo
| Métrica | Valor |
|---|---|
| Arquivos fonte PHP | 148 |
| Módulos | 16 |
| Testes | 908+ |
| Asserções | 28.881+ |
| Nível PHPStan | 10 |
| Ponto de entrada | Document::create() |
| Licença | LGPL-3.0-or-later |
Ponto de Entrada
Todos os documentos começam com Document::create():
use Yeeefang\TcpdfNext\Core\Document;
$pdf = Document::create()
->setTitle('My Document')
->addPage()
->setFont('Helvetica', '', 12)
->cell(0, 10, 'Hello World')
->save('output.pdf');A classe Document é final e implementa PdfDocumentInterface. Sua funcionalidade vem de 12 traits combináveis — veja Filosofia de Design para detalhes.
Mapa de Módulos
| Módulo | Namespace | Arquivos | Documentação |
|---|---|---|---|
| Core | Core\ | 6 | Documento |
| Contracts | Contracts\ | 7 | Referência da API |
| ValueObjects | ValueObjects\ | 5 | Value Objects |
| Support | Support\ | 1 | Referência da API |
| Content | Content\ | 6 | Saída de Texto |
| Typography | Typography\ | 14 | Tipografia, Fontes |
| Graphics | Graphics\ | 19 | Cores, Gráficos, Imagens |
| Layout | Layout\ | 6 | Layout |
| Html | Html\ | 8 | Renderização HTML |
| Form | Form\ | 5 | Formulários |
| Barcode | Barcode\ | 12 | Códigos de Barras |
| Navigation | Navigation\ | 11 | Navegação |
| Accessibility | Accessibility\ | 3 | PDF com Tags |
| Security | Security\ | 14 | Criptografia, Assinaturas |
| Writer | Writer\ | 8 | Saída |
Capacidades
Texto e Tipografia
Unicode, BiDi (texto bidirecional), CJK, modelagem árabe, hifenização. Subconjuntos de fontes TTF/OTF/Type1/CFF. 14 fontes padrão PDF embutidas.
Gráficos
Formas (linha, retângulo, círculo, elipse, polígono, estrela, seta, curva), gradientes (linear, radial, malha de patch Coons, malha de triângulo Gouraud), preenchimentos de padrão, análise SVG/EPS, suporte a imagens (PNG, JPEG, WebP, AVIF).
Renderização HTML
Analisador HTML embutido suportando div, p, h1-h6, table (colspan/rowspan), listas, estilo inline. Para CSS3 completo (Flexbox, Grid, web fonts), use o pacote Artisan.
Códigos de Barras
1D: Code 128, EAN-8/13, UPC-A/E, Code 39/93, GS1-128, IMB e mais. 2D: QR Code (ISO 18004), DataMatrix (ISO 16022), PDF417 (ISO 15438).
Segurança
Criptografia AES-256 (AESV3 Rev 6) com SASLprep. Assinaturas digitais PAdES B-B com aparência visível/invisível. Cliente de timestamp RFC 3161.
Formulários
Campos AcroForm: texto, checkbox, botão de rádio, caixa de lista, caixa de combinação, botão. Achatamento de formulários.
Navegação
Marcadores, links internos/externos, destinos nomeados, anotações, sumário, anexos de arquivo, JavaScript.
Saída
Salvar em arquivo, exibição inline, download, buffer de string. Saída streaming para documentos grandes. Linearização para exibição web progressiva. Modo determinístico para builds reproduzíveis.
