THotPDF.RegisterSeparation Method

 

THotPDF.RegisterSeparation

THotPDF

 

Topo

Declara um espaço de cores Separation PDF 1.3+ para fluxos de impressão com cor spot (ISO 32000-1 8.6.6.4). Cada chamada registra uma tinta spot e retorna um nome de espaço de cores gerado automaticamente (Sep1, Sep2, ...) utilizável com 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);

 

Descrição

Um espaço de cores Separation permite que um PDF referencie uma tinta spot (por exemplo, uma cor Pantone) por nome. Dispositivos de impressão conformes usam a tinta real; visualizadores em tela e pré-visualizadores digitais recorrem à cor AlternateCS fornecida em tint = 1.0, interpolando linearmente em direção a "sem tinta" em tint = 0

 

ColorantName - nome da tinta, por exemplo 'Pantone 185 C'. Espaços são escapados como #20 no nome PDF de saída conforme PDF 1.7 7.3.5; outros caracteres delimitadores de PDF (parênteses, colchetes, barras, sinais de porcentagem) devem ser evitados

AlternateCS - 'DeviceGray' (1 component), 'DeviceRGB' (3), or 'DeviceCMYK' (4). Any other value raises an exception.

TintC1 - componentes alternate-CS na força total da tinta (tint = 1.0). A contagem de componentes deve corresponder a AlternateCS; os valores ficam em [0..1]. Observe que, para DeviceGray, a convenção é 0 = preto e 1 = branco (oposto ao padrão BlackIs1 de imagem)

 

Valor de retorno: um nome gerado automaticamente (Sep1, Sep2, ...). Retorna uma string vazia quando StrictVersionLock está ativo e a Version ativa é inferior a PDF 1.3 (caso contrário a versão do documento é elevada automaticamente para 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;

 

Consulte também

RegisterDeviceN, RegisterLabColorSpace, Version, PDF Filter Support