Redaction

Redaction

Questa pagina tratta della rimozione permanente del contenuto da una pagina PDF. Aspose.PDF FOSS per TypeScript offre due flussi di redazione: un flusso a due fasi, segna-poi-applica, che puoi revisionare prima di confermare, e un flusso immediato a chiamata singola. Entrambi sono disponibili su Page per una singola pagina e su Document per l’intero documento.


Marcatura e Applicazione delle Redazioni

Page.AddRedact() segna una regione rettangolare con un’annotazione /Redact — il contenuto sottostante rimane intatto e ancora selezionabile per la copia. Nulla viene effettivamente rimosso finché non viene eseguito Page.ApplyRedactions(): riscrive distruttivamente il flusso di contenuto per ogni segno /Redact sulla pagina, dipinge la sovrapposizione di ciascun segno (il suo /IC riempimento e /OverlayText), rimuove i segni e restituisce il numero di redazioni applicate. I segni aggiunti dopo la chiamata a ApplyRedactions() rimangono non applicati.

page.AddRedact({
  rect: [220, 550, 460, 566],
  fill: [0, 0, 0],
  overlayText: '[REDACTED]',
  align: 'center',
  fontSize: 9,
  textColor: [1, 1, 1],
});

const applied = page.ApplyRedactions();
console.log('Redactions applied:', applied);

Redazione Immediata

Page.Redact() e Page.RedactText() combinano la marcatura e l’applicazione in una singola chiamata: rimuovono davvero il testo e le immagini coperti, potano le risorse rimaste orfane dalla rimozione e dipingono una casella di marcatura opaca su ogni regione — senza un passaggio ApplyRedactions() separato e senza nulla da revisionare prima. Page.Redact() accetta un elenco esplicito di regioni Rect; Page.RedactText() trova e redige ogni occorrenza di una stringa di ricerca o RegExp, nello stesso modo in cui Page.SearchAnnotationText() effettua le ricerche. Entrambi accettano un oggetto RedactOptions che controlla il color del marcatore, se scrubMetadata, e se keepAnnotations che si sovrappongono a una regione redatta.

Poiché rimuovono il contenuto immediatamente senza passaggio di revisione, preferisci AddRedact() + ApplyRedactions() quando un segno deve essere ispezionabile prima di essere confermato, e Redact() / RedactText() quando le regioni o i termini di ricerca sono già noti come sicuri da rimuovere.


Redazione di un Documento Intero

Gli stessi due flussi di lavoro esistono su Document, con ambito su tutte le pagine contemporaneamente: Document.MarkRedactText() contrassegna ogni occorrenza di un termine di ricerca su tutte le pagine, Document.ApplyRedactions() applica ogni contrassegno nel documento, e Document.Redact() / Document.RedactText() censurano immediatamente le regioni di una singola pagina o un termine di ricerca a livello di documento, rispecchiando le loro equivalenti Page.


Suggerimenti e Best Practice

  • Usa AddRedact() + ApplyRedactions() quando una censura deve poter essere revisionata prima di entrare in vigore; usa Redact() / RedactText() quando le regioni sono già confermate sicure da rimuovere immediatamente.
  • Aggiungi ogni contrassegno AddRedact() per una pagina prima di chiamare ApplyRedactions() — i contrassegni aggiunti successivamente non sono inclusi in quella chiamata e rimangono non applicati.
  • Passa scrubMetadata: true in RedactOptions / ApplyRedactionsOptions quando il contenuto censurato potrebbe essere presente anche nei metadati del documento (/Info o XMP).
  • RedactText() e MarkRedactText() effettuano la ricerca con le stesse regole di corrispondenza di SearchAnnotationText() / Search, quindi una stringa di ricerca che non corrisponde lì non riuscirà nemmeno a censurare.

Problemi Comuni

ProblemaCauseCorrezione
Il marcatore di redazione non ha effettoPage.ApplyRedactions() non è mai stato chiamatoChiama Page.AddRedact() per ogni segno prima, poi Page.ApplyRedactions() una volta
Il contenuto è ancora recuperabile dopo un segnoIl segno ha usato AddRedact() (solo segno) senza una successiva chiamata a ApplyRedactions()Chiama ApplyRedactions(), o usa Redact() / RedactText() per la rimozione con una sola chiamata
Il testo redatto ricompare nei metadati del documento estrattoscrubMetadata non è stato impostatoPassa { scrubMetadata: true } nell’oggetto delle opzioni
ApplyRedactions() restituisce 0Nessun segno /Redact era presente nella pagina al momento della chiamataConferma che AddRedact() (o MarkRedactText()) sia stato eseguito per primo e abbia mirato alla stessa pagina

FAQ

Qual è la differenza tra AddRedact e Redact?

AddRedact() segna solo una regione — il contenuto è ancora presente e selezionabile fino a quando ApplyRedactions() viene eseguito. Redact() rimuove il contenuto nella stessa chiamata, senza un passaggio di applicazione separato.

Posso censurare cercando del testo invece di specificare le coordinate?

Sì. RedactText() trova e censura immediatamente ogni occorrenza di una stringa di ricerca o RegExp; MarkRedactText() fa lo stesso ma segna solo le corrispondenze, lasciandole per una successiva chiamata a ApplyRedactions().

La censura funziona su tutto il documento o solo una pagina alla volta?

Entrambi. Page.Redact() / Page.ApplyRedactions() e i loro fratelli operano su una pagina; Document.Redact() / Document.ApplyRedactions() e i loro fratelli operano su tutte le pagine.

Vengono rimosse anche le annotazioni vicino a una regione censurata?

Solo se li lasci così. Passa keepAnnotations: true nell’oggetto options per preservare le annotazioni che si sovrappongono a una regione redatta invece di rimuoverle insieme ad essa.


API Reference Riepilogo

Classe/MetodoDescrizione
Page.AddRedact()Contrassegna una regione rettangolare con un’annotazione /Redact, senza rimuovere ancora il contenuto
Page.ApplyRedactions()Rimuovi in modo distruttivo ogni regione contrassegnata nella pagina e restituisci il conteggio applicato
Page.Redact()Rimuovi immediatamente il contenuto nelle regioni indicate, senza una fase di applicazione separata
Page.RedactText()Trova e redigi immediatamente ogni occorrenza di una stringa di ricerca o RegExp
Page.MarkRedactText()Trova e segna (senza applicare) ogni occorrenza di una stringa di ricerca o RegExp
Document.ApplyRedactions()Applica ogni segno /Redact su tutto il documento
Document.Redact() / Document.RedactText()Oscura immediatamente le regioni su una pagina, o un termine di ricerca su ogni pagina
Document.MarkRedactText()Segna ogni occorrenza di un termine di ricerca su ogni pagina

Vedi anche

 Italiano