RecolorDocument

Barvy

Popis

Převede každou stránku dokumentu do jednoho barevného prostoru

Syntaxe

Delphi

Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;

Parametry

TargetSpace1 grey, 2 RGB, 3 CMYK.

Návratové hodnoty

CountKolik barev se převedlo v celém dokumentu
0Nebylo třeba nic převádět nebo byl TargetSpace mimo rozsah 1 až 3. Stránka, jejíž barvy už jsou v cílovém prostoru, si zachová původní bajty

Poznámky

Převod je obyčejná aritmetika zařízení, ne řízená barevnými profily: dokument, který uvádí jen DeviceRGB, nemá profil, přes který by se dalo převádět. RGB zešedne podle jasových vah ITU-R BT.601 a CMYK se převede, jak popisuje ISO 32000-1 §8.6.4.4, tedy tak, jak už prohlížeč postupuje, když zobrazuje CMYK dokument na obrazovce

Barvy nastavené přes barevný prostor ICCBased, Separation, Indexed nebo Pattern zůstanou, jak jsou. Čtení jejich složek bez odpovídajícího profilu by vzhled stránky změnilo místo aby ho zachovalo, takže takový dokument se převede jen v částech, které přímo pojmenovávají zařízený barevný prostor

Obrázky, které stránka kreslí, se také převádějí, když má obrázek osm bitů na složku, barevný prostor zařízení, a buď žádnou kompresi, nebo prostý Flate. Obrázek JPEG nebo fax by se musel znovu zakódovat, což je jiná operace než převod jeho barev, takže si ponechá vlastní bajty

Indexovaný obrázek se místo toho převede přes jeho tabulku barev, takže vzorky si ponechají své stávající indexy. Této cestě je jedno, jak jsou vzorky zabalené nebo zkomprimované, a proto se převede i paletový screenshot nebo graf, i když jeho vzorky nešlo přepsat

Gradienty se převádějí spolu s funkcemi, které za nimi stojí, takže prostor i zarážky si vždy odpovídají. Gradient postavený na vzorkované nebo PostScript funkci si ponechá vlastní barvy, stejně tak typy mesh shading, které nesou barvy v proudu, ne ve funkci

Soft masky a stencilové masky se ponechávají beze změny. Obě se čtou jako krytí, nikoli jako barva, a převod jedné z nich by způsobil, že se maska na stránce zobrazí jako obrázek

Geometrie, text, oříznutí a všechny ostatní operátory se zapisují zpět nezměněny

Příklad

// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');

Viz také

RecolorPage, SetFillColor, SetFillColorCMYK