Redaction

Redaction

Ta strona opisuje trwałe usuwanie treści z strony PDF. Aspose.PDF FOSS dla TypeScript oferuje dwa przepływy redakcji: dwufazowy proces zaznacz-następnie-zastosuj, który możesz przejrzeć przed zatwierdzeniem, oraz jednorazowy natychmiastowy przepływ. Oba są dostępne w Page dla pojedynczej strony oraz w Document dla całego dokumentu.


Zaznaczanie i stosowanie redakcji

Page.AddRedact() zaznacza prostokątny obszar przy pomocy adnotacji /Redact — zawartość pod nią pozostaje nienaruszona i nadal możliwa do skopiowania. Nic nie jest faktycznie usuwane, dopóki nie uruchomi się Page.ApplyRedactions(): destrukcyjnie przepisuje strumień treści dla każdego zaznaczenia /Redact na stronie, maluje nakładkę każdego zaznaczenia (jego wypełnienie /IC i /OverlayText), usuwa zaznaczenia i zwraca liczbę zastosowanych redakcji. Zaznaczenia dodane po wywołaniu ApplyRedactions() pozostają nie zastosowane.

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

Redakcja natychmiastowa

Page.Redact() i Page.RedactText() łączą zaznaczanie i stosowanie w jednym wywołaniu: naprawdę usuwają zakryty tekst i obrazy, przycinają zasoby pozostawione osierocone po usunięciu i malują nieprzezroczyste pole znacznika nad każdym obszarem — bez oddzielnego kroku ApplyRedactions() i bez konieczności wstępnego przeglądu. Page.Redact() przyjmuje explicite listę obszarów Rect; Page.RedactText() znajduje i redaguje każde wystąpienie ciągu wyszukiwania lub RegExp, w taki sam sposób, w jaki wyszukuje Page.SearchAnnotationText(). Oba przyjmują obiekt RedactOptions sterujący color znacznika, określający, czy scrubMetadata, oraz czy keepAnnotations zachodzi na redagowany obszar.

Ponieważ usuwają treść od razu, bez kroku przeglądu, preferuj AddRedact() + ApplyRedactions(), gdy znacznik powinien być sprawdzany przed zatwierdzeniem, oraz Redact() / RedactText(), gdy obszary lub terminy wyszukiwania są już znane jako bezpieczne do usunięcia.


Redagowanie całego dokumentu

Te same dwa przepływy pracy istnieją w Document, obejmując jednocześnie wszystkie strony: Document.MarkRedactText() oznacza każde wystąpienie terminu wyszukiwania we wszystkich stronach, Document.ApplyRedactions() stosuje wszystkie oznaczenia w dokumencie, a Document.Redact() / Document.RedactText() natychmiast usuwają regiony jednej strony lub termin wyszukiwania obejmujący cały dokument, odzwierciedlając ich odpowiedniki Page.


Wskazówki i najlepsze praktyki

  • Użyj AddRedact() + ApplyRedactions(), gdy redakcja powinna być możliwa do przeglądu przed jej zastosowaniem; użyj Redact() / RedactText(), gdy regiony są już potwierdzone jako bezpieczne do natychmiastowego usunięcia.
  • Dodaj wszystkie znaczniki AddRedact() dla strony przed wywołaniem ApplyRedactions() — znaczniki dodane później nie są uwzględniane w tym wywołaniu i pozostają nie zastosowane.
  • Przekaż scrubMetadata: true w RedactOptions / ApplyRedactionsOptions, gdy zredagowana treść może również występować w metadanych dokumentu (/Info lub XMP).
  • RedactText() i MarkRedactText() wyszukują według tych samych reguł dopasowania co SearchAnnotationText() / Search, więc ciąg wyszukiwania, który nie zostanie tam dopasowany, również nie zostanie zredagowany.

Typowe problemy

ProblemPrzyczynaNaprawa
Znacznik redakcji nie ma efektuPage.ApplyRedactions() nigdy nie został wywołanyWywołaj Page.AddRedact() dla każdego znacznika najpierw, a następnie Page.ApplyRedactions() raz
Treść nadal możliwa do odzyskania po znacznikuZnacznik użył AddRedact() (tylko znacznik) bez następującego wywołania ApplyRedactions()Wywołaj ApplyRedactions(), lub użyj Redact() / RedactText() do jednorazowego usunięcia
Zredagowany tekst pojawia się ponownie w wyodrębnionych metadanych dokumentuscrubMetadata nie zostało ustawionePrzekaż { scrubMetadata: true } w obiekcie opcji
ApplyRedactions() zwraca 0Na stronie nie istniały żadne oznaczenia /Redact, gdy została wywołanaPotwierdź, że AddRedact() (lub MarkRedactText()) uruchomił się jako pierwszy i skierował się do tej samej strony

FAQ

Jaka jest różnica między AddRedact a Redact?

AddRedact() tylko oznacza obszar — treść nadal jest obecna i możliwa do skopiowania, dopóki nie zostanie uruchomiony ApplyRedactions(). Redact() usuwa treść w tym samym wywołaniu, bez oddzielnego kroku zastosowania.

Czy mogę wykonać redakcję, wyszukując tekst zamiast określania współrzędnych?

Tak. RedactText() znajduje i od razu redaguje każde wystąpienie ciągu wyszukiwania lub RegExp; MarkRedactText() robi to samo, ale tylko oznacza dopasowania, pozostawiając je na późniejsze wywołanie ApplyRedactions().

Czy redakcja działa na całym dokumencie, czy tylko na jednej stronie naraz?

Oba. Page.Redact() / Page.ApplyRedactions() i ich odpowiedniki działają na jednej stronie; Document.Redact() / Document.ApplyRedactions() i ich odpowiedniki działają na wszystkich stronach.

Czy adnotacje znajdujące się w pobliżu zredagowanego obszaru są również usuwane?

Tylko jeśli pozwolisz im być. Przekaż keepAnnotations: true w obiekcie opcji, aby zachować adnotacje nakładające się na zredagowany obszar zamiast usuwać je razem z nim.


API Reference Podsumowanie

Klasa/MetodaOpis
Page.AddRedact()Zaznacz prostokątny obszar za pomocą adnotacji /Redact, nie usuwając jeszcze treści
Page.ApplyRedactions()Trwale usuń każdy zaznaczony obszar na stronie i zwróć liczbę zastosowaną
Page.Redact()Natychmiast usuń zawartość w podanych obszarach, bez osobnego kroku zastosowania
Page.RedactText()Znajdź i natychmiast zamaskuj każde wystąpienie ciągu wyszukiwania lub RegExp
Page.MarkRedactText()Znajdź i zaznacz (bez zastosowania) każde wystąpienie ciągu wyszukiwania lub RegExp
Document.ApplyRedactions()Zastosuj każdy znacznik /Redact w całym dokumencie
Document.Redact() / Document.RedactText()Natychmiast ocenzuruj regiony na jednej stronie lub termin wyszukiwania na każdej stronie
Document.MarkRedactText()Zaznacz każde wystąpienie terminu wyszukiwania na każdej stronie

Zobacz także

 Polski