Uno strumento PDF lato server carica il tuo file sui computer del gestore, lo elabora lì e rimanda indietro il risultato. Uno strumento lato client, invece, scarica il programma nel tuo browser, e il programma elabora il file sul tuo dispositivo. Nel primo caso viaggia il tuo documento; nel secondo, solo il codice.

Questa sola differenza decide chi potrà mai vedere il tuo file. Spiega anche perché i due tipi di strumento danno sensazioni diverse, falliscono in modi diversi e si adattano a lavori diversi. Questo approfondimento mostra passo dopo passo cosa succede davvero in ciascuno.

Cosa succede in uno strumento lato server

  1. Scegli un file. La pagina lo invia via internet al server del gestore, di solito con un caricamento HTTPS.
  2. Il server lo memorizza, almeno su disco o in memoria per la durata del lavoro, spesso in una coda insieme ai file di altre persone.
  3. Un programma sul server, come una libreria PDF, un convertitore o un motore di riconoscimento del testo, fa il lavoro.
  4. Anche il risultato viene memorizzato, e la pagina ti dà un link per scaricarlo.
  5. Entrambi i file vengono eliminati più tardi, secondo le regole di conservazione del gestore.

Un tempo questa era l’unica soluzione pratica. I browser erano lenti, e le librerie in grado di leggere e riscrivere i PDF giravano solo sui server. I browser di oggi eseguono codice complesso in fretta, e le librerie PDF open source scritte in JavaScript possono fare quasi tutti i lavori di tutti i giorni dentro una scheda.

HTTPS protegge il passaggio 1 da chi intercetta. I passaggi da 2 a 5 dipendono dal gestore: la sua sicurezza, l’accesso del suo personale, i suoi backup e i suoi obblighi legali nel paese in cui si trovano i server. La maggior parte dei gestori se ne occupa in modo responsabile, ma ti stai fidando di loro.

Cosa succede in uno strumento lato client

  1. Apri la pagina dello strumento. Il browser scarica la pagina e il suo JavaScript, come per qualsiasi sito web.
  2. Scegli un file. La File API del browser lo legge dal disco nella memoria della scheda. Non viene inviato niente.
  3. Il codice in esecuzione nella scheda fa il lavoro. Le parti pesanti spesso girano in un Web Worker, un thread in background, così la pagina resta reattiva.
  4. Il risultato viene costruito in memoria e ti viene consegnato come download, tramite un link temporaneo che punta alla memoria del tuo stesso browser.
  5. Quando chiudi la scheda, la memoria viene liberata. Non c’è niente da eliminare altrove, perché non è stato inviato niente.

Gli strumenti PDF di Kopitiam funzionano così. Usano pdf.js, il motore PDF open source di Mozilla, per leggere e disegnare le pagine, con il suo parser che gira in un Web Worker. Usano pdf-lib, un’altra libreria open source, per costruire il nuovo PDF. Entrambi girano dentro la tua scheda.

Lato client non significa che la pagina non faccia richieste di rete. Carica comunque codice, font e, su un sito gratuito, annunci. Quello che conta è che i byte del tuo file non facciano mai parte di nessuna richiesta.

Perché gli strumenti lato client possono funzionare offline

Una volta che il programma è nel tuo browser, non ha bisogno della rete per funzionare. Ecco perché la prova offline funziona: carica lo strumento, spegni il Wi-Fi, e lo strumento va avanti. Se stesse davvero caricando il file, fallirebbe subito.

Ci sono dettagli utili da sapere. Kopitiam avvia il worker del suo motore PDF appena si apre la pagina di uno strumento, non quando trascini dentro un file, così gli strumenti continuano a funzionare se la connessione cade dopo il caricamento della pagina. Alcune funzioni meno comuni caricano codice aggiuntivo la prima volta che le usi, come il motore dei font per il testo in alfabeti non latini. È codice che arriva a te, non il tuo file che esce.

I limiti reali dell’elaborazione lato client

Fare il lavoro sul tuo dispositivo ha dei costi, e uno strumento onesto dovrebbe dirtelo.

  • Memoria. L’intero file sta nella memoria della scheda, spesso in più di una copia mentre viene elaborato. Una scansione da 200 MB può richiederne diverse volte tanto. I browser limitano la memoria per scheda, e i telefoni la limitano di più.
  • Velocità. Il lavoro lo fa il tuo portatile o il tuo telefono, non un data center. Trasformare 400 pagine in immagini, o ricomprimere ogni foto di una scansione lunga, richiede sensibilmente più tempo su un dispositivo vecchio.
  • Batteria e calore. Un lavoro lungo su un telefono fa lavorare il processore a fondo per un po’.
  • Lavori difficili. Alcuni compiti sono molto più semplici con un software lato server, come il riconoscimento del testo su grandi archivi scansionati o la conversione di file Office complessi con l’impaginazione esatta. Molti strumenti per il resto lato client mandano proprio quei lavori a un server.

In pratica, il limite di dimensione di uno strumento lato client è il tuo dispositivo, non un numero su una pagina di prezzi. Kopitiam non ha nessun limite di dimensione dei file nel suo codice, quindi un file molto grande o funziona o esaurisce la memoria. Dividere prima un file grande, o usare un browser desktop invece di un telefono, di solito risolve.

Prendi una scansione da 40 MB da ridurre per l’email, con una connessione mobile lenta. Uno strumento lato server deve caricare tutti i 40 MB prima di poter iniziare, poi scarichi il risultato, quindi gran parte dell’attesa è la rete. Uno strumento lato client salta entrambi i trasferimenti, ma la compressione la fa il tuo telefono, e per una scansione lunga può volerci un po’. Nessuno dei due è sempre più veloce: dipende dalla tua connessione e dal tuo dispositivo.

Soluzioni ibride e dichiarazioni da leggere con attenzione

Non tutti gli strumenti sono solo l’uno o l’altro. Vedrai alcuni schemi:

  • Soprattutto in locale, in parte sul server. I lavori semplici girano nel browser, mentre la conversione o il riconoscimento del testo vengono caricati. Cerca una dichiarazione per ogni strumento, non una valida per tutto il sito.
  • Caricamento crittografato. Il file viene caricato, ma crittografato durante il trasferimento e sul server. È meglio di niente, ma il server lo decifra comunque per lavorarci.
  • In locale con salvataggio nel cloud. Il lavoro è locale, ma il risultato viene salvato nel tuo account così puoi aprirlo più tardi. È una copia sul server, per scelta.
  • App desktop. Anche un programma installato è lato client, ma può inviare file o dati d’uso al produttore. La sua informativa sulla privacy conta comunque.

Come verificare quale stai usando

Apri gli strumenti per sviluppatori del browser (F12 sulla maggior parte dei browser desktop), vai alla scheda Rete e fai passare un file di prova nello strumento. Uno strumento lato server mostra una richiesta in uscita grande più o meno quanto il tuo file quando inizi. Uno strumento lato client mostra solo richieste piccole, come annunci o segnali delle statistiche, e nessuna che cresce con il tuo file. Fare lo stesso lavoro con il Wi-Fi spento è la versione rapida della stessa prova.

Quale scegliere

Per contratti, buste paga, lettere mediche e scansioni di documenti d’identità, il lato client è la scelta predefinita migliore: non c’è nessuna copia altrove che possa finire in giro o essere conservata. Per una brochure pubblica o un menù, va bene l’uno o l’altro. Quando ti serve qualcosa che un browser non fa bene, come il riconoscimento del testo su un archivio di 2.000 pagine, uno strumento lato server affidabile con una politica di conservazione chiara è una scelta ragionevole, usata per quel file e non per abitudine.