THotPDF.RegisterSeparation – metoda

 

THotPDF.RegisterSeparation – metoda

THotPDF

 

Nahoru

Deklaruje barevný prostor Separation pro PDF 1.3+ pro tisková workflow s přímými barvami (ISO 32000-1 8.6.6.4). Každé volání registruje jeden přímý inkoust a vrací automaticky generovaný název barevného prostoru (Sep1, Sep2, ...), použitelný s THPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])

 

Syntaxe Delphi:

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

 

Syntaxe C++:

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

 

Popis

Barevný prostor Separation umožňuje PDF odkazovat na přímý inkoust (například barvu Pantone) podle názvu. Vyhovující tisková zařízení použijí skutečný inkoust; prohlížeče na obrazovce a digitální náhledy použijí dodanou barvu AlternateCS při tint = 1.0 a lineárně interpolují směrem k "bez inkoustu" při tint = 0

 

ColorantName - název inkoustu, např. 'Pantone 185 C'. Mezery se ve výstupním názvu PDF escapují na #20 podle PDF 1.7 7.3.5; jiným oddělovacím znakům PDF (závorky, hranaté závorky, lomítka, procenta) je vhodné se vyhnout

AlternateCS - 'DeviceGray' (1 složka), 'DeviceRGB' (3) nebo 'DeviceCMYK' (4). Jakákoli jiná hodnota vyvolá výjimku

TintC1 - složky alternate-CS při plné síle inkoustu (tint = 1.0). Počet složek musí odpovídat AlternateCS; hodnoty jsou v [0..1]. Upozornění: pro DeviceGray platí konvence 0 = černá a 1 = bílá (opačně než výchozí hodnota obrazu BlackIs1)

 

Vrácená hodnota: automaticky generovaný název (Sep1, Sep2, ...). Vrací prázdný řetězec, když je zapnutý StrictVersionLock a aktivní Verze je pod PDF 1.3 (jinak se verze dokumentu automaticky zvýší na 1.3)

 

Příklad kódu

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

 

Viz také

RegisterDeviceN, RegisterLabColorSpace, Verze, PDF Filter Support