Rendering di documenti lato server
Definizione
Conversione di un documento in immagini delle pagine sul server, così il browser visualizza le pagine renderizzate invece di analizzare il file originale.
L'alternativa — rendering lato client — invia un motore di parsing al browser e gli consegna il file. Questo funziona accettabilmente per PDF e male per tutto il resto, perché scrivere un renderer basato sul browser per DOCX, XLSX, DWG e MSG richiede un decennio di lavoro che nessuno vuole finanziare due volte.
Il rendering lato server inverte le proprietà. La copertura dei formati diventa un problema di libreria lato server anziché un problema di bundle JavaScript. Il client rimane leggero indipendentemente dalla complessità del documento. E i byte originali non raggiungono mai il browser, il che significa che visualizzare un documento e possederlo non è più lo stesso atto.
Il costo è reale e vale la pena sottolinearlo: il rendering consuma CPU e memoria sui tuoi server, e le pagine devono viaggiare sulla rete come immagini. In pratica il carico è dominato dalla complessità della pagina piuttosto che dalla lunghezza del documento, poiché le pagine vengono renderizzate su richiesta anziché tutte in una volta.
In Doconut
Ogni formato segue lo stesso percorso. Viewer.OpenDocumentAsync() rasterizza le pagine lato server e restituisce un token opaco; il widget JavaScript richiede quindi le pagine tramite token. Il browser non riceve mai il documento sorgente.
Termini correlati
SDK per visualizzatore di documenti
Una libreria che incorpori nella tua applicazione in modo che possa visualizzare i documenti, a differenza di un servizio ospitato a cui carichi i documenti. L'SDK gira all'interno del tuo processo; il servizio gira all'interno di quello di qualcun altro.
Livello di testo
Il testo leggibile dalla macchina memorizzato all'interno di un documento insieme al suo aspetto visivo. È ciò che rende possibile la ricerca e la selezione del testo, ed è esattamente ciò che una pagina scansionata non possiede.
Token di sessione opaco
Un identificatore che non ha alcun significato per chi lo possiede — fa riferimento a uno stato lato server piuttosto che descriverlo, quindi un client non può leggerlo, modificarlo o indovinare un valore vicino.