Installazione di NextPDF compat-legacy
In sintesi
Sezione intitolata “In sintesi”nextpdf/compat-legacy è una libreria Composer. Richiede PHP 8.4 o più recente e nextpdf/core ^3.0. La sua installazione non modifica le chiamate TCPDF esistenti: aggiunge una classe verso cui è possibile passare.
Requisiti
Sezione intitolata “Requisiti”| Dipendenza | Versione | Fonte autorevole |
|---|---|---|
| PHP | >=8.4 <9.0 | pacchetto composer.jsonrequire.php |
nextpdf/core | ^3.0 | pacchetto composer.jsonrequire |
| Composer | 2.7 o più recente | riferimento della toolchain |
Il pacchetto dichiara PHPStan Level 10 senza baseline e include una propria suite di test. In fase di esecuzione richiede PHP 8.4. Il motore NextPDF, nel suo complesso, supporta PHP da 8.1 a 8.4 tramite la linea di backport, ma questo adattatore fissa PHP 8.4 come soglia minima.
Installazione
Sezione intitolata “Installazione”Aggiungere il pacchetto con Composer:
composer require nextpdf/compat-legacy:^3.0Composer risolve nextpdf/core ^3.0 come dipendenza transitiva. Non è richiesta nessun’altra estensione di runtime per l’insieme di funzionalità di base.
I metadati del pacchetto riconoscono anche il nome storico
nextpdf/compat-tcpdftramite una vocereplacedi Composer. Le nuove installazioni dovrebbero richiederenextpdf/compat-legacy: è il nome canonico del pacchetto.
Verificare l’installazione
Sezione intitolata “Verificare l’installazione”Dopo l’installazione, confermare che la classe dell’adattatore venga caricata e che il collegamento con il motore venga risolto. Il controllo seguente produce interamente in memoria un PDF di una pagina e ne verifica l’intestazione: è la stessa superficie coperta dal test del pacchetto 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";Eseguirlo:
php examples/install-verify.phpL’output atteso è una sola riga OK:. Il prefisso %PDF nella stringa restituita conferma che l’adattatore ha costruito un NextPDF\Core\Document, delegato le chiamate di pagina e testo e serializzato un output PDF 2.0 valido.
Verificare la versione del motore
Sezione intitolata “Verificare la versione del motore”L’adattatore richiede nextpdf/core ^3.0. Confermare la versione risolta:
composer show nextpdf/core --format=jsonSe Composer ha risolto una versione del core al di fuori di ^3.0, l’adattatore fallirà immediatamente in fase di costruzione anziché produrre un output errato. Fissare esplicitamente il motore nel proprio composer.json se il progetto dipende direttamente anche da esso.
Opzionale: alias di classe globali
Sezione intitolata “Opzionale: alias di classe globali”Se la base di codice istanzia new \TCPDF(...) nello spazio dei nomi globale e non è ancora possibile modificare quelle righe use/require, il pacchetto può registrare alias globali. È un’opzione facoltativa, descritta in /integrations/tcpdf-compat/boot-and-discovery/. Non abilitarli se la libreria TCPDF reale è installata anche nello stesso processo: vedere /integrations/tcpdf-compat/troubleshooting/ per la regola di prevenzione dei conflitti.
Cosa non fa l’installazione
Sezione intitolata “Cosa non fa l’installazione”- Non modifica né rimuove una dipendenza TCPDF esistente. La rimozione di
tecnickcom/tcpdfè un passaggio successivo deliberato in /integrations/tcpdf-compat/migration/. - Non abilita le firme digitali né il formato PDF/A. Queste funzionalità richiedono un’edizione commerciale di NextPDF (vedere /integrations/tcpdf-compat/security-and-operations/).
- Non modifica la destinazione dell’output PDF. L’output è sempre PDF 2.0.
Passi successivi
Sezione intitolata “Passi successivi”- /integrations/tcpdf-compat/quickstart/ — generare il primo documento reale.
- /integrations/tcpdf-compat/configuration/ — modalità rigorosa e configurazione dell’adattatore.
- /integrations/tcpdf-compat/migration/ — la strategia di migrazione file per file.
- /integrations/tcpdf-compat/method-coverage/ — che cosa fa esattamente ciascun metodo TCPDF in questo contesto.
Vedere anche
Sezione intitolata “Vedere anche”composer.jsondel pacchetto — vincoli di dipendenza autorevolidocs/TCPDF_COVERAGE.md— matrice di copertura autorevole (nel repo)