RecolorDocument
Barvy
Popis
Převede každou stránku dokumentu do jednoho barevného prostoru
Syntaxe
Delphi
Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;Parametry
| TargetSpace | 1 grey, 2 RGB, 3 CMYK. |
|---|
Návratové hodnoty
| Count | Kolik barev se převedlo v celém dokumentu |
|---|---|
| 0 | Nebylo 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');