|
Declara un espacio de color Separation PDF 1.3+ para flujos de impresión con colores directos (ISO 32000-1 8.6.6.4). Cada llamada registra una tinta spot y devuelve un nombre de espacio de color generado automáticamente (Sep1, Sep2, ...) utilizable con THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])
Sintaxis Delphi:
function RegisterSeparation(const ColorantName: AnsiString; const AlternateCS: AnsiString; const TintC1: array of Extended): AnsiString;
Sintaxis C++:
AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count);
Descripción
Un espacio de color Separation permite que un PDF referencie una tinta spot (por ejemplo, un color Pantone) por nombre. Los dispositivos de impresión conformes usan la tinta real; los visores en pantalla y previsualizadores digitales recurren al color AlternateCS suministrado en tint = 1.0, interpolando linealmente hacia "sin tinta" en tint = 0
ColorantName - el nombre de la tinta, por ejemplo 'Pantone 185 C'. Los espacios se escapan a #20 en el nombre PDF de salida según PDF 1.7 7.3.5; deben evitarse otros caracteres delimitadores PDF (paréntesis, corchetes, barras, signos de porcentaje)
AlternateCS - 'DeviceGray' (1 componente), 'DeviceRGB' (3) o 'DeviceCMYK' (4). Cualquier otro valor lanza una excepción
TintC1 - componentes alternate-CS a intensidad completa de tinta (tint = 1.0). El recuento de componentes debe coincidir con AlternateCS; los valores están en [0..1]. Tenga en cuenta que para DeviceGray, la convención es 0 = negro y 1 = blanco (opuesto al valor predeterminado de imagen BlackIs1)
Valor devuelto: un nombre generado automáticamente (Sep1, Sep2, ...). Devuelve una cadena vacía cuando StrictVersionLock está activado y la Version activa está por debajo de PDF 1.3 (en caso contrario, la versión del documento sube automáticamente a 1.3)
Ejemplo de código
// 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;
Véase también
RegisterDeviceN, RegisterLabColorSpace, Version, Soporte de filtros PDF
|