THotPDF.ApplyLoadedRedactions

Wendet geladene Redact-Anmerkungen auf jede Zeichenkategorie an und entfernt dabei überschneidende Text-Bytes

Delphi-Syntax

function ApplyLoadedRedactions(
  const PageRange: AnsiString= ''): Integer;

Beschreibung

Die Methode sammelt die /Subtype /Redact-Anmerkungsrechtecke jeder ausgewählten Seite, normalisiert ihre Koordinaten und führt überschneidende Rechtecke konservativ zusammen

Ein äußeres Seitenrechteck und die zusammengeführten Schwärzungsrechtecke bilden einen Even-Odd-Clipping-Pfad um den kompletten ursprünglichen Seiteninhalt. Der Clip betrifft daher Text, gestrichene und gefüllte Pfade, Bilder, Pattern-Füllungen, Inline-Bilder und Form XObjects an exakten Rechteckgrenzen, statt einen ganzen Zeichenoperator zu verwerfen

Der Clipping-Graphics-State beginnt vor dem ersten Seiten-Content-Stream und wird nach dem letzten Stream wiederhergestellt, wodurch die normale State-Kontinuität über ein /Contents-Array hinweg erhalten bleibt. Opake schwarze Overlays werden erst nach dieser Wiederherstellung gezeichnet

Überschneidende direkte String-Operanden und einzelne TJ-String-Elemente werden in ihren ursprünglichen dekodierten Streams durch Leerzeichen ersetzt. Für die Überschneidungsprüfung dienen Glyphen-Vierecke, mit einem konservativen Fallback auf den Textursprung, wenn exakte Geometrie nicht verfügbar ist

Der Rückgabewert ist die Zahl der geleerten direkten String-Operanden und TJ-Elemente. Eine Null kann trotzdem bedeuten, dass Nicht-Text-Grafiken der Seite erfolgreich geclippt wurden

PageRange verwendet einsbasierte Seitennummern und Bereiche. Ein leerer Wert verarbeitet jede Seite

Siehe auch Erkennung von Schwärzungen mit vorheriger Prüfung, RedactLoadedRect und AddRedactAnnotation