|
Erklærer et PDF 1.3+ separationsfarverum til spotfarve-printarbejdsgange (ISO 32000-1 8.6.6.4); hvert kald registrerer ét spot-blæk og returnerer et autogenereret farverumsnavn (Sep1, Sep2, ...) som kan bruges medTHPDFPage.SetFillColorSpace / SetStrokeColorSpace + SetFillColor([tint]) / SetStrokeColor([tint])
Delphi-syntaks:
function RegisterSeparation(constColorantName: AnsiString;constAlternateCS: AnsiString;constTintC1:array ofExtended): AnsiString;
C++-syntaks:
AnsiString RegisterSeparation(const AnsiString& ColorantName, const AnsiString& AlternateCS, const Extended* TintC1, int TintC1Count);
Beskrivelse
Et separationsfarverum lader en PDF referere til et spot-blæk (f.eks. en Pantone-farve) efter navn; kompatible printerenheder bruger det faktiske blæk; skærmvisere og digitale forhåndsvisninger falder tilbage på det leveredeAlternateCSfarve ved nuance (tint) = 1.0, interpolerende lineært mod "intet blæk" ved nuance = 0
ColorantName - blæknavnet, f.eks'Pantone 185 C'; mellemrum escaper til#20i output-PDF-navnet pr. PDF 1.7 7.3.5; andre PDF-separatortegn (parenteser, kantede parenteser, skråstreger, procenttegn) bør undgås
AlternateCS - 'DeviceGray'(1 komponent),'DeviceRGB'(3) eller'DeviceCMYK'(4); enhver anden værdi udløser en undtagelse
TintC1 - alternative-CS-komponenter ved fuld blækstyrke (nuance = 1.0); antallet af komponenter skal matcheAlternateCS; værdier er i[0..1]; bemærk at forDeviceGray, er konventionen 0 = sort og 1 = hvid (det modsatte af billedetBlackIs1 default)
Returværdi: et autogenereret navn (Sep1, Sep2, ...); returnerer en tom streng, nårStrictVersionLocker slået til og den aktiveVersioner under PDF 1.3 (ellers opgraderes dokumentversionen automatisk til 1.3)
Kodeeksempel
// 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;
Se også
RegisterDeviceN, RegisterLabColorSpace, Version, PDF-filterunderstøttelse
|