|
Déclare un espace colorimétrique Separation pour PDF 1.3+ destiné aux flux d'impression en couleurs d'accompagnement (ISO 32000-1 8.6.6.4). Chaque appel enregistre une encre d'accompagnement et renvoie un nom d'espace colorimétrique généré automatiquement (Sep1, Sep2, ...) utilisable avec THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])
Syntaxe Delphi :
function RegisterSeparation(const ColorantName: AnsiString; const AlternateCS: AnsiString; const TintC1: array of Extended): AnsiString;
Syntaxe C++ :
AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count);
Description
Un espace colorimétrique Separation permet à un PDF de référencer une encre d'accompagnement, par exemple une couleur Pantone, par son nom. Les périphériques d'impression conformes utilisent l'encre réelle; les visionneuses à l'écran et les aperçus numériques se replient sur la couleur AlternateCS fournie à tint = 1.0, avec interpolation linéaire vers "aucune encre" à tint = 0
ColorantName - le nom de l'encre, par exemple 'Pantone 185 C'. Les espaces sont échappés en #20 dans le nom PDF de sortie conformément à PDF 1.7 7.3.5; les autres caractères délimiteurs PDF (parenthèses, crochets, barres obliques, signes de pourcentage) doivent être évités
AlternateCS - 'DeviceGray' (1 composante), 'DeviceRGB' (3) ou 'DeviceCMYK' (4). Toute autre valeur déclenche une exception
TintC1 - composantes de l'espace alternatif à pleine intensité d'encre (tint = 1.0). Le nombre de composantes doit correspondre à AlternateCS; les valeurs sont dans [0..1]. Notez que pour DeviceGray, la convention est 0 = noir et 1 = blanc, à l'inverse de la valeur par défaut BlackIs1 de l'image
Valeur de retour : un nom généré automatiquement (Sep1, Sep2, ...). Renvoie une chaîne vide lorsque StrictVersionLock est activé et que la Version active est inférieure à PDF 1.3, sinon la version du document passe automatiquement à 1.3
Exemple de code
// Register a Pantone-style spot ink backed by CMYK, paint four tint
// swatches showing the linear progression from no ink to full ink
var
SpotName: AnsiString;
T: Integer;
begin
HPDF.Version := pdf14;
HPDF.BeginDoc;
SpotName := HPDF.RegisterSeparation(
'Pantone 185 C', // ink name (spaces auto-escaped)
'DeviceCMYK', // alternate CS for screen / digital
[0.0, 0.95, 0.75, 0.0]); // CMYK at tint = 1.0
HPDF.CurrentPage.SetFillColorSpace(SpotName);
for T := 1 to 4 do
begin
HPDF.CurrentPage.SetFillColor([T * 0.25]);
HPDF.CurrentPage.Rectangle(60 + (T - 1) * 100, 100, 80, 60);
HPDF.CurrentPage.Fill;
end;
HPDF.EndDoc;
end;
Voir aussi
RegisterDeviceN, RegisterLabColorSpace, Version, Prise en charge des filtres PDF
|