Salta ai contenuti
getnextpdf.com

Premium edizione

Per i responsabili dell'ingegneria

Si sta valutando una dipendenza commerciale con cui il team convivrà per anni. Questa pagina risponde alle domande che i responsabili dell’ingegneria ci pongono prima dell’acquisto: impegno di integrazione, politica di aggiornamento, lock-in, distribuzione, evidenze di qualità e superfici di scalabilità. Ogni affermazione è verificabile nel sorgente del prodotto oppure collegata alla pagina di documentazione che la governa. NextPDF non detiene alcuna certificazione di terze parti, e nulla qui costituisce una dichiarazione di conformità o certificazione.

Questa guida copre entrambe le edizioni commerciali - NextPDF Pro (nextpdf/pro) e NextPDF Enterprise (nextpdf/enterprise); consultare la matrice delle funzionalità per la disponibilità per edizione. Entrambe si attivano con un envelope di licenza; un deployment privo dell’entitlement corrispondente non carica le classi premium di quell’edizione. Confronta le edizioni e ottieni una licenza.

Le edizioni sono cumulative. NextPDF Pro include tutto ciò che è presente nel core open, e NextPDF Enterprise include tutto ciò che è presente in Pro. Diverse superfici descritte più avanti sono fornite nel tier Pro (nextpdf/pro), quindi Enterprise le possiede anch’essa.

La versione in 30 secondi. NextPDF è un motore PDF 2.0 per PHP moderno; il formato che produce è quello specificato da ISO 32000-2. Il motore core è open source sotto la Apache License 2.0. NextPDF Pro e NextPDF Enterprise sono le edizioni commerciali proprietarie costruite su di esso — grafici, codici a barre avanzati, firma, strumenti di conformità, operazioni sui documenti e le superfici di scalabilità descritte più avanti. Consultare la matrice delle funzionalità completa per la suddivisione per edizione.

Per il tuo team, l’acquisto compra tre cose. Primo, capacità che sarebbero costose da costruire e mantenere internamente. Secondo, un livello di ingegneria ispezionabile: PHPStan level 10, vincoli architetturali e una suite di test molto ampia. Terzo, uno svantaggio limitato - e i tre stati di uscita sono distinti. Un deployment sul canale ionCube offline oltre la scadenza del lease mette in pausa le funzionalità premium e ripiega sul Core gratuito e open source finché non si riconnette. Un abbonamento scaduto attraversa un periodo di grazia fino al fallback perpetuo: la versione installata continua a funzionare con il suo entitlement premium, senza ulteriori aggiornamenti. E un fallimento dell’enforcement non blocca mai un deployment - il caso peggiore è il comportamento Core. Le meccaniche commerciali sono descritte in Acquisto e licenze.

“Quanto impegno di integrazione dovrei preventivare?” Un pacchetto Composer e una licenza. Le edizioni premium si installano con composer require nextpdf/pro o composer require nextpdf/enterprise a seconda dell’edizione (il metapacchetto nextpdf/premium installa entrambe) da un repository privato, usando le credenziali emesse dopo l’acquisto. Il requisito di runtime è PHP >=8.4 <9.0. L’adozione non richiede alcuna modifica al codice applicativo: Premium si inserisce dietro gli stessi contratti pubblici che l’applicazione già utilizza, come documentato in Licenze e attivazione. La configurazione è trattata in Installazione e autenticazione.

“Cosa si rompe quando aggiorniamo?” I breaking change esistono, e li documentiamo invece di nasconderli. Il repository Premium traccia ogni modifica che impatta la BC nelle note di aggiornamento per release con un percorso di migrazione, e la sua toolchain include roave/backward-compatibility-check. Alcune rotture sono deliberate: i percorsi di validazione di sicurezza vengono irrigiditi in modalità fail-closed anziché lasciati permissivi, e le note lo dichiarano esplicitamente. Preventiva la lettura delle note di aggiornamento prima di ogni release; non preventivare una deriva silenziosa del comportamento.

“Siamo in lock-in?” La via d’uscita è strutturale, non frutto di buona volontà contrattuale. Il core è Apache-2.0, quindi la tua integrazione punta a contratti che sopravvivono senza un abbonamento. Quando un abbonamento a pagamento termina, c’è un periodo di grazia, poi uno stato di fallback perpetuo: la versione installata continua a funzionare, e si fermano solo gli aggiornamenti e il supporto. Non si viene mai bloccati fuori da software già distribuito. I dettagli sono in Licenze e attivazione e nel modello di licenza.

“Il mio team può leggere il codice che eseguiamo?” Sì, sul canale giusto. Premium viene distribuito in due modi: codificato con ionCube (l’impostazione predefinita a costo inferiore) e sorgente in chiaro firmato — PHP leggibile, firmato crittograficamente, a prezzo più alto. Entrambi portano diritti di licenza identici, e il sorgente leggibile non è mai un permesso di copiare o ridistribuire; l’ EULA governa entrambi. Il confronto completo è in Due canali di distribuzione.

“Quali segnali di qualità posso effettivamente verificare?” Il codebase Premium è sviluppato a PHPStan level 10 con l’estensione strict-rules su tutto il sorgente Pro ed Enterprise, oltre ai vincoli di livello architetturale Deptrac. Il repository contiene più di 1.500 file di test tra suite unit, integrazione, conformità e compliance, e i suoi script di mutation-testing impongono una soglia minima del 95% di mutation score. Questi sono fatti del repository di sviluppo che è possibile confermare sul canale a sorgente firmato — non audit di terze parti, e non certificazioni.

“Quali sono le superfici di prestazioni e scalabilità?” Tre, e sono tutte layer opzionali anziché riscritture. L’acceleratore è un sidecar Rust consumato attraverso le interfacce contrattuali Core. La pipeline di output (NextPDF\Pro\OutputPipeline\PipelineExecutor) esegue manifest documentali multi-step con risoluzione delle dipendenze. Il motore di stream renderizza batch concorrenti in modo deterministico:

public function renderBatch(array $manifests, array $variablesByJobId = []): array

NextPDF\Pro\Stream\Engine\ConcurrentRenderEngine ripristina l’ordine di input, così che i byte di output corrispondano a un rendering sequenziale indipendentemente dalla concorrenza. Fallisce con NextPDF\Pro\Stream\Exception\RenderEngineException in caso di completamento mancante, duplicato o sconosciuto — mai un drop silenzioso. Non pubblichiamo qui numeri di benchmark; esegui il benchmark sul tuo carico di lavoro durante la prova.

“L’acceleratore crea una dipendenza rigida da codice nativo?” No. Il sidecar è connettività opzionale, e il provider riporta la disponibilità invece di sollevare eccezioni:

public function isAvailable(): bool
public function embedding(): EmbeddingServiceInterface
public function vectorIndex(string $collectionId = 'default'): VectorIndexInterface

Questi metodi non dichiarano alcun @throws; la raggiungibilità del sidecar è riportata da isAvailable(). I tipi restituiti sono interfacce contrattuali Core (NextPDF\Contracts\EmbeddingServiceInterface, NextPDF\Contracts\VectorIndexInterface), che sono la giuntura senza-modifiche-al-codice nella pratica.

“Cosa succede offline o in ambiente air-gapped?” Dipende dal canale, e questo è di solito il fattore decisivo. Il canale ionCube verifica la sua licenza online — all’incirca un controllo ogni 7 giorni che rinnova un lease di circa 14 giorni. Offline oltre la scadenza del lease, le funzionalità premium si mettono in pausa e il motore ripiega sul Core gratuito, riprendendo quando la connettività ritorna. Il canale a sorgente firmato verifica la sua licenza localmente e funziona completamente offline, incluso l’air-gapped. Vedere Due canali di distribuzione.

“Cosa invia il controllo della licenza?” Sul canale ionCube, un controllo invia soltanto un identificativo di licenza e un hash di fingerprint con salt — mai il contenuto dei tuoi documenti. Un deployment a sorgente firmato completamente offline non invia assolutamente nulla. La superficie decisionale della licenza è un unico evaluator pubblico su cui il tuo team di piattaforma può ragionare:

public function evaluate(?LicenseKey $license, ?DateTimeImmutable $now = null): EntitlementResult

Non dichiara alcun @throws; ogni stato di licenza, inclusa l’assenza totale di licenza, si mappa su un EntitlementResult anziché su un’eccezione.

“Chi ci supporta, e come iniziamo?” L’aiuto sul prodotto e tecnico proviene dal supporto PATEON; fatturazione, fatture e rimborsi sono gestiti dal nostro Merchant of Record — vedere chi contattare. È possibile avviare una prova gratuita di 14 giorni dal tuo account, oppure richiedere una concessione di valutazione che esegue l’intero set di funzionalità dietro un watermark rimovibile.

Onestamente cosa si può e cosa non si può, con la pagina che governa ciascun fatto.

Il tuo requisitoNextPDF lo soddisfa?Evidenza e responsabile
Runtime PHP modernoSì — richiede PHP >=8.4 <9.0. Le versioni di PHP precedenti non sono supportate.Prodotto composer.json; Installazione e autenticazione
Packaging standardSì — pacchetti Composer privati: nextpdf/pro o nextpdf/enterprise a seconda dell’edizione (nextpdf/premium installa entrambi i tier), con credenziali emesse dopo l’acquisto.Acquisto e licenze
Adozione senza riscritturaSì — nessuna modifica al codice applicativo; Premium si risolve dietro i contratti Core che già chiami.Licenze e attivazione
Livello di analisi staticaSì — sviluppato a PHPStan level 10 con strict rules su tutto il sorgente Pro ed Enterprise.Prodotto phpstan.neon.dist
Disciplina di testSì — oltre 1.500 file di test; mutation testing con soglia minima del 95% MSI negli script del repository.Script composer.json del prodotto e albero dei test
Governance della BCIn parte — le rotture di BC accadono e sono deliberate per correzioni di sicurezza fail-closed; ciascuna è documentata con un percorso di migrazione.Prodotto UPGRADING.md
Operatività air-gappedSì su sorgente firmato; il canale ionCube è vincolato dal suo lease di circa 14 giorni.Due canali di distribuzione
Sorgente leggibileSì — solo canale a sorgente firmato, a un prezzo più alto; leggere non è un diritto di ridistribuzione.Due canali di distribuzione, EULA
Certificazione formaleNo. NextPDF non detiene alcuna certificazione e non ne concede alcuna; il supporto di uno standard non è conformità né certificazione.Questa pagina; modello di licenza
Obbligo di accelerazione nativaNon richiesto — il sidecar Rust è opzionale; verifica con ProAcceleratorProvider::isAvailable().Sorgente del prodotto, mostrato sopra
  • Scadenza del lease ionCube. Un deployment su canale codificato offline oltre la scadenza del lease mette in pausa le funzionalità premium e ripiega sul Core, riprendendo alla riconnessione. Se la postura della tua rete non può garantire connettività periodica, scegli invece il canale a sorgente firmato.
  • Rotture di BC deliberate. La validazione rilevante per la sicurezza viene irrigidita in modalità fail-closed tra le release. Fissa le versioni, leggi le note di aggiornamento prima di ogni bump, ed esegui un controllo di BC in CI. Non trattare gli aggiornamenti come drop-in.
  • Nessuna certificazione. Dichiariamo capacità, mai certificazione. Se il tuo programma richiede conformità certificata, valida l’output con i tuoi strumenti di accettazione prima di farvi affidamento — nessuna pagina di documentazione NextPDF sostituisce ciò.
  • Le prestazioni dipendono dal carico di lavoro. Il ionCube Loader aggiunge overhead di decodifica, di solito ridotto; non pubblichiamo alcun benchmark universale. Esegui il benchmark sui tuoi documenti durante la prova prima di impegnarti su un canale.
  • L’output di valutazione è watermarkato. Le build di valutazione eseguono ogni capacità ma marchiano visibilmente il loro output; non sono adatte alla distribuzione in produzione. Una licenza a pagamento rimuove il watermark senza modifiche al codice.
  1. Avvia una prova. Una prova gratuita di 14 giorni è disponibile dal tuo account — una per email, nessun addebito oggi, e non si rinnova automaticamente. Considera il requisito del ionCube Loader gratuito sulle build codificate, incluso in CI.
  2. Esegui un pilota mirato. Installa via Composer, integra un flusso documentale reale dietro i tuoi contratti esistenti, esegui la tua suite di test e fai il benchmark del tuo carico di lavoro. La valutazione esegue l’intero set di funzionalità dietro il watermark rimovibile, così nulla è nascosto alla valutazione.
  3. Scegli un canale di distribuzione. Decidi tra codificato ionCube e sorgente firmato in base ai tuoi requisiti di connettività e audit — vedere Due canali di distribuzione.
  4. Richiedi il tuo envelope di licenza. L’acquisto passa attraverso il nostro Merchant of Record; la tua licenza è concessa da PATEON sotto la EULA. Inizia dal portale delle licenze.