RedactRegion

Manipulace se stránkou

Popis

Skutečně odstraní text, vektorové cesty a image XObjecty, jejichž vykreslená plocha protíná obdélník, úpravou obsahového proudu stránky, takže podkladové glyfy, vektory i obrazové bajty zmizí a nedají se obnovit. To je zásadně jiné než MaskRect, který přes obsah jen natře neprůhledný obdélník (původní bajty zůstávají a dají se extrahovat)

Pro každou obsahovou vrstvu metoda parsuje proud, sleduje CTM (s respektem ke cm/q/Q), identifikuje instrukce, jejichž transformovaný ohraničující box protíná oblast, a smaže je. Volitelné chování řízené přes Options: otisknout nad oblastí černý vyplněný box a vypsat standardní anotaci /Subtype /Redact

Omezení: sledování CTM je přibližné u smykových a otočených transformací (lineární škálování a identitní základna se obstarávají přesně). Šířka textu se odhaduje z počtu glyfů a velikosti fontu, protože samotný obsahový proud nenese žádné metriky. Umístění image XObject se aproximuje jako jednotkový čtverec transformovaný CTM

Syntaxe

Delphi

Function TPDFlib.RedactRegion(Page: Integer; Left, Top, Width, Height: Double; Options: Integer): Integer;

Parametry

PageThe 1-based page number
Left, TopLevý horní roh oblasti v aktuálních měrných jednotkách (původ vlevo nahoře)
Width, HeightVelikost oblasti v aktuálních měrných jednotkách
Options0 = remove + black fill + Redact annotation; 1 = remove only; 2 = remove + Redact annotation (no fill)

Návratové hodnoty

>= 0Počet odstraněných rozsahů instrukcí napříč všemi obsahovými vrstvami (0 znamená, že se nic neprotínalo)