|
Deklariert einen PDF-1.3+-Separation-Farbraum für Sonderfarben-Workflows im Druck (ISO 32000-1 8.6.6.4). Jeder Aufruf registriert eine Sonderfarbe und liefert einen automatisch erzeugten Farbraumnamen (Sep1, Sep2, ...) zurück, der sich mit THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint]) verwenden lässt
Delphi syntax:
function RegisterSeparation(const ColorantName: AnsiString; const AlternateCS: AnsiString; const TintC1: array of Extended): AnsiString;
C++ syntax:
AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count);
Description
Über einen Separation-Farbraum kann ein PDF eine Sonderfarbe (z. B. eine Pantone-Farbe) per Namen ansprechen. Konforme Druckgeräte verwenden die tatsächliche Farbe; Bildschirm-Viewer und digitale Vorschauen fallen bei Tint = 1.0 auf die angegebene AlternateCS-Farbe zurück und interpolieren linear bis „keine Farbe“ bei Tint = 0
ColorantName - der Name der Farbe, z. B. 'Pantone 185 C'. Leerzeichen werden im PDF-Namen der Ausgabe gemäß PDF 1.7 7.3.5 zu #20 maskiert; andere PDF-Trennzeichen (runde und eckige Klammern, Schrägstriche, Prozentzeichen) sollten vermieden werden
AlternateCS - 'DeviceGray' (1 component), 'DeviceRGB' (3), or 'DeviceCMYK' (4). Any other value raises an exception.
TintC1 - Komponenten des Alternativ-Farbraums bei voller Farbstärke (Tint = 1.0). Die Anzahl der Komponenten muss zu AlternateCS passen; die Werte liegen in [0..1]. Beachten Sie, dass bei DeviceGray die Konvention 0 = Schwarz und 1 = Weiß gilt (umgekehrt zum Standardwert BlackIs1 bei Bildern)
Rückgabewert: ein automatisch erzeugter Name (Sep1, Sep2, ...). Liefert einen leeren String, wenn StrictVersionLock aktiv ist und die aktuelle Version unter PDF 1.3 liegt (andernfalls wird die Dokumentversion automatisch auf 1.3 angehoben)
Code Example
// 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;
See Also
RegisterDeviceN, RegisterLabColorSpace, Version, PDF Filter Support
|