Instalación de NextPDF compat-legacy
De un vistazo
Sección titulada «De un vistazo»nextpdf/compat-legacy es una biblioteca de Composer. Requiere PHP 8.4 o posterior y nextpdf/core ^3.0. Instalarla no modifica las llamadas TCPDF existentes: añade una clase a la que se puede cambiar.
Requisitos
Sección titulada «Requisitos»| Dependencia | Versión | Fuente de verdad |
|---|---|---|
| PHP | >=8.4 <9.0 | paquete composer.jsonrequire.php |
nextpdf/core | ^3.0 | paquete composer.jsonrequire |
| Composer | 2.7 o posterior | línea base de la cadena de herramientas |
El paquete declara PHPStan de nivel 10 sin línea base e incluye su propia suite de pruebas. Requiere PHP 8.4 en tiempo de ejecución. El motor NextPDF en conjunto admite PHP 8.1 hasta 8.4 mediante la línea de retroportación, pero este adaptador fija PHP 8.4 como mínimo.
Instalación
Sección titulada «Instalación»Añadir el paquete con Composer:
composer require nextpdf/compat-legacy:^3.0Composer resuelve nextpdf/core ^3.0 como dependencia transitiva. No se requiere ninguna otra extensión en tiempo de ejecución para el conjunto principal de funciones.
Los metadatos del paquete también aceptan el nombre histórico
nextpdf/compat-tcpdfmediante una entradareplacede Composer. Las nuevas instalaciones deben requerirnextpdf/compat-legacy: ese es el nombre canónico del paquete.
Verificar la instalación
Sección titulada «Verificar la instalación»Tras la instalación, confirmar que la clase del adaptador se carga y que el enlace con el motor se resuelve. La siguiente comprobación genera un PDF de una página completamente en memoria y verifica el encabezado del PDF: es la misma ruta que verifica la prueba del paquete tests/Unit/Compat/Tcpdf/TcpdfOutputTest.php.
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Compat\Tcpdf\TCPDF;
$pdf = new TCPDF('P', 'mm', 'A4');$pdf->AddPage();$pdf->SetFont('helvetica', '', 12);$pdf->Cell(0, 10, 'compat-legacy install verified');
$bytes = $pdf->Output('verify.pdf', 'S');
if (! str_starts_with($bytes, '%PDF')) { fwrite(STDERR, "Install check failed: output is not a PDF.\n"); exit(1);}
echo "OK: adapter loaded, engine linked, PDF produced (" . strlen($bytes) . " bytes).\n";Ejecutarla:
php examples/install-verify.phpLa salida esperada es una única línea OK:. Un prefijo %PDF en la cadena devuelta confirma que el adaptador construyó un NextPDF\Core\Document, delegó las llamadas de página y de texto, y serializó una salida válida en PDF 2.0.
Verificar la versión del motor
Sección titulada «Verificar la versión del motor»El adaptador requiere nextpdf/core ^3.0. Confirmar la versión resuelta:
composer show nextpdf/core --format=jsonSi Composer resolvió una versión del motor fuera de ^3.0, el adaptador fallará de inmediato al construirse, en lugar de producir una salida incorrecta. Fijar el motor explícitamente en el composer.json si el proyecto también depende de él directamente.
Opcional: alias de clases globales
Sección titulada «Opcional: alias de clases globales»Si la base de código llama a new \TCPDF(...) en el espacio de nombres global y todavía no se pueden cambiar esas líneas use/require, el paquete puede registrar alias globales. Esto es opcional y se describe en /integrations/tcpdf-compat/boot-and-discovery/. No activar esta opción si la biblioteca TCPDF real también está instalada en el mismo proceso: consultar /integrations/tcpdf-compat/troubleshooting/ para conocer la regla que evita conflictos.
Lo que la instalación no hace
Sección titulada «Lo que la instalación no hace»- No modifica ni elimina una dependencia TCPDF existente. Eliminar
tecnickcom/tcpdfes un paso posterior deliberado en /integrations/tcpdf-compat/migration/. - No habilita las firmas digitales ni PDF/A. Para eso se requiere una edición comercial de NextPDF (consultar /integrations/tcpdf-compat/security-and-operations/).
- No cambia el destino de la salida PDF. La salida siempre es PDF 2.0.
Próximos pasos
Sección titulada «Próximos pasos»- /integrations/tcpdf-compat/quickstart/ — generar el primer documento real.
- /integrations/tcpdf-compat/configuration/ — modo estricto y configuración del adaptador.
- /integrations/tcpdf-compat/migration/ — la estrategia de migración archivo por archivo.
- /integrations/tcpdf-compat/method-coverage/ — qué hace exactamente aquí cada método de TCPDF.
Véase también
Sección titulada «Véase también»composer.jsondel paquete — restricciones de dependencia autoritativasdocs/TCPDF_COVERAGE.md— matriz de cobertura autoritativa (en el repositorio)