Inhaltsverzeichnis

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.

std.pdf.shading · std.pdf.graphics · 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:


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


Verwandte Units

Letzte Aktualisierung: 2026-06-05