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 aRedact()/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 aApplyRedactions()-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 aRedactOptions/ApplyRedactionsOptions-ben, ha a kitakart tartalom a dokumentum metaadataiban is megjelenhet (/Infovagy XMP). RedactText()ésMarkRedactText()keresés ugyanazokkal a egyezési szabályokkal működik, mint aSearchAnnotationText()/Search, ezért egy olyan keresőkifejezés, amely ott nem egyezik, szintén nem fog kitakarni.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
| A redakciójelnek nincs hatása | Page.ApplyRedactions() soha nem lett meghívva | Elő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án | A jelzés a(z) AddRedact() (csak jel) használta, anélkül, hogy ApplyRedactions() hívás következett volna | Hí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 metaadataiban | A(z) scrubMetadata nincs beállítva | Adja át a(z) { scrubMetadata: true } az options objektumban |
A(z) ApplyRedactions() visszaadja a(z) 0 | Nem léteztek /Redact jelölések az oldalon a híváskor | Erő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ódszer | Leí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 |