std.pdf.graphics

Content-Stream-Operatoren für PDF-Seiten: Text ausgeben (PdfDrawText, PdfSetFont), Pfade zeichnen (Linien, Rechtecke, Kreise), Farben setzen (RGB, Graustufen), Transformationsmatrix manipulieren und Grafikzustand speichern/wiederherstellen. Alle Koordinaten in PDF-Punkten (1/72 Zoll; 1 cm ≈ 28,35 pt).

Einsatzbereiche: alles was sichtbarer Seiteninhalt ist — Texte, Tabellen, Logos, Diagramme, Seitenrahmen.

std.pdf · std.pdf.fonts · std.pdf.image


Schriften

import std.pdf.graphics;

// Schrift und Größe setzen
PdfSetFont(page, PDF_FONT_HELVETICA, 12);
PdfSetFont(page, PDF_FONT_TIMES_ROMAN, 10);
PdfSetFont(page, PDF_FONT_COURIER, 9);
PdfSetFont(page, PDF_FONT_HELVETICA_BOLD, 14);

// Text ausgeben (Koordinatenursprung: links unten)
PdfDrawText(page, 72.0, 720.0, "Überschrift");
PdfDrawTextAt(page, 72.0, 700.0, "Zeile 2", 0.0);  // 0.0 = kein Rotation


Farben

// RGB-Farbe (0.0–1.0)
PdfSetColor(page, 0.2, 0.4, 0.8);       // Blau
PdfSetColor(page, 0.0, 0.0, 0.0);       // Schwarz
PdfSetFillColor(page, 0.95, 0.95, 0.95); // Hellgrau-Füllung

// Graustufenfarbe
PdfSetGray(page, 0.5);   // 50 % Grau


Pfade und Geometrie

// Linie
PdfDrawLine(page, 72.0, 710.0, 540.0, 710.0);

// Rechteck (nur Rand)
PdfDrawRect(page, 72.0, 600.0, 468.0, 100.0);

// Rechteck gefüllt
PdfFillRect(page, 72.0, 580.0, 468.0, 18.0);

// Kreis / Ellipse
PdfDrawCircle(page, 300.0, 400.0, 50.0);


Grafikzustand

PdfSaveState(page);          // gsave — Zustand sichern
PdfSetColor(page, 1.0, 0.0, 0.0);
PdfDrawRect(page, 100.0, 100.0, 200.0, 50.0);
PdfRestoreState(page);       // grestore — Zustand wiederherstellen


Funktionen

Signatur Sichtbarkeit Beschreibung
PdfSetFont(page: PdfPage, font: pchar, size: f64): void pub Setzt aktive Schrift und Größe
PdfDrawText(page: PdfPage, x: f64, y: f64, text: pchar): void pub Gibt Text an Position aus
PdfSetColor(page: PdfPage, r: f64, g: f64, b: f64): void pub Setzt Strich- und Textfarbe (RGB)
PdfSetFillColor(page: PdfPage, r: f64, g: f64, b: f64): void pub Setzt Füllfarbe (RGB)
PdfSetGray(page: PdfPage, gray: f64): void pub Setzt Graustufenfarbe (0.0–1.0)
PdfDrawLine(page: PdfPage, x1: f64, y1: f64, x2: f64, y2: f64): void pub Zeichnet Linie zwischen zwei Punkten
PdfDrawRect(page: PdfPage, x: f64, y: f64, w: f64, h: f64): void pub Zeichnet Rechteck (nur Rand)
PdfFillRect(page: PdfPage, x: f64, y: f64, w: f64, h: f64): void pub Zeichnet gefülltes Rechteck
PdfDrawCircle(page: PdfPage, cx: f64, cy: f64, r: f64): void pub Zeichnet Kreis
PdfSetLineWidth(page: PdfPage, w: f64): void pub Setzt Strichbreite in Punkten
PdfSaveState(page: PdfPage): void pub Sichert aktuellen Grafikzustand
PdfRestoreState(page: PdfPage): void pub Stellt gesicherten Grafikzustand wieder her
PdfTranslate(page: PdfPage, tx: f64, ty: f64): void pub Verschiebt Koordinatenursprung
PdfScale(page: PdfPage, sx: f64, sy: f64): void pub Skaliert Koordinatensystem
PdfRotate(page: PdfPage, angle: f64): void pub Dreht Koordinatensystem (Grad)

Letzte Aktualisierung: 2026-05-22