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
