THotPDF.RegisterSeparation Method

 

THotPDF.RegisterSeparation

THotPDF

 

Đầu trang

Khai báo không gian màu Separation của PDF 1.3+ cho quy trình in màu pha (ISO 32000-1 8.6.6.4). Mỗi lần gọi sẽ đăng ký một mực pha và trả về tên không gian màu được sinh tự động (Sep1, Sep2, ...) có thể dùng với THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])

 

Cú pháp Delphi:

function RegisterSeparation(const ColorantName: AnsiString; const AlternateCS: AnsiString; const TintC1: array of Extended): AnsiString;

 

Cú pháp C++:

AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count);

 

Mô tả

Không gian màu Separation cho phép PDF tham chiếu một mực pha (ví dụ màu Pantone) theo tên. Thiết bị in tuân thủ sẽ dùng mực in thực tế; trình xem trên màn hình và bộ xem trước số sẽ quay về màu AlternateCS đã cung cấp ở tint = 1.0, nội suy tuyến tính về trạng thái "không mực" tại tint = 0

 

ColorantName - tên mực, ví dụ 'Pantone 185 C'. Khoảng trắng được thoát thành #20 trong tên PDF đầu ra theo PDF 1.7 7.3.5; nên tránh các ký tự phân tách PDF khác (ngoặc, ngoặc vuông, dấu gạch chéo, dấu phần trăm)

AlternateCS - 'DeviceGray' (1 thành phần), 'DeviceRGB' (3), hoặc 'DeviceCMYK' (4). Bất kỳ giá trị nào khác đều gây ra ngoại lệ

TintC1 - các thành phần của không gian màu thay thế ở cường độ mực đầy đủ (tint = 1.0). Số lượng thành phần phải khớp với AlternateCS; giá trị nằm trong [0..1]. Lưu ý rằng với DeviceGray, quy ước là 0 = đen và 1 = trắng, ngược với mặc định BlackIs1 của ảnh

 

Giá trị trả về: một tên được sinh tự động (Sep1, Sep2, ...). Trả về chuỗi rỗng khi StrictVersionLock đang bật và Version hiện tại thấp hơn PDF 1.3, nếu không phiên bản tài liệu sẽ tự nâng lên 1.3

 

Ví dụ mã

// 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;

 

Xem thêm

RegisterDeviceN, RegisterLabColorSpace, Version, Hỗ trợ bộ lọc PDF