pdf_stempel_oben: Schriftart waehlbar (NATIONFD), Groesse/Stil/Abstand, Auto-Verkleinern
This commit is contained in:
@@ -2,6 +2,15 @@
|
||||
|
||||
## 2026-07-08 (Listen-Tasks + MCP-Katalog)
|
||||
|
||||
- **`pdf_stempel_oben`: Schriftart wählbar.** Neue Parameter `schrift`, `schriftgroesse`,
|
||||
`schriftstil`, `abstand_oben_mm`, `auto_verkleinern`. Neben den FPDF-Kern-Fonts steht
|
||||
`NATIONFD` (*NationalFirstFontDotted*, gepunktet) zur Verfügung — dieselbe Schrift, die
|
||||
`PDFER::stamper()` für die Vergabe-Unterlagen nutzt. Unbekannte Schrift → Fehlermeldung mit
|
||||
Liste der verfügbaren. Eingebettete Schriften haben nur eine Schnittform, ein angeforderter
|
||||
`schriftstil` wird verworfen (sonst FPDF-Abbruch „Undefined font"). Zellhöhe bleibt fix bei
|
||||
7 mm, damit große Schriften oben stehen bleiben. Vorgabe (Helvetica 12 pt fett) unverändert —
|
||||
`pdf_anlagen_merge` nutzt dieselbe Routine und bleibt unberührt. `auto_verkleinern` (Default an)
|
||||
schrumpft zu breiten Text, statt ihn über den Seitenrand laufen zu lassen.
|
||||
- **Neu: Task `liste`** — Tabelle direkt im Editor pflegen (freie Spalten, z. B. name/mail/rolle).
|
||||
Ergebnis ist eine Liste aus Zeilen-Objekten: `{{var}}` (loop_foreach), `{{var}}_json`,
|
||||
`{{var}}_anzahl`, `{{var}}_leer` und je Spalte `{{var}}_<spalte>_liste` (fertiger Mail-Verteiler).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# `pdf_stempel_oben` — Text oben aufstempeln
|
||||
|
||||
**Zweck:** Stempelt Text oben mittig auf eine PDF-Seite (z.B. „Anlage 1“). Erhält Seitengröße/Orientierung des Originals (anders als pdf_text, das auf A4 normalisiert).
|
||||
**Zweck:** Stempelt Text oben mittig auf eine PDF-Seite (z.B. „Anlage 1“). Erhält Seitengröße/Orientierung des Originals (anders als pdf_text, das auf A4 normalisiert). Die Schriftart ist wählbar — auch die gepunktete `NATIONFD`, mit der die Vergabe-Unterlagen gestempelt werden.
|
||||
|
||||
**Parameter**
|
||||
|
||||
@@ -9,8 +9,23 @@
|
||||
| `datei` | ja | — | Quell-PDF. |
|
||||
| `text` | ja | — | Stempeltext. |
|
||||
| `seite` | nein | 1 | Seitennummer. |
|
||||
| `schrift` | nein | Helvetica | Schriftart, siehe Tabelle unten. |
|
||||
| `schriftgroesse` | nein | 12 | Punktgröße. NATIONFD wirkt ab etwa 40. |
|
||||
| `schriftstil` | nein | B | leer (normal), B, I oder BI — nur bei den Kern-Fonts. |
|
||||
| `abstand_oben_mm` | nein | 5 | Abstand der Stempelzeile vom oberen Seitenrand. |
|
||||
| `auto_verkleinern` | nein | true | Verkleinert die Schrift, bis der Text zwischen die Seitenränder passt. |
|
||||
| `dateiout` | nein | (automatisch) | Zielpfad. |
|
||||
|
||||
**Verfügbare Schriften**
|
||||
|
||||
| Name | Beschreibung |
|
||||
|---|---|
|
||||
| `Helvetica` | Kern-Font, Vorgabe (fett, 12 pt) |
|
||||
| `Times`, `Courier` | Kern-Fonts |
|
||||
| `NATIONFD` | *NationalFirstFontDotted* — gepunktete Schulausgangsschrift; dieselbe Schrift, die `PDFER::stamper()` in `0_vorlagen/resources/Vergabe/stamper.php` verwendet |
|
||||
|
||||
Die Liste wird zur Laufzeit aus dem FPDF-Font-Verzeichnis (`require/compose/vendor/fpdf/fpdf/src/Fpdf/font/`) ermittelt; wird eine unbekannte Schrift angegeben, nennt die Fehlermeldung die verfügbaren. Neue Schriften brauchen dort eine FPDF-Definitionsdatei (`<name>.php` + `.z`), keine reine `.ttf`.
|
||||
|
||||
**Ausgangswerte**
|
||||
|
||||
| Variable | Beschreibung |
|
||||
@@ -30,6 +45,23 @@
|
||||
</task>
|
||||
```
|
||||
|
||||
**Vergabe-Stempel (wie stamper.php)**
|
||||
|
||||
```xml
|
||||
<task type="pdf_stempel_oben" id="vergabestempel">
|
||||
<config>
|
||||
<datei>{{latest_pdf_path}}</datei>
|
||||
<text>ALN-K {{submission_datum}}</text>
|
||||
<schrift>NATIONFD</schrift>
|
||||
<schriftgroesse>40</schriftgroesse>
|
||||
</config>
|
||||
</task>
|
||||
```
|
||||
|
||||
**Technik / Hinweise**
|
||||
|
||||
- Komprimierte PDFs werden vorab via PDFER::test_and_uncompress entpackt.
|
||||
- Komprimierte PDFs werden vorab via `PDFER::test_and_uncompress` entpackt.
|
||||
- Eingebettete Schriften wie `NATIONFD` haben nur **eine** Schnittform; ein angeforderter `schriftstil` wird verworfen (FPDF bräche sonst mit „Undefined font“ ab).
|
||||
- Die Zellhöhe ist bewusst fix (7 mm). FPDF setzt die Grundlinie auf `y + h/2 + 0.3 × Schrifthöhe` — eine mitskalierende Höhe würde große Schriften weit nach unten schieben. So bleibt der Stempel oben, wie bei `PDFER::stamper()`.
|
||||
- Text wird nach `windows-1252` transliteriert (FPDF-Kern-Encoding).
|
||||
- `TaskPdfAnlagenMerge` nutzt dieselbe Routine (`TaskPdfStempelOben::stempelObenMittig`) und bleibt bei der Vorgabe Helvetica 12 pt fett.
|
||||
|
||||
Reference in New Issue
Block a user