Descripción general del paquete Core
Core · LGPL-3.0El paquete Core (yeeefang/tcpdf-next) es la base del ecosistema TCPDF-Next. Contiene todo lo necesario para la generación de documentos PDF 2.0.
De un vistazo
| Métrica | Valor |
|---|---|
| Archivos fuente PHP | 148 |
| Módulos | 16 |
| Tests | 908+ |
| Aserciones | 28,881+ |
| Nivel PHPStan | 10 |
| Punto de entrada | Document::create() |
| Licencia | LGPL-3.0-or-later |
Punto de entrada
Todos los documentos comienzan con 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');La clase Document es final e implementa PdfDocumentInterface. Su funcionalidad proviene de 12 traits componibles — consulta Filosofía de diseño para más detalles.
Mapa de módulos
| Módulo | Namespace | Archivos | Documentación |
|---|---|---|---|
| Core | Core\ | 6 | Document |
| Contracts | Contracts\ | 7 | Referencia API |
| ValueObjects | ValueObjects\ | 5 | Value Objects |
| Support | Support\ | 1 | Referencia API |
| Content | Content\ | 6 | Salida de texto |
| Typography | Typography\ | 14 | Tipografía, Fuentes |
| Graphics | Graphics\ | 19 | Colores, Gráficos, Imágenes |
| Layout | Layout\ | 6 | Diseño |
| Html | Html\ | 8 | Renderizado HTML |
| Form | Form\ | 5 | Formularios |
| Barcode | Barcode\ | 12 | Códigos de barras |
| Navigation | Navigation\ | 11 | Navegación |
| Accessibility | Accessibility\ | 3 | PDF etiquetado |
| Security | Security\ | 14 | Cifrado, Firmas |
| Writer | Writer\ | 8 | Salida |
Capacidades
Texto y tipografía
Unicode, BiDi (texto bidireccional), CJK, modelado árabe, separación silábica. Subconjuntos de fuentes TTF/OTF/Type1/CFF. 14 fuentes PDF estándar integradas.
Gráficos
Formas (línea, rectángulo, círculo, elipse, polígono, estrella, flecha, curva), degradados (lineal, radial, malla Coons patch, malla de triángulos Gouraud), rellenos de patrón, análisis SVG/EPS, soporte de imágenes (PNG, JPEG, WebP, AVIF).
Renderizado HTML
Analizador HTML integrado que soporta div, p, h1-h6, tablas (colspan/rowspan), listas, estilos en línea. Para CSS3 completo (Flexbox, Grid, web fonts), usa el paquete Artisan.
Códigos de barras
1D: Code 128, EAN-8/13, UPC-A/E, Code 39/93, GS1-128, IMB, y más. 2D: QR Code (ISO 18004), DataMatrix (ISO 16022), PDF417 (ISO 15438).
Seguridad
Cifrado AES-256 (AESV3 Rev 6) con SASLprep. Firmas digitales PAdES B-B con apariencia visible/invisible. Cliente de timestamps RFC 3161.
Formularios
Campos AcroForm: texto, checkbox, botón de radio, lista, combo box, botón. Aplanamiento de formularios.
Navegación
Marcadores, enlaces internos/externos, destinos con nombre, anotaciones, tabla de contenidos, archivos adjuntos, JavaScript.
Salida
Guardar en archivo, visualización en línea, descarga, buffer de cadena. Salida en streaming para documentos grandes. Linearización para visualización web progresiva. Modo determinístico para compilaciones reproducibles.
