Come redigere il contenuto PDF in TypeScript

Come redigere il contenuto PDF in TypeScript

Questa guida mostra come redigere il contenuto PDF con Aspose.PDF FOSS per TypeScript. Page.AddRedact() segna una regione; Page.ApplyRedactions() riscrive distruttivamente lo stream di contenuto in modo che i glifi sotto ogni regione contrassegnata vengano rimossi. I segni lasciati non applicati rimangono come normali annotazioni selezionabili e copiabili. Richiede Node.js 22 o versioni successive.

Guida passo passo

Passo 1: Installa il pacchetto

git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run build

Verifica l’installazione importando la classe Document in un nuovo file TypeScript — questa riga dovrebbe risolversi senza errori una volta che il pacchetto è installato:

import { Document } from '@asposefoss/pdf';

Passo 2: Importa le classi richieste

Importa Document per aprire il file; AddRedact() e ApplyRedactions() vengono chiamati direttamente sulle istanze Page che restituisce:

import { Document } from '@asposefoss/pdf';

Passo 3: Contrassegnare un’area per la redazione

Page.AddRedact(opts) disegna un RedactAnnotation sopra rect. fill imposta il colore dipinto sull’area una volta applicato, e overlayText (con align, fontSize, textColor) stampa un’etichetta di sostituzione come [REDACTED]:

const doc = Document.OpenFile('memo.pdf');
const page = doc.Pages[0];

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

Passo 4: Applicare le redazioni

Page.ApplyRedactions() riscrive distruttivamente il flusso di contenuto — i glifi all’interno di ogni RedactAnnotation contrassegnato sulla pagina scompaiono definitivamente, e i segni applicati vengono rimossi. I segni aggiunti dopo questa chiamata rimangono non applicati: il valore sotto di essi è ancora leggibile e rimane selezionabile per la copia:

page.ApplyRedactions();
doc.WriteTo('memo-redacted.pdf');

Problemi comuni e soluzioni

Un segno di redazione mostra il riquadro nero ma il testo sottostante può ancora essere copiato. Page.ApplyRedactions() non è mai stato chiamato (o è stato chiamato prima che il segno fosse aggiunto). Segnare con AddRedact() da solo disegna solo un’annotazione sulla regione — il contenuto sottostante viene distrutto solo una volta ApplyRedactions() viene eseguito.

ApplyRedactions() contenuto rimosso dal segno rect non copriva. rect è la regione esatta riscritta — testo o immagini che si sovrappongono solo parzialmente possono ancora essere parzialmente distrutti al confine. I segni di dimensione dovrebbero essere generosi intorno al contenuto target.

I risultati della ricerca non possono essere passati direttamente a Page.AddRedact(). Un risultato da Page.SearchAnnotationText() contiene metadati di annotazione, non la geometria della pagina — non ha la stessa forma del rect an AddRedact() segno atteso. Page.MarkRedactText(find, opts) and Page.RedactText(find, opts) sono i punti di ingresso per la censura tramite ricerca testuale, e entrambi sono disponibili anche al Document livello per eseguire una scansione di tutte le pagine in una sola chiamata.

Una censura sopravvive alla crittografia in modo inaspettato. Censura e crittografia sono operazioni indipendenti — applica le censure prima di salvare con encrypt opzioni se l’obiettivo è sia rimuovere il contenuto sia limitare l’accesso a ciò che resta; applicare nell’ordine inverso non annulla un salvataggio già crittografato.

Domande Frequenti

Qual è la differenza tra contrassegnare e applicare una censura?

AddRedact() crea solo un’annotazione che descrive dove è prevista una censura — il contenuto coperto rimane intatto e ancora selezionabile/copiabile finché non viene eseguito ApplyRedactions() e riscrive distruttivamente la pagina.

Posso censurare cercando del testo invece di specificare un rettangolo?

Sì — Page.MarkRedactText(find, opts) contrassegna ogni corrispondenza di find per un’applicazione successiva, e Page.RedactText(find, opts) contrassegna e applica in una singola chiamata. Entrambi esistono anche su Document per scandire l’intero documento.

Il ApplyRedactions() influisce sulle annotazioni diverse dalle marcature di redazione?

No — riscrive il flusso di contenuto sotto le proprie marcature RedactAnnotation; gli altri tipi di annotazione nella pagina non vengono toccati da questa chiamata.

Una redazione è reversibile?

No — ApplyRedactions() è distruttivo. Conserva il file originale se il contenuto non redatto deve poter essere recuperato in seguito.

Vedi anche

 Italiano