Spot renkli baskı iş akışları için PDF 1.3+ Separation renk uzayı bildirir (ISO 32000-1 8.6.6.4). Her çağrı bir spot mürekkep kaydeder ve THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint]) ile kullanılabilen otomatik üretilmiş bir renk uzayı adı döndürür (Sep1, Sep2, ...). Delphi sözdizimi: function RegisterSeparation(const ColorantName: AnsiString; const AlternateCS: AnsiString; const TintC1: array of Extended): AnsiString; C++ sözdizimi: AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count); Açıklama Separation renk uzayı, PDF'in bir spot mürekkebi (örneğin bir Pantone rengi) adıyla referanslamasını sağlar. Uyumlu baskı aygıtları gerçek mürekkebi kullanır; ekran üstü okuyucular ve dijital önizleyiciler tint = 1.0'da verilen AlternateCS rengine döner ve tint = 0'da "mürekkep yok" durumuna doğru doğrusal ara değer kullanır. ColorantName - mürekkep adı, örn. 'Pantone 185 C'. PDF 1.7 7.3.5 uyarınca boşluklar çıktıdaki PDF adında #20 olarak kaçışlanır; diğer PDF ayırıcı karakterlerinden (parantezler, köşeli parantezler, eğik çizgiler, yüzde işaretleri) kaçınılmalıdır. AlternateCS - 'DeviceGray' (1 bileşen), 'DeviceRGB' (3) veya 'DeviceCMYK' (4). Diğer herhangi bir değer istisna fırlatır. TintC1 - tam mürekkep gücündeki (tint = 1.0) alternate-CS bileşenleri. Bileşen sayısı AlternateCS ile eşleşmelidir; değerler [0..1] aralığındadır. DeviceGray için kuralın 0 = siyah ve 1 = beyaz olduğunu unutmayın (görüntü BlackIs1 varsayılanının tersi). Dönüş değeri: otomatik üretilmiş bir ad (Sep1, Sep2, ...). StrictVersionLock açıkken ve etkin Version PDF 1.3'ün altındayken boş dize döndürür (aksi hâlde belge sürümü otomatik olarak 1.3'e yükselir).
Kod Örneği
// 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;
Ayrıca bakın RegisterDeviceN, RegisterLabColorSpace, Version, PDF filtre desteği |