Impedisci l'estrazione di testo da un documento PDF offuscando il testo

Categoria del blog: PDF.NET

18.05.2020

VintaSoft Imaging .NET SDK supporta la possibilità di offuscare la codifica del testo per tutti i tipi di font.

Qual è lo scopo? Ad esempio, se pubblichi un documento con accesso aperto (o lo cedi a terzi) e non desideri che il testo del documento possa essere facilmente estratto tramite copia/incolla in qualsiasi visualizzatore PDF.

Soluzione 1: vieta l'estrazione del testo utilizzando i flag delle impostazioni di sicurezza del documento PDF; tuttavia, il rispetto delle impostazioni dipenderà dall'applicazione utilizzata dall'utente per visualizzare il documento. Il testo può essere estratto facilmente se il visualizzatore PDF ignora le impostazioni di sicurezza del documento PDF.

Soluzione 2: rimuovi completamente le informazioni sulla codifica del testo, confondi i glifi dei font e i codici dei simboli sulla pagina. Questo può essere fatto utilizzando la funzionalità per offuscare la codifica del testo fornita nel VintaSoft PDF .NET Plug-in. Il meccanismo di offuscamento rimuove completamente le informazioni sulla codifica del testo, confonde i glifi dei simboli nel font e nella pagina, duplica font e glifi dei simboli. Il testo offuscato in questo modo può essere estratto solo tramite riconoscimento ottico dei caratteri (OCR).

Esaminiamo l'offuscamento di un semplice documento PDF (document-without-text-obfuscation.pdf) utilizzando l'applicazione "VintaSoft PDF Editor Demo".

Il documento contiene due pagine. Quattro frasi sono state scritte utilizzando tre font diversi.

La prima frase della prima e della seconda pagina è stata scritta utilizzando lo stesso font.
Testo prima dell'offuscamento della codifica del testo nel documento PDF

Il pannello di estrazione del testo e la finestra di dialogo di visualizzazione del font mostrano che tutti i simboli hanno la codifica del testo corretta.
Caratteri di testo prima dell'offuscamento della codifica del testo nel documento PDF

La finestra di dialogo di offuscamento della codifica del testo può essere richiamata tramite il menu dell'applicazione: Testo -> Offusca codifica testo -> Impostazioni:
Impostazioni standard per l'offuscamento della codifica del testo in un documento PDF

Eseguiamo l'offuscamento con le impostazioni predefinite e analizziamo il documento di output con il testo offuscato: document-with-default-text-obfuscation.pdf.

La revisione del documento mostra che i font sono stati completamente modificati e che i glifi sono stati riposizionati in modo casuale. Il testo estratto è visibile nel pannello di estrazione del testo.
Testo dopo l'offuscamento della codifica del testo in un documento PDF

Poiché la prima frase di entrambe le pagine è stata scritta con lo stesso font, i simboli della prima parola (evidenziati in verde) sono gli stessi in entrambe le pagine:
La stessa parola è scritta usando un font dopo l'offuscamento della codifica del testo nel documento PDF

Potresti dire: "Scriverò un semplice programma ed estrarrò il testo. Comporrò manualmente una tabella di mappatura dei caratteri e decodificherò il testo. Sì. Questo è possibile, soprattutto nei casi in cui nel documento sono presenti solo pochi font. Per questo motivo abbiamo implementato le impostazioni di offuscamento, che rendono quasi impossibile risolvere il problema di decodifica.

Apriamo di nuovo la finestra di dialogo di offuscamento della codifica del testo e: Impostazioni per l'offuscamento della codifica del testo forte nel documento PDF

Dopo questo, offuschiamo nuovamente la codifica del testo nel documento PDF e controlliamo il documento PDF di output con il testo offuscato: document-with-strong-text-obfuscation.pdf.

Ora possiamo osservare che per la lettera "e" sono stati utilizzati glifi diversi e il testo estratto includerà simboli di questa lettera con codici diversi.
Lo stesso carattere viene scritto utilizzando glifi diversi dopo l'offuscamento della codifica del testo in un documento PDF

La parola "Testo" della prima riga ora viene scritta con font diversi. In ogni font viene utilizzata una posizione casuale e una duplicazione dei glifi. Ora i risultati di questa estrazione di parole dalla prima e dalla seconda pagina sono completamente diversi:
La stessa parola è scritta con font diversi dopo l'offuscamento della codifica del testo in un documento PDF