THotPDF.RegisterSeparation Method

 

THotPDF.RegisterSeparation

THotPDF

 

ด้านบน

ประกาศพื้นที่สี Separation สำหรับ PDF 1.3+ สำหรับเวิร์กโฟลว์การพิมพ์สีพิเศษ (ISO 32000-1 8.6.6.4) การเรียกแต่ละครั้งจะลงทะเบียนหมึกพิมพ์สีพิเศษหนึ่งสี และส่งคืนชื่อพื้นที่สีที่สร้างขึ้นโดยอัตโนมัติ (Sep1, Sep2, ...) ซึ่งสามารถใช้กับ THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])

 

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

 

คำอธิบาย

พื้นที่สี Separation ช่วยให้เอกสาร PDF อ้างอิงหมึกพิมพ์พิเศษ (เช่น สี Pantone) ตามชื่อได้ อุปกรณ์การพิมพ์ที่รองรับจะใช้หมึกพิมพ์จริง ส่วนโปรแกรมดูบนหน้าจอและโปรแกรมพรีวิวแบบดิจิทัลจะสลับไปใช้สี AlternateCS ที่กำหนดให้ที่ค่า tint = 1.0 โดยประมาณค่าในช่วงแบบเส้นตรงไปยัง "ไม่มีหมึกพิมพ์" ที่ค่า tint = 0

 

ColorantName - ชื่อหมึกพิมพ์ เช่น 'Pantone 185 C' ช่องว่างจะถูกแปลงเป็น #20 ในชื่อ PDF เอาต์พุตตามข้อกำหนด PDF 1.7 7.3.5 และควรหลีกเลี่ยงอักขระตัวคั่น PDF อื่นๆ (วงเล็บ วงเล็บเหลี่ยม สแลช เครื่องหมายเปอร์เซ็นต์)

AlternateCS - 'DeviceGray' (1 ส่วนประกอบ), 'DeviceRGB' (3) หรือ 'DeviceCMYK' (4) ค่าอื่นใดนอกเหนือจากนี้จะทำให้เกิดข้อยกเว้น

TintC1 - ส่วนประกอบ AlternateCS ที่ความเข้มข้นของน้ำหมึกเต็มที่ (tint = 1.0) จำนวนส่วนประกอบต้องตรงกับ AlternateCS และค่าอยู่ในช่วง [0..1] โปรดทราบว่าสำหรับ DeviceGray ข้อตกลงคือ 0 = สีดำ และ 1 = สีขาว (ตรงข้ามกับค่าเริ่มต้น BlackIs1 ของรูปภาพ)

 

ค่าส่งคืน: ชื่อที่สร้างขึ้นโดยอัตโนมัติ (Sep1, Sep2, ...) คืนค่าสตริงว่างเมื่อเปิดใช้งาน StrictVersionLock และ Version ที่ใช้งานต่ำกว่า PDF 1.3 (มิฉะนั้นเวอร์ชันของเอกสารจะเพิ่มเป็น 1.3 โดยอัตโนมัติ)

 

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;

 

ดูเพิ่มเติม

RegisterDeviceN, RegisterLabColorSpace, Version, PDF Filter Support