====== std.pdf.spot ====== PDF-Spot-Farben (Separation Color Space, WP-PDF-25): Registriert benannte Spot-Farben (z. B. PANTONE-Töne) mit CMYK-Alternativwerten und wählt sie als Strich- oder Füllfarbe auf einer Seite aus. Spot-Farben werden im PDF als ''Separation''-Farbraum mit einer DeviceCMYK-Tint-Funktion eingebettet. → [[lyx_-_programmiersprache:units:pdf:shading|std.pdf.shading]] · [[lyx_-_programmiersprache:units:pdf:graphics|std.pdf.graphics]] · [[lyx_-_programmiersprache:units|Standard Library]] ---- ===== Funktionen ===== ^ Signatur ^ Beschreibung ^ | ''PdfDefineSpotColor(doc: int64, name: pchar, c100: int64, m100: int64, y100: int64, k100: int64): int64'' | Registriert eine benannte Spot-Farbe mit CMYK-Alternativwerten (je ×100, 0–10 000). Gibt ''spotId'' (≥ 0) zurück, −1 bei Fehler. | | ''PdfSetStrokeSpot(doc: int64, page: int64, spotId: int64, tint: f64): void'' | Wählt die Spot-Farbe ''spotId'' als Strichfarbe und setzt die Tintenstärke (0,0–1,0). Emittiert ''/SP{n} CS {tint} SC''. | | ''PdfSetFillSpot(doc: int64, page: int64, spotId: int64, tint: f64): void'' | Wählt die Spot-Farbe ''spotId'' als Füllfarbe und setzt die Tintenstärke (0,0–1,0). Emittiert ''/SP{n} cs {tint} sc''. | ---- ===== Parameter-Details ===== Detaillierte Parameter-Beschreibung pro Funktion: ==== PdfDefineSpotColor — CMYK-Werte ×100 ==== ^ Parameter ^ Bereich ^ Beschreibung ^ | ''c100'' | 0–10 000 | Cyan-Anteil: 0 = 0 %, 10 000 = 100 % | | ''m100'' | 0–10 000 | Magenta-Anteil | | ''y100'' | 0–10 000 | Yellow-Anteil | | ''k100'' | 0–10 000 | Key (Black) -Anteil | Die CMYK-Werte definieren die //Druckfarb-Simulation// in Viewern ohne Spot-Color-Support. Der tatsächliche Farbton auf der Druckmaschine wird durch die physische Spot-Farbe bestimmt. ==== PdfSetStrokeSpot / PdfSetFillSpot — tint ==== ''tint'' steuert die Tintenstärke der Spot-Farbe: * ''0.0'' — kein Auftrag (weiß / transparent) * ''1.0'' — voller Tintenauftrag (100 % Spot-Farbe) * Zwischenwerte sind möglich (z. B. ''0.5'' = 50 % Auftrag) ---- ===== Verwendung ===== ==== PANTONE-Farbe definieren und verwenden ==== import std.pdf.spot; import std.pdf.graphics; fn PantoneExample(doc: int64, page: int64): void { // PANTONE 485 C (leuchtendes Rot): C=0, M=95, Y=100, K=0 var red485 := PdfDefineSpotColor(doc, "PANTONE 485 C", 0, 9500, 10000, 0); if (red485 < 0) { return; } // Gefülltes Rechteck mit PANTONE 485 C PdfSetFillSpot(doc, page, red485, 1.0); PdfRect(doc, page, 50.0, 700.0, 200.0, 50.0); PdfFill(doc, page); } ==== Mehrere Spot-Farben auf einer Seite ==== import std.pdf.spot; import std.pdf.graphics; fn SpotPalette(doc: int64, page: int64): void { // Zwei PANTONE-Farben registrieren var gold := PdfDefineSpotColor(doc, "PANTONE 871 C", 0, 1800, 7000, 2800); // Metallic Gold var black := PdfDefineSpotColor(doc, "PANTONE Process Black C", 0, 0, 0, 10000); // Goldener Rahmen (Strich) PdfSetStrokeSpot(doc, page, gold, 1.0); PdfSetLineWidth(doc, page, 2.0); PdfRectStroke(doc, page, 50.0, 650.0, 495.0, 150.0); // Schwarzer Text-Hintergrund (Füllung, 80 % Tinte) PdfSetFillSpot(doc, page, black, 0.8); PdfRect(doc, page, 60.0, 660.0, 200.0, 40.0); PdfFill(doc, page); } ==== Spot-Farbe mit Tint-Verlauf (manuell) ==== import std.pdf.spot; import std.pdf.graphics; fn TintSteps(doc: int64, page: int64): void { var pantoneBlue := PdfDefineSpotColor(doc, "PANTONE 300 C", 10000, 4300, 0, 0); // 5 Rechtecke mit 100%, 75%, 50%, 25%, 10% Tinte var i: int64 := 0; while (i < 5) { var tint: f64 := (5 - i) as f64 * 0.2; PdfSetFillSpot(doc, page, pantoneBlue, tint); PdfRect(doc, page, 50.0 + i as f64 * 60.0, 600.0, 50.0, 50.0); PdfFill(doc, page); i := i + 1; } } ---- ===== Hinweise ===== * ''spotId'' ist stabil innerhalb eines Dokuments — einmal registrierte Spot-Farben können auf beliebigen Seiten verwendet werden. * Die ''name''-Zeichenkette wird in das PDF übernommen — PANTONE-Namen exakt laut Farbfächer schreiben (z. B. ''„PANTONE 485 C"''), damit RIP-Software die Farbe korrekt erkennt. * Spot-Farben und CMYK-/RGB-Farbbefehle lassen sich auf einer Seite mischen; nach ''PdfSetFillSpot'' gilt der Spot-Farbraum bis zum nächsten ''PdfSetFillColor'' / ''PdfRestoreState''. * PDF/A-1b erlaubt Spot-Farben mit ''DeviceCMYK'' als Alternativ-Farbraum (wie hier implementiert). ---- ===== Verwandte Units ===== * ''[[lyx_-_programmiersprache:units:pdf:graphics|std.pdf.graphics]]'' — Pfade, Fill, Stroke, PdfSaveState * ''[[lyx_-_programmiersprache:units:pdf:shading|std.pdf.shading]]'' — Verläufe (RGB-Gradienten) * ''[[lyx_-_programmiersprache:units:pdf:pdfa|std.pdf.pdfa]]'' — PDF/A-Konformität Letzte Aktualisierung: 2026-06-05