Redaction

Redaction

Această pagină acoperă eliminarea permanentă a conținutului dintr-o pagină PDF. Aspose.PDF FOSS pentru TypeScript oferă două fluxuri de redactare: un flux în două faze, marcă-după-aplicare, pe care îl revizuiți înainte de a comite, și un flux imediat printr-un singur apel. Ambele sunt disponibile pe Page pentru o singură pagină și pe Document pentru întregul document.


Marcarea și Aplicarea Redactărilor

Page.AddRedact() marchează o regiune rectangulară cu o adnotare /Redact — conținutul de dedesubt rămâne neatins și încă poate fi selectat și copiat. Nimic nu este eliminat efectiv până când Page.ApplyRedactions() rulează: rescrie în mod distructiv fluxul de conținut pentru fiecare marcaj /Redact de pe pagină, pictează suprapunerea fiecărui marcaj (umplerea sa /IC și /OverlayText), elimină marcajele și returnează numărul de redactări aplicate. Marcajele adăugate după ce ApplyRedactions() este apelat rămân neaplicate.

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);

Redactare Imediată

Page.Redact() și Page.RedactText() combină marcarea și aplicarea într-un singur apel: ele elimină cu adevărat textul și imaginile acoperite, taie resursele rămase orfane de eliminare și pictează o cutie opacă de marcaj peste fiecare regiune — fără un pas separat de ApplyRedactions() și fără nimic de revizuit mai întâi. Page.Redact() primește o listă explicită de regiuni Rect; Page.RedactText() găsește și redactează fiecare apariție a unui șir de căutare sau RegExp, în același mod în care Page.SearchAnnotationText() caută. Ambele acceptă un obiect RedactOptions care controlează color al marcajului, dacă să scrubMetadata, și dacă să keepAnnotations care se suprapun unei regiuni redactate.

Deoarece elimină conținutul imediat, fără pas de revizuire, preferați AddRedact() + ApplyRedactions() când un marcaj trebuie să fie inspectabil înainte de a fi comitat și Redact() / RedactText() când regiunile sau termenii de căutare sunt deja cunoscuți ca fiind siguri pentru eliminare.


Redactarea unui document întreg

Aceleași două fluxuri de lucru există pe Document, aplicate simultan la fiecare pagină: Document.MarkRedactText() marchează fiecare apariție a unui termen de căutare pe toate paginile, Document.ApplyRedactions() aplică fiecare marcaj în document, iar Document.Redact() / Document.RedactText() redactează imediat regiunile unei singure pagini sau termenul de căutare la nivel de document, reflectând echivalentele lor Page.


Sfaturi și bune practici

  • Folosește AddRedact() + ApplyRedactions() când o redactare trebuie să poată fi revizuită înainte de a intra în vigoare; folosește Redact() / RedactText() când regiunile sunt deja confirmate ca fiind sigure pentru a fi eliminate imediat.
  • Adaugă fiecare marcaj AddRedact() pentru o pagină înainte de a apela ApplyRedactions() — marcajele adăugate ulterior nu sunt incluse în acel apel și rămân neaplicate.
  • Transmite scrubMetadata: true în RedactOptions / ApplyRedactionsOptions când conținutul redactat ar putea fi prezent și în metadatele documentului (/Info sau XMP).
  • RedactText() și MarkRedactText() caută cu aceleași reguli de potrivire ca SearchAnnotationText() / Search, astfel încât un șir de căutare care nu se potrivește acolo va eșua și la redactare.

Probleme comune

ProblemăCauzăRemediere
Marca de redactare nu are efectPage.ApplyRedactions() nu a fost niciodată apelatApelă Page.AddRedact() pentru fiecare marcă mai întâi, apoi Page.ApplyRedactions() o singură dată
Conținutul este încă recuperabil după o marcăMarca a folosit AddRedact() (numai marcă) fără un apel ulterior al ApplyRedactions()Apelă ApplyRedactions(), sau folosește Redact() / RedactText() pentru eliminarea cu un singur apel
Textul redactat reapare în metadatele documentului extrasscrubMetadata nu a fost setatTransmite { scrubMetadata: true } în obiectul de opțiuni
ApplyRedactions() returnează 0Nu existau marcaje /Redact pe pagină când a fost apelatConfirmă că AddRedact() (sau MarkRedactText()) a rulat primul și a vizat aceeași pagină

FAQ

Care este diferența dintre AddRedact și Redact?

AddRedact() marchează doar o regiune — conținutul este în continuare prezent și poate fi selectat pentru copiere până când rulează ApplyRedactions(). Redact() elimină conținutul în aceeași apelare, fără un pas separat de aplicare.

Pot să redactez căutând text în loc să specific coordonate?

Da. RedactText() găsește și redactează imediat fiecare apariție a unui șir de căutare sau RegExp; MarkRedactText() face același lucru, dar doar marchează potrivirile, lăsându-le pentru un apel ulterior al ApplyRedactions().

Redactarea funcționează pe întregul document sau numai pe o pagină la un moment dat?

Ambele. Page.Redact() / Page.ApplyRedactions() și elementele lor înrudite operează pe o pagină; Document.Redact() / Document.ApplyRedactions() și elementele lor înrudite operează pe toate paginile.

Sunt și adnotările din apropierea unei regiuni redactate eliminate?

Doar dacă îi lași să fie. Transmite keepAnnotations: true în obiectul de opțiuni pentru a păstra adnotările care se suprapun unei regiuni redactate în loc să le elimini împreună cu ea.


API Reference Rezumat

Clasă/MetodăDescriere:
Page.AddRedact()Marcați o regiune rectangulară cu o adnotare /Redact, fără a elimina încă conținutul
Page.ApplyRedactions()Eliminați în mod distructiv fiecare regiune marcată de pe pagină și returnaţi numărul aplicat
Page.Redact()Eliminați imediat conținutul din regiunile date, fără un pas separat de aplicare
Page.RedactText()Găsiți și redactați imediat fiecare apariție a unui șir de căutare sau RegExp
Page.MarkRedactText()Găsește și marchează (fără a aplica) fiecare apariție a unui șir de căutare sau RegExp
Document.ApplyRedactions()Aplică fiecare marcaj /Redact în întregul document
Document.Redact() / Document.RedactText()Redactează imediat regiunile pe o pagină, sau un termen de căutare pe fiecare pagină
Document.MarkRedactText()Marchează fiecare apariție a unui termen de căutare pe fiecare pagină

Vezi și:

 Română