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:
1 parent
34fe877bb2
commit
34e9aa49d6
8 files changed
+188
-55
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user