feat(cli): add shared PDF-to-image rendering and document usage

add shared render_pdf_pages helper for consistent rasterization
reuse the same renderer in regression test and CLI flow
add new render-image CLI command to export PDF pages as PNG
support single-page render (--page) and full export (--all-pages)
add configurable output path and DPI options
document the new rendering command and options in README
This commit is contained in:
Rob committed 2026-04-17 13:48:27 +02:00
1 parent 34fe877bb2
commit 34e9aa49d6
8 files changed
+188 -55

No files matched your search

+24
View File
@@ -86,6 +86,20 @@ python generate.py validate --file "input/Anwesenheitsliste 2026.xlsx" --month F
Führt alle Prüfungen durch und zeigt die Vorschau — ohne Dateien zu schreiben.
### PDF als Bild rendern
```bash
python generate.py render-image --pdf "output/(1) Mustermann, Max.pdf" --page 1 --out "preview.png"
```
Dieser Befehl rendert eine PDF-Seite als PNG-Bild. Er nutzt dieselbe Render-Funktion wie der Regressionstest, damit CLI-Vorschau und Testvergleich technisch identisch arbeiten.
Alle Seiten auf einmal rendern:
```bash
python generate.py render-image --pdf "output/(1) Mustermann, Max.pdf" --all-pages --out "render_out"
```
---
## Optionen
@@ -105,6 +119,16 @@ Führt alle Prüfungen durch und zeigt die Vorschau — ohne Dateien zu schreibe
| `--file` | ja | Pfad zur Excel-Datei |
| `--month` | ja | Name des Monats-Sheets |
### `render-image`
| Option | Pflicht | Beschreibung |
|---|---|---|
| `--pdf` | ja | Pfad zur PDF-Datei |
| `--out` | nein | Zieldatei (Einzelseite) oder Zielordner (`--all-pages`) |
| `--dpi` | nein | Render-Auflösung in DPI (Standard: `150`) |
| `--page` | nein | 1-basierte Seitennummer (Standard: `1`) |
| `--all-pages` | nein | Rendert alle Seiten statt nur `--page` |
---
## Sheet-Namen