Contents | < Les Graphiques | Les Flotteurs >
Les professionnels des graphiques savent l'importance de la gestion de couleur. N'importe combien de temps vous pensez à l'arrangement de couleur pour un projet donné, tout ce travail sert à rien si les résultats imprimés ne correspondent pas à vos espérances.
Chaque couleur est codée comme une combinaison des valeurs Rouge, Verte et Bleue. Qu'est-ce que signifient ces valeurs; par exemple quelle couleur est 88/249/17? Sans aucun contexte, c'est un triplet des nombres sans signification . C'est ici où intervient les espaces de couleur.
Un espace de couleur fournit la définition de la couleur représentée par une combinaison numérique. Si notre exemple de 88/249/17 est interprété en utilisant l'espace de couleur d'Adobe RGB (RVB), il est un vert vif et dynamique. Si, d'autre part, la même valeur est interprétée en utilisant l'espace de couleur de sRGB, il est un vert pâle, jaunâtre.
(88, 249, 17) en Adobe RGB
La même valeur RGB en sRGB
Par défaut toutes les couleurs utilisées dans vos documents XSL-FO sont considérées d'être données dans l'espace de couleur sRGB.
Pour employer les couleurs RGB, vous pouvez indiquer des valeurs pour chaque composant (Rouge, Vert et Bleue), ou vous pouvez indiquer un nom de couleur. XF Rendant le Serveur soutient le pallete étendue décrite dans SVG specifications pour les deux intrées SVG et XSL-FO.
Les notations suivantes sont équivalentes:
<fo:block color="red">Red text.</fo:block> <fo:block color="rgb(255,0,0)">Red text.</fo:block> <fo:block color="rgb(100%,100%,100%)">Red text.</fo:block> <fo:block color="#FF0000">Red text.</fo:block> <fo:block color="#F00">Red text.</fo:block>
La dernière notation s'appelle une notation courte. La notation de trois chiffres de RGB (#rgb) est convertie dans une forme de six chiffres (#rrggbb) en repliant les chiffres, pas en ajoutant des zéros. Par exemple, #fb0 augmente à #ffbb00.
En produisant le PDF, toutes les couleurs RGB sont arangées dans un espace de couleur prédéfini de PDF appelé DeviceRGB.
Vous pouvez employer une prolongement spécifique d'ECRION pour indiquer des couleurs dans le format de CMYK (cyan, magenta, yellow (jaune), black (noir)):
<fo:block color="cmyk(0,100,100,0)">Red text.</fo:block>
En produisant le PDF, tout le couleurs CMYK indiquées qui utilisent ce prolongement sont arrangées à l'espace de couleur de DeviceCMYK.
Si vous avez un profil de couleur de CMYK que vous souhaitez employer, lisez ci-dessous.
En plus, la recommandation de XSL-FO indique comment employer les couleurs décrites par un profil ICC externe. Avec des profils précis de moniteur et d'imprimante, vos copies correspondront étroitement avec ce que vous voyez sur votre moniteur.
Pour déclarer un espace de couleur utilisez fo:color-profile:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:declarations>
<fo:color-profile color-profile-name="RGBColorProfile" src="AppleRGB.icc"/>
<fo:color-profile color-profile-name="CMYKColorProfile" src="AppleCMYK.icc"/>
</fo:declarations>
...
<fo:page-sequence master-reference="default-sequence">
<fo:flow flow-name="xsl-region-body" font-size="12pt" font-family="Times New Roman">
<fo:block background="rgb(255,0,0)">RGB Color</fo:block>
<fo:block background="rgb-icc(255,0,0,#RGBColorProfile, 1, 0, 0) ">
ICC RGB Color
</fo:block>
<fo:block background="rgb-icc(255,0,0,#CMYKColorProfile, 0, 1, 1, 0) ">
ICC CMYK Color
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
Les points importants dans cet exemple sont:
Nous déclarons deux espaces de couleur, appelés "RGBColorProfile" et "CMYKColorProfile".
Nous employons la fonction rgb-icc pour indiquer les intensités de chaque composant dans cet espace de couleur. Le nom de cette fonction est un peu trompeur, parce que rgb-icc peut être employé pour décrire non seulement les couleurs de RGB (red-rouge, green-vert, blue-bleu), mais également celles de Grascale, CMYK et Pantone.
rgb-icc prend les arguments suivants:
rgb-icc(fallbackRed,fallbackGreen,fallbackBlue,#colorProfileReference, component1, ..., componentN)
Si votre profil de couleur est un profil de couleur de Grayscale, vous emploierez seulement la composante1. Si vous avez un profil de couleur de RGB, vous devez employer trois valeurs, alors que pour un profil de couleur de CMYK vous devez employer quatre valeurs. Chaque valeur est un nombre flottant et doit avoir une valeur entre 0.00 et 1.00 et représente l'intensité de cette couleur.
Pour un profil de couleur de CMYK vous devez indiquer chacun des quatre composants. Veuillez noter que XF produira une erreur si le nombre des composants indiquées par vous en utilisant rgb-icc ne correspond pas au nombre de couleurs définies dans le profil de couleur.
![]() | Pour le code source complet pour cet exemple de code voyez "Tutorial/ColorProfiles.fo" situé dans le dossier XML Documents Samples/Tutorial. |
Vous pouvez également attribuer des profils de couleur à des images et aux documents de SVG en utilisant xf:color-profile:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xf="http://www.ecrion.com/xf/1.0"> ... <fo:block> <fo:external-graphic src="redsquare.svg" xf:color-profile="#CMYKColorProfile"/> </fo:block>
Veuillez noter que l'espace de noms de xf doit être déclaré; habituellement ceci est faite comme montré ci-dessus, dans l'élément de racine.
![]() | Pour le code source complet pour cet exemple de code voyez "Tutorial/ColorProfilesImages.fo" situé dans le dossier XML Documents Samples/Tutorial. |
Vous pouvez noter que les documents PDF qui contiennent des images RGB transparentes ne peuvent pas imprimer correctement sur les imprimantes CMYK. Ceci se produit parce que le calcul de se mélange se produit dans l'espace de couleur du dispositif de sortie. Si vous introduisez les éléments dans le RGB, et le calcul se produit dans CMYK (le défaut de la plupart des imprimantes), vous obtiendrez des résultats faibles. Pour corriger ce problème, vous pouvez placer expressement l'espace des couleurs mélangées en utilisant l'élément xf:page-settings.
<xf:page-settings blending-color-space="DeviceNative | DeviceRGB | DeviceCMYK | DeviceGray | custom"/>
Pour employer un profil ICC externe:
<fo:root>
<xf:page-settings blending-color-space="#CustomCMYKProfile"/>
<fo:declarations>
<fo:color-profile color-profile-name="CustomCMYKProfile"
src="Adobe ICC Profiles\CMYK Profiles\EuroscaleCoated.icc"/>
</fo:declarations>
<fo:layout-master-set>
...
</fo:layout-master-set>
</fo:root>
Contents | < Les Graphiques | Les Flotteurs >