Skip to content

Confronto & Guida Deployment

Non sei sicuro quali pacchetti ti servono? Usa il wizard interattivo sotto, o sfoglia gli scenari deployment e matrice decisione per trovare il setup ideale.

Trova il Tuo Setup Perfetto

1
Tipo di progetto
2
Versione PHP
3
Framework
4
Da HTML a PDF
5
Funzionalità Pro

Tipo di progetto

Genera il Tuo Setup

Generatore di configurazione

Seleziona i package e le opzioni per generare file di configurazione pronti all'uso.

Core è sempre incluso

Immagine di base
composer require yeeefang/tcpdf-next

Scenari Deployment

Ambienti hosting diversi hanno capacità diverse. Ecco cosa funziona meglio per ciascuno:

🏠

Hosting Condiviso

Prestazioni
Pacchetti Consigliati
Core Core

Accesso PHP limitato, nessuna shell. Solo Core con font di base. Nessun Chrome/RoadRunner.

🖥

VPS (PHP-FPM)

Prestazioni
Pacchetti Consigliati
Core CoreArtisan ArtisanLaravel Laravel

Controllo server completo. Installare Chrome per HTML→PDF. Adatto alla maggior parte delle applicazioni.

🖥

VPS + RoadRunner

RoadRunner
Prestazioni
Pacchetti Consigliati
Core CoreArtisan ArtisanLaravel Laravel

Worker persistente elimina cold start. Throughput aumentato di 3-7x.

Server Dedicato

Prestazioni
Pacchetti Consigliati
Core CoreArtisan ArtisanPro ProLaravel Laravel

Risorse complete. Ideale per funzionalità Pro (PAdES, PDF/A-4, HSM).

Dedicato + RoadRunner

RoadRunner
Prestazioni
Pacchetti Consigliati
Core CoreArtisan ArtisanPro ProLaravel Laravel

Throughput massimo. 9.000+ docs/s con 4 workers.

Kubernetes / Docker

RoadRunner
Prestazioni
Pacchetti Consigliati
Core CoreArtisan ArtisanPro ProSymfony Symfony

Scalabilità orizzontale. RoadRunner come processo worker. Livello production.

Performance: PHP-FPM Standard vs RoadRunner

RoadRunner mantiene la tua applicazione PHP in memoria come worker persistente, eliminando cold start e aumentando drasticamente il throughput.

PHP-FPM standard vs RoadRunner

▲ Più alto è meglio
PHP-FPM RoadRunner
Documento semplice
390 docs/s
2,605 docs/s
6.7x più veloce
Fattura
294 docs/s
1,960 docs/s
6.7x più veloce
Report di 100 pagine
14 docs/s
98 docs/s
7.0x più veloce
4 Workers
1,500 docs/s
9,221 docs/s
6.1x più veloce

PHP 8.5.3 + OPcache + JIT · Docker 4 CPUs / 16 GB · i9-13900K · Mediana di 20 esecuzioni

Quando usare RoadRunner

RoadRunner è raccomandato quando hai bisogno di alto throughput (centinaia PDF al minuto) o bassa latenza (tempi risposta sub-millisecondo). Per applicazioni web tipiche che generano pochi PDF per richiesta, PHP-FPM standard va benissimo.

Matrice Decisione Caso d'Uso

Quali pacchetti dovresti installare per il tuo caso d'uso specifico?

\u{2705} Consigliato\u{26AA} Opzionale N/A
Caso d'UsoCore CoreArtisan ArtisanPro ProLaravel LaravelSymfony SymfonyCI4 CI4Adaptation Adaptation
Generazione Fatture e Report
E-commerce (HTML→PDF)
Documenti Accessibili (PDF/UA)
Firme Digitali (PAdES)
Migrazione TCPDF Legacy
API High-Throughput
Conformità Archiviazione (PDF/A-4)
Documenti con Codici a Barre

Compatibilità Pacchetti

La maggior parte dei pacchetti funziona insieme senza problemi, con un'eccezione:

CombinazioneCompatibileNote
Core + Qualsiasi pacchettoCore è sempre richiesto
Artisan + Qualsiasi frameworkChrome CDP funziona con tutti i framework
Pro + Laravel/Symfony/CIFunzionalità enterprise complete in qualsiasi framework
Pro + AdaptationNoAdaptation avvolge l'API TCPDF legacy; Pro estende l'API TCPDF-Next moderna. Scegli un approccio.
Adaptation + FrameworkUsa Adaptation per migrare codice legacy nel tuo framework

Considerazioni CJK & Font

I Basic 14 font integrati (Helvetica, Times, Courier, ecc.) supportano solo caratteri latini. Se i tuoi documenti necessitano testo Cinese, Giapponese o Coreano, devi:

  1. Incorporare font TrueType — Usa setFont() con un font TTF che supporta il tuo set caratteri
  2. Configurare percorsi font — Imposta la variabile ambiente TCPDF_FONTS_DIR o usa l'API configurazione
  3. Considera dimensione file — I font CJK sono tipicamente 5-15 MB ciascuno; usa subsetting font per ridurre dimensione PDF
php
// Esempio: Usare un font CJK
$pdf = Document::createStandalone()
    ->addPage()
    ->setFont('/path/to/NotoSansCJK-Regular.ttf', '', 12)
    ->cell(0, 10, '你好世界 こんにちは 안녕하세요');

Limitazioni Shared Hosting

Su shared hosting, tipicamente non puoi:

  • Installare Chrome/Chromium (no pacchetto Artisan)
  • Eseguire processi long-lived (no RoadRunner)
  • Installare estensioni PHP (limitato a quanto fornito)

Setup raccomandato per shared hosting:

bash
composer require yeeefang/tcpdf-next

Usa solo Core con parser HTML integrato per esigenze HTML-to-PDF base.

Prossimi Passi

Rilasciato sotto licenza LGPL-3.0-or-later.