Tips & Tricks

Come oscurare il testo da livelli specifici di un PDF mantenendo visibili gli altri livelli

Per gli illustratori tecnici e i grafici che lavorano con PDF a più livelli come formato consegnabile principale, la possibilità di redigere per livello anziché per rettangolo visivo cambia radicalmente il flusso di lavoro di trasferimento del documento. Un progettista può preparare un singolo file master con tutte le informazioni del cliente su un livello di metadati dedicato, consegnare il file con quel livello rimosso per la distribuzione pubblica e conservare il master con il livello di metadati intatto per riferimento interno. Questo approccio basato su un'unica fonte elimina il rischio di mancata corrispondenza della versione tra le copie interne e pubbliche del documento.

L'approccio PDF Layers alla redazione è particolarmente utile per progetti multi-stakeholder in cui diversi revisori necessitano di accedere a diversi set di informazioni. Un ingegnere che esamina un disegno costruttivo potrebbe aver bisogno che tutti gli strati tecnici siano visibili, mentre uno stimatore dei costi ha bisogno solo degli strati di dimensione e quantità. Un singolo file sorgente con redazione applicata a livelli specifici del ruolo è utile a tutte le parti senza richiedere all'autore del documento di mantenere versioni separate.

Per le organizzazioni soggette a normative sulla protezione dei dati come GDPR, HIPAA o CCPA, la possibilità di oscurare per livello offre un ulteriore vantaggio in termini di conformità. Un documento può essere distribuito con tutti i livelli non sensibili visibili al personale generale mentre il livello delle informazioni sensibili viene rimosso o sostituito. Lo stesso file di origine serve tutti i livelli di destinatari e la redazione viene applicata a livello di livello anziché mantenendo più copie redatte separate del documento. Ciò riduce il sovraccarico del controllo della versione e garantisce che tutti i destinatari lavorino dalla stessa struttura del documento sottostante, con accesso solo ai livelli appropriati per il loro livello di autorizzazione.

Un documento PDF costruito con più gruppi di contenuti opzionali, comunemente chiamati livelli, può archiviare contenuto di testo in un livello, immagini e fotografie in un altro, annotazioni e commenti in un terzo ed elementi di sfondo come filigrane o modelli di cancelleria in un quarto. Quando è necessario rimuovere o oscurare informazioni sensibili che risiedono esclusivamente all'interno di un livello specifico mantenendo ogni altro livello completamente visibile e interattivo, uno strumento di redazione standard che appiattisce tutti i livelli in un'unica immagine e quindi brucia rettangoli neri opachi sul risultato appiattito non funzionerà. La struttura a livelli viene distrutta e il contenuto che sarebbe dovuto rimanere visibile viene perso insieme alle informazioni sensibili. Un approccio PDF Redazione che comprende e rispetta la struttura del gruppo di contenuti opzionali può indirizzare i contenuti per livello, rimuovendo o nascondendo i dati da uno specifico OCG denominato preservando tutti gli altri livelli intatti e funzionali.

Questo scenario si presenta in diversi contesti professionali. Le società di ingegneria utilizzano PDF a più livelli per separare le planimetrie architettoniche dalle sovrapposizioni elettriche, idrauliche e HVAC in un unico file. La rimozione del nome di un cliente riservato dal livello del cartiglio non deve influire sui livelli della planimetria, delle dimensioni o delle annotazioni. Le agenzie governative pubblicano PDF a più livelli con mappe di base su un livello e dettagli sensibili dell'infrastruttura su un altro. Gli editori multilingue memorizzano ogni traduzione sul proprio livello. In ogni caso la redazione deve essere chirurgica: limitata ad un solo strato.

How to Redact Text From Specific Layers of a PDF While Keeping Other Layers Visible

Come i gruppi di contenuti opzionali PDF archiviano i contenuti in modo indipendente

I gruppi di contenuti opzionali sono stati introdotti nella versione PDF 1.5 e sono ora completamente incorporati nello standard ISO 32000 (Adobe, "PDF Reference 1.7", 2006). Ogni OCG è una raccolta denominata e logicamente indipendente del contenuto della pagina che un'applicazione visualizzatore può attivare o disattivare a discrezione dell'utente. Il catalogo dei documenti contiene un dizionario OCProperties che elenca ogni OCG per nome e lo associa agli oggetti del flusso di contenuto che gli appartengono. Una pagina può fare riferimento a più flussi di contenuti e ciascun flusso può essere contrassegnato come appartenente a uno o più gruppi CO.

Poiché il contenuto di ogni livello è archiviato in oggetti flusso di contenuto discreti e identificabili all'interno della struttura dell'oggetto PDF, è tecnicamente possibile modificare, modificare o rimuovere completamente il contenuto di un livello senza influenzare i dati archiviati in qualsiasi altro livello. Uno strumento PDF Redaction che comprende l'architettura OCG può individuare i flussi di contenuto associati a un livello di destinazione in base al nome e rimuovere o sostituire solo quei flussi specifici. Gli strumenti di redazione standard che ignorano i confini OCG, tuttavia, in genere appiattiscono tutti i livelli visibili in un'unica immagine bitmap renderizzata prima di applicare i segni di redazione. Questo passaggio di appiattimento unisce permanentemente tutti i livelli e distrugge l'organizzazione dei livelli originale.

WukongPDF

Prova Redige PDF

Nessuna installazione necessaria. Funziona direttamente nel tuo browser.

Inizia ora →

Identificare quale layer contiene le informazioni da oscurare

Prima di eseguire qualsiasi oscuramento, è necessario determinare esattamente quale nome o identificatore OCG detiene il contenuto da rimuovere. Apri il PDF in qualsiasi visualizzatore che esponga il pannello Livelli nella sua interfaccia utente. Adobe Acrobat Pro, Foxit PDF Editor, Bluebeam Revu e diversi visualizzatori PDF open source visualizzano un elenco di livelli commutabile, in genere in un pannello della barra laterale di sinistra. Disattiva ciascun livello uno alla volta osservando quale contenuto scompare dalla visualizzazione della pagina. Mappa il nome di ogni livello sul suo contenuto visivo. Registra l'esatta stringa del nome OCG così come appare nel pannello, comprese maiuscole, spazi ed eventuali caratteri speciali.

Per l'identificazione programmatica, utilizza uno strumento di ispezione della struttura PDF come `pdfinfo` con il flag `-struct` o uno script Python utilizzando la libreria pikepdf. Il dizionario OCProperties all'interno del catalogo documenti associa ciascun nome OCG all'elenco dei riferimenti agli oggetti del flusso di contenuto che appartengono a quel livello. Il codice `pdf.Root.OCProperties` in pikepdf restituisce l'intera struttura OCG, che puoi quindi attraversare per abbinare i nomi dei livelli ai flussi di contenuto associati.

Oscurare rimuovendo i flussi di contenuto del livello di destinazione da ciascuna pagina

Il metodo più preciso consiste nell'eliminare solo gli oggetti del flusso di contenuto che appartengono all'OCG di destinazione dall'array di contenuti della pagina. Questo approccio richiede uno strumento o uno script in grado di leggere la mappatura da OCG a contenuto dal catalogo dei documenti, identificare ogni riferimento all'oggetto del flusso di contenuto associato al nome del livello di destinazione e rimuovere quei riferimenti all'oggetto specifici dall'elenco del flusso di contenuto di ciascuna pagina. Tutti gli altri flussi di contenuto rimangono intatti e continuano a essere visualizzati normalmente. La libreria pikepdf di Python supporta nativamente questa manipolazione a livello di oggetto, così come la libreria Apache PDFBox basata su Java.

La tabella seguente confronta gli approcci di redazione disponibili per i PDF a più livelli:

MetodoPreserva i livelliPrecisione di asportazioneLivello di abilità richiesto
pikepdf / script PythonSì, tutti gli altri strati intattiRimozione chirurgica e individuale del flusso di contenutiProgrammazione Python intermedia
Pannello dei livelli di Adobe Acrobat ProSì, se viene utilizzata l'eliminazione dei livelliBuono, rimuove in base al nome del livello tramite la GUIInterfaccia semplice, punta e clicca
Appiattisci e oscura (strumenti standard)No, distrugge tutta l'organizzazione dei livelliScarso, brucia tutto il contenuto in un'unica immagine appiattitaEssenziale ma distruttivo per la struttura

Oscurare sostituendo il contenuto del livello di destinazione con una maschera opaca

Nelle situazioni in cui la rimozione completa del livello interromperebbe i flussi di lavoro a valle che dipendono da uno specifico numero di livelli o da una convenzione di denominazione, una tecnica alternativa sostituisce il contenuto del livello di destinazione con un rettangolo opaco delle stesse dimensioni. L'oggetto sostitutivo rimane all'interno dello stesso nome OCG, quindi l'attivazione/disattivazione del livello funziona ancora nel visualizzatore, ma il contenuto sensibile archiviato in quel livello è stato sostituito da una maschera vuota. Non viene utilizzata alcuna sovrapposizione di scatola nera che un visualizzatore successivo potrebbe rimuovere. I dati del contenuto originale vengono eliminati in modo permanente dal flusso di contenuto e sostituiti.

Questo approccio è particolarmente efficace per i documenti di ingegneria e architettura in cui il software CAD o BIM prevede un insieme fisso di layer con nomi specifici. La rimozione completa di un livello causerebbe errori o avvisi quando il file viene riaperto nell'applicazione di creazione. La sostituzione del contenuto sensibile all'interno del livello mantenendo presente il contenitore del livello stesso soddisfa sia il requisito di sicurezza che il requisito di compatibilità del software.

Verificare che nessun contenuto sensibile sia penetrato in altri livelli

La codifica dei contenuti nei PDF reali raramente è così pulita come suggerisce il pannello dei livelli. Un'applicazione di creazione potrebbe aver scritto un oggetto di testo che appartiene logicamente al livello delle annotazioni nel flusso di contenuto predefinito anziché nel flusso di contenuto specifico delle annotazioni. Prima di finalizzare il documento oscurato, disattivare tutti i livelli tranne il livello di oscuramento di destinazione e verificare che il contenuto sensibile scompaia completamente dalla vista. Quindi cerca il contenuto di testo non elaborato dell'intero PDF utilizzando uno strumento di estrazione del testo o un comando come "grep" rispetto ai dati PDF non compressi. Se nei risultati della ricerca viene visualizzato un frammento della stringa di testo sensibile, i dati esistono da qualche parte all'esterno del livello di destinazione e richiedono un passaggio di redazione aggiuntivo separato.

Lo strumento Redazione PDF di WukongPDF opera a livello del flusso di contenuto e può indirizzare specifici gruppi di contenuti opzionali in base al nome quando la struttura dei livelli viene identificata nel documento. La redazione viene applicata solo all'interno del livello selezionato, preservando la visibilità e l'interattività di tutti gli altri livelli nel documento di output.

Per i documenti con implicazioni legali, normative o sulla privacy, verifica anche che il contenuto rimosso sia assente dai flussi di metadati del documento, dal dizionario delle informazioni sulla parte e da eventuali miniature incorporate o immagini di anteprima della pagina. Un passaggio di verifica completo include il controllo di tutte e cinque queste posizioni di archiviazione. I PDF che combinano contenuto a più livelli con requisiti di redazione necessitano di strumenti che operino a livello di modello a oggetti, non a livello di pixel renderizzati. Identificando il corretto OCG di destinazione per nome, rimuovendo o sostituendo solo i flussi di contenuto di quel livello e quindi verificando in modo esaustivo che nessun dato residuo persista al di fuori del livello di destinazione si produce un PDF redatto in cui tutti i livelli rimanenti rimangono pienamente funzionali, interattivi e visualizzabili.

WukongPDF

Prova Redige PDF

Nessuna installazione necessaria. Funziona direttamente nel tuo browser.

Inizia ora →