Che cos'è davvero un PDF, e perché non sempre puoi copiarne il testo

Come un PDF memorizza glifi in certe coordinate invece che parole, come distinguere una scansione dal testo vero, e che cosa fanno font, riquadri di pagina, flag di rotazione e password quando unisci o dividi.

Un PDF è un elenco di istruzioni di disegno. Dice metti questo glifo in questa coordinata, con questo font, a questa dimensione, poi spostati qui e disegna il prossimo. Non dice questo è un titolo, questo è un paragrafo, questa colonna viene prima di quella. Tutto ciò che un lettore sembra sapere della struttura di una pagina è stato ricostruito a posteriori misurando gli spazi fra i segni, il che spiega quasi tutto ciò che nei PDF è frustrante.

Che cosa memorizza davvero un PDF

Il testo di una pagina vive in un content stream, una breve sequenza di operatori:

BT
  /F1 11 Tf
  72 708 Td
  [(In) -18 (v) 22 (oice)] TJ
  180 0 Td
  (2026-08-25) Tj
ET

Tf sceglie un font e una dimensione, Td sposta il cursore del testo, e TJ disegna i glifi con fra l'uno e l'altro degli scostamenti di crenatura. Nota che cosa manca: non c'è alcun carattere di spazio da nessuna parte. Lo stacco prima della data è un salto di 180 unità, e chi estrae il testo deve decidere se ogni salto sia uno spazio, una tabulazione, un confine di colonna oppure niente del tutto. Una soglia leggermente fuori misura ti dà Invoice2026-08-25 oppure I n v o i c e.

L'ordine di lettura ha lo stesso problema: i glifi escono nell'ordine in cui sono stati disegnati. Un'impaginazione a due colonne spesso disegna la colonna di sinistra scendendo lungo la pagina e poi quella di destra, e in quel caso la copia funziona; se chi ha generato il file ha disegnato riga per riga attraversando il foglio, la copia intreccia le colonne in un risultato senza senso.

Distinguere un PDF di testo da una scansione

Un documento scansionato non contiene alcun testo: è la fotografia di una pagina avvolta in un PDF. Il riconoscimento ottico dei caratteri aggiunge sopra all'immagine un livello di testo invisibile, che rende il file ricercabile, ma quel livello è un'ipotesi, quindi i suoi errori affiorano come ricerche che falliscono e copie storpiate.

VerificaPDF di testoPDF scansionato
Seleziona una parolaSi evidenzia carattere per carattereNon si seleziona nulla, oppure si seleziona l'intera pagina
Zoom al 400%Le lettere restano nitideLe lettere diventano morbide o a blocchi
Dimensione per paginaSpesso da 20 a 100 KBSpesso da 300 KB a diversi MB
Estrai immagini da PDFRestituisce le immagini vere, oppure nienteRestituisce un'immagine a pagina piena per ogni pagina

Font, incorporamento e sottoinsiemi

Un font o è incorporato, cioè il programma del font sta dentro il file, oppure è referenziato per nome e metriche, così che il lettore trovi qualcosa di simile sulla macchina che lo mostra. I font referenziati sono il motivo per cui un documento appare corretto dove è stato creato e sbagliato altrove: il sostituto ha larghezze dei caratteri diverse, quindi le righe vanno a capo in altri punti, le tabelle traboccano e una lettera di una pagina ne diventa due.

I font incorporati sono quasi sempre ridotti a un sottoinsieme. Vengono inclusi solo i glifi effettivamente usati, e spesso vengono rinumerati, quindi il glifo della A può trovarsi al codice 3. La mappatura di ritorno ai caratteri reali sta in una tabella ToUnicode separata, e quando manca o è sbagliata la pagina si disegna perfettamente mentre il testo copiato arriva come una sequenza incomprensibile, perché ti vengono consegnati codici di glifo interni invece di caratteri. Risalvare il file non lo ripara; le vie d'uscita sono il documento di partenza oppure il riconoscimento eseguito sulle pagine renderizzate.

Dimensione della pagina, riquadri e rotazione

Le coordinate sono in punti, 72 per pollice, e ogni pagina porta con sé diversi rettangoli. Il MediaBox è il foglio intero; il CropBox è la regione effettivamente mostrata, che può essere più piccola.

FormatoPuntiMillimetri
A4595 x 842210 x 297
Letter612 x 792216 x 279
Legal612 x 1008216 x 356

A4 e Letter sembrano identici a schermo e differiscono sulla carta, quindi unire un report europeo con uno americano dà pagine di dimensione alternata.

Ogni pagina porta anche un flag di rotazione di 0, 90, 180 o 270 gradi, così che un contenuto memorizzato di traverso possa essere mostrato dritto. Ruota PDF imposta quel flag invece di ridisegnare qualcosa, il che lo rende istantaneo e senza perdita, ma le coordinate sottostanti restano invariate: uno strumento che ignora il flag estrae il testo di traverso, e unire pagine con flag diversi dà un documento che sembra coerente mentre il suo contenuto sta su più orientamenti.

Unire, dividere e le parti che si rompono

Le pagine vivono in un albero delle pagine. Unisci PDF copia gli oggetti pagina e tutto ciò a cui fanno riferimento dentro un unico file e ricostruisce quell'albero; Dividi PDF ne prende un ramo. Le pagine arrivano intatte, ciò che è attaccato al documento non sempre.

  • I segnalibri sono uno schema separato che punta agli oggetti pagina. Molti strumenti di unione lo buttano via del tutto, e la divisione lascia voci che puntano a pagine che non ci sono più.
  • I campi dei moduli hanno un nome a livello di documento, non di pagina, quindi unire due copie dello stesso modulo dà due campi chiamati name, che molti lettori trattano come un unico campo con un valore condiviso: compilarne uno compila anche l'altro. Appiattiscili o rinominali prima.
  • Le annotazioni come i link e i commenti viaggiano insieme alle loro pagine, ma un link interno la cui pagina di destinazione è rimasta fuori da una divisione non ha più dove andare.

Un file unito è spesso più grande delle sue parti perché le risorse condivise vengono duplicate: quattro sorgenti che hanno incorporato ciascuna un sottoinsieme dello stesso font danno quattro sottoinsiemi, più quattro profili colore e quattro blocchi di metadati. Può anche uscirne più piccolo, perché la riscrittura scarta gli oggetti inutilizzati e la cronologia dei salvataggi: un documento salvato trenta volte si porta appresso ogni revisione precedente accodata.

Password, permessi e tag

Ci sono due tipi di password e non sono paragonabili. Una password utente serve per aprire il documento: il contenuto è davvero cifrato con una chiave derivata da essa, quindi senza non c'è nulla da leggere. I file moderni usano AES-256, quelli molto vecchi RC4 a 40 bit, che è debole.

Una password proprietario imposta flag di permesso come vietata la stampa, vietata la copia e vietata la modifica. Il file è comunque cifrato, ma con una chiave che qualsiasi lettore può ricavare da solo, perché la password utente è vuota. I flag sono una richiesta, rispettata da alcuni lettori e ignorata da altri: se un file si apre senza chiedere nulla, le sue restrizioni sono un consiglio, qualsiasi cosa dica la finestra delle proprietà.

La marcatura con i tag è un livello diverso: un albero di struttura facoltativo che segna titoli, elenchi, celle di tabella e descrizioni delle figure, e fissa un ordine di lettura. Uno screen reader su un PDF con i tag legge il documento; su uno senza tag tira a indovinare dalle coordinate, producendo lo stesso risultato scomposto del copia e incolla. Le scansioni sono senza tag per definizione, il riconoscimento aggiunge testo ma non struttura, e il risultato di Immagini in PDF o di Da PDF a immagini non ha né l'uno né l'altra.

Dove sta il peso, e quanto ne regge il browser

La dimensione di un file è quasi sempre fatta di immagini. Una pagina A4 richiede grossomodo 1240 per 1754 pixel a 150 dpi e 2480 per 3508 a 300 dpi, quindi una fotografia inserita a 12 megapixel porta con sé molti più dati di quanti la stampa possa usarne, e ridurre la risoluzione è l'unica modifica che rimpicciolisce un documento in modo affidabile. Risalvare un PDF di solo testo guadagna pochissimo, perché i suoi content stream sono già compressi; quando uno è inaspettatamente grande, guarda i font incorporati, la cronologia dei salvataggi o gli allegati.

Tutto questo avviene localmente nel browser, quindi non viene caricato nulla e il limite è la memoria, non la dimensione del file. La parte costosa è il rendering: una pagina A4 a scala 4x è circa 2380 per 3368 pixel, all'incirca 32 MB di bitmap non compressa per una sola pagina, quindi cinquanta pagine a quella scala esauriscono una scheda del browser molto prima di dare fastidio alla macchina. Dividi prima un documento molto grande, poi lavora a blocchi.