Redaction

Redaction

Ez az oldal a PDF oldal tartalmának végleges eltávolítását tárgyalja. Aspose.PDF FOSS a TypeScript számára két redakciós munkafolyamatot kínál: egy kétfázisú jelölés-azután-alkalmazás folyamatot, amelyet elkötelezés előtt felülvizsgál, és egy egyhívásos azonnali folyamatot. Mindkettő elérhető a Page esetén egyetlen oldalra, valamint a Document esetén a teljes dokumentumra.


Jelölés és redakciók alkalmazása

Page.AddRedact() egy téglalap alakú területet jelöl meg egy /Redact annotációval — a mögötte lévő tartalom érintetlen marad és továbbra is másolható-kijelölhető. Semmi sem kerül ténylegesen eltávolításra, amíg a Page.ApplyRedactions() nem fut: destruktívan újraírja a tartalomfolyamot minden /Redact jelöléshez az oldalon, megfesti minden jelölés átfedését (a /IC kitöltését és a /OverlayText), eltávolítja a jelöléseket, és visszaadja az alkalmazott redakciók számát. A ApplyRedactions() meghívása után hozzáadott jelölések maradnak alkalmazatlanok.

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

Azonnali redakció

Page.Redact() és Page.RedactText() egyetlen hívásban egyesítik a jelölést és az alkalmazást: valóban eltávolítják a lefedett szöveget és képeket, megtisztítják az eltávolítás által elárvult erőforrásokat, és átlátszatlan jelölődobozot festenek minden területre — külön ApplyRedactions() lépés nélkül, és előzetes felülvizsgálat nélkül. Page.Redact() egy explicit listát kap a Rect területekről; Page.RedactText() megtalálja és redakcióval ellátja a keresési karakterlánc vagy RegExp minden előfordulását, ugyanúgy, ahogy a Page.SearchAnnotationText() keres. Mindkettő elfogad egy RedactOptions objektumot, amely a jelölő color vezérlését szabályozza, hogy scrubMetadata, és hogy keepAnnotations az olyan átfedés, amely redakciós területet érint.

Mivel a tartalmat azonnal eltávolítják felülvizsgálati lépés nélkül, válassza a AddRedact() + ApplyRedactions() kombinációt, ha egy jelölést a véglegesítés előtt ellenőrizni kell, és a Redact() / RedactText() kombinációt, ha a területek vagy keresőkifejezések már ismert, hogy biztonságosan eltávolíthatók.


Egy teljes dokumentum kitakarása

Ugyanazok a két munkafolyamat léteznek a Document rendszerben, egyszerre az összes oldalra kiterjesztve: a Document.MarkRedactText() megjelöli a keresőkifejezés minden előfordulását az összes oldalon, a Document.ApplyRedactions() alkalmazza az összes megjelölést a dokumentumban, és a Document.Redact() / Document.RedactText() azonnal kitakarja egyetlen oldal régióit vagy a dokumentumra kiterjedő keresőkifejezést, tükrözve a Page megfelelőit.


Tippek és bevált gyakorlatok

  • Használd a AddRedact() + ApplyRedactions() kombinációt, ha a kitakarást a hatályba lépése előtt felül kell vizsgálni; használd a Redact() / RedactText() kombinációt, ha a régiók már biztonságosan eltávolíthatók azonnal.
  • Adj hozzá minden AddRedact() megjelölést egy oldalhoz, mielőtt meghívnád a ApplyRedactions()-t — az utána hozzáadott megjelölések nem lesznek belefoglalva abba a hívásba, és alkalmazatlanul maradnak.
  • Add meg a scrubMetadata: true-t a RedactOptions / ApplyRedactionsOptions-ben, ha a kitakart tartalom a dokumentum metaadataiban is megjelenhet (/Info vagy XMP).
  • RedactText() és MarkRedactText() keresés ugyanazokkal a egyezési szabályokkal működik, mint a SearchAnnotationText() / Search, ezért egy olyan keresőkifejezés, amely ott nem egyezik, szintén nem fog kitakarni.

Gyakori problémák

ProblémaOkJavítás
A redakciójelnek nincs hatásaPage.ApplyRedactions() soha nem lett meghívvaElőször hívja meg a(z) Page.AddRedact() minden jelzéshez, majd egyszer a(z) Page.ApplyRedactions() hívást
A tartalom még mindig visszaállítható egy jelzés utánA jelzés a(z) AddRedact() (csak jel) használta, anélkül, hogy ApplyRedactions() hívás következett volnaHívja meg a(z) ApplyRedactions(), vagy használja a(z) Redact() / RedactText() egyhívásos eltávolításhoz
A kitakarított szöveg újra megjelenik a kinyert dokumentum metaadataibanA(z) scrubMetadata nincs beállítvaAdja át a(z) { scrubMetadata: true } az options objektumban
A(z) ApplyRedactions() visszaadja a(z) 0Nem léteztek /Redact jelölések az oldalon a híváskorErősítse meg, hogy a(z) AddRedact() (vagy a(z) MarkRedactText()) futott elsőként, és ugyanarra az oldalra célozta

FAQ

Mi a különbség a AddRedact és a Redact között?

AddRedact() csak egy területet jelöl meg — a tartalom továbbra is jelen van, és másolható, amíg a ApplyRedactions() lefut. Redact() ugyanabban a hívásban eltávolítja a tartalmat, külön alkalmazási lépés nélkül.

Redact-olhatok-e a szöveg keresésével a koordináták megadása helyett?

Igen. RedactText() megtalálja és azonnal redact-olja a keresési karakterlánc vagy a RegExp minden előfordulását; MarkRedactText() ugyanazt teszi, de csak megjelöli a találatokat, és egy későbbi ApplyRedactions() hívásra hagyja őket.

A redaction az egész dokumentumra kiterjed, vagy csak egy oldalon egyszerre működik?

Mindkettő. A Page.Redact() / Page.ApplyRedactions() és testvéreik egy oldalon működnek; a Document.Redact() / Document.ApplyRedactions() és testvéreik minden oldalon működnek.

Az redacted régió közelében lévő annotációk is eltávolításra kerülnek?

Csak ha megengeded őket. Add meg a keepAnnotations: true értéket az options objektumban, hogy megőrizd azokat az annotációkat, amelyek átfedésben vannak egy redigált régióval, ahelyett, hogy együtt eltávolítanád őket.


API Reference Összefoglaló

Osztály/MódszerLeírás
Page.AddRedact()Jelöljön ki egy téglalap alakú területet egy /Redact annotációval, anélkül, hogy a tartalmat eltávolítaná
Page.ApplyRedactions()Véglegesen távolítsa el az oldalon jelölt összes területet, és adja vissza az alkalmazott darabszámot
Page.Redact()Azonnal távolítsa el a megadott területek tartalmát, külön alkalmazási lépés nélkül
Page.RedactText()Keresse meg és azonnal kitakarja a keresési karakterlánc vagy RegExp minden előfordulását
Page.MarkRedactText()Keresse meg és jelölje (alkalmazás nélkül) a keresőkifejezés vagy RegExp minden előfordulását
Document.ApplyRedactions()Alkalmazza minden /Redact jelölést az egész dokumentumban
Document.Redact() / Document.RedactText()Azonnal takarjon ki régiókat egy oldalon, vagy egy keresőkifejezést minden oldalon
Document.MarkRedactText()Jelölje meg a keresőkifejezés minden előfordulását minden oldalon

Lásd még:

 Magyar