|
Mendeklarasikan color space Separation PDF 1.3+ untuk alur kerja cetak warna spot (ISO 32000-1 8.6.6.4). Setiap pemanggilan mendaftarkan satu tinta spot dan mengembalikan nama color-space yang dihasilkan otomatis (Sep1, Sep2, ...) yang dapat digunakan dengan THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])
Sintaks Delphi:
function RegisterSeparation(const ColorantName: AnsiString; const AlternateCS: AnsiString; const TintC1: array of Extended): AnsiString;
Sintaks C++:
AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count);
Deskripsi
Color space Separation memungkinkan PDF mereferensikan tinta spot (misalnya warna Pantone) berdasarkan nama. Perangkat cetak yang patuh memakai tinta sebenarnya; penampil layar dan pratinjau digital kembali ke warna AlternateCS yang diberikan pada tint = 1.0, lalu menginterpolasi secara linear menuju "no ink" pada tint = 0
ColorantName - nama tinta, misalnya 'Pantone 185 C'. Spasi di-escape menjadi #20 pada nama PDF keluaran menurut PDF 1.7 7.3.5; karakter pemisah PDF lain (tanda kurung, kurung siku, garis miring, tanda persen) sebaiknya dihindari
AlternateCS - 'DeviceGray' (1 komponen), 'DeviceRGB' (3), atau 'DeviceCMYK' (4). Nilai lain akan memunculkan pengecualian
TintC1 - komponen alternate-CS pada kekuatan tinta penuh (tint = 1.0). Jumlah komponen harus cocok dengan AlternateCS; nilainya berada di [0..1]. Perlu dicatat bahwa untuk DeviceGray, konvensinya adalah 0 = hitam dan 1 = putih (kebalikan dari default gambar BlackIs1)
Nilai kembali: nama yang dihasilkan otomatis (Sep1, Sep2, ...). Mengembalikan string kosong ketika StrictVersionLock aktif dan Version aktif berada di bawah PDF 1.3 (jika tidak, versi dokumen dinaikkan otomatis ke 1.3)
Contoh kode
// 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;
Lihat juga
RegisterDeviceN, RegisterLabColorSpace, Version, PDF Filter Support
|