RecolorDocument
Färg
Beskrivning
Flyttar varje sida i dokumentet till en och samma färgrymd
Syntax
Delphi
Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;Parametrar
| TargetSpace | 1 grå, 2 RGB, 3 CMYK |
|---|
Returvärden
| Count | Hur många färger som konverterades i hela dokumentet |
|---|---|
| 0 | Inget behövde konverteras, eller TargetSpace låg utanför 1 till 3 En sida vars färger redan ligger i målfärgrymden behåller sina ursprungliga byte |
Anmärkningar
Konverteringen är den vanliga enhetsaritmetiken, inte en färghanterad sådan: ett dokument som bara anger DeviceRGB bär ingen profil att konvertera via. RGB blir grått enligt luminansvikterna i ITU-R BT.601, och CMYK konverteras som beskrivs i ISO 32000-1 §8.6.4.4, vilket är vad ett visningsprogram redan gör när det visar ett CMYK-dokument på skärm
Färger satta via en ICCBased-, Separation-, Indexed- eller Pattern-färgrymd lämnas som de är. Att läsa deras komponenter utan deras profil skulle förändra hur sidan ser ut i stället för att bevara den, så ett sådant dokument konverteras bara i de delar som namnger en enhetsfärgrymd direkt
Bilderna en sida ritar konverteras också, när bilden har åtta bitar per komponent, en enhetsfärgrymd och antingen ingen komprimering eller ren Flate. En JPEG- eller faxbild skulle behöva kodas om, vilket är en annan åtgärd än att konvertera dess färger, så den behåller sina egna byte
En indexerad bild konverteras i stället via sin färgtabell, så dess sampel behåller de index de redan hade. Den vägen bryr sig inte om hur sampelen är packade eller komprimerade, vilket är därför en palettbaserad skärmdump eller ett diagram konverteras även när dess sampel inte skulle kunna skrivas om
Gradienter konverteras tillsammans med funktionerna bakom dem, så färgrymd och stoppunkter håller alltid ihop. En gradient byggd från en samplad eller PostScript-funktion behåller sina egna färger, liksom nätskuggningstyperna, som bär sina färger i en ström i stället för i en funktion
Mjuka masker och schablonmasker lämnas orörda. Båda läses som täckning och inte som färg, och att konvertera en av dem skulle lämna sidan med masken synlig som bild
Geometri, text, klippning och alla andra operatorer skrivs tillbaka oförändrade
Den valda sidan återställs när anropet returnerar
Exempel
// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');