Files
Workflow/tasks/pdf_split.md
T

36 lines
1.6 KiB
Markdown
Raw Normal View History

# `pdf_split` — PDF aufteilen
**Zweck:** Teilt ein PDF in Einzelseiten oder benannte Seitenbereiche auf. Die Ergebnis-Pfade landen als Array im Kontext — ideal als Eingabe für `loop_foreach`.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `file` | ja | — | Quell-PDF. |
| `output_dir` | ja | — | Zielverzeichnis für die Teil-PDFs (wird bei Bedarf angelegt). Dateiname: `<Quellname>_<Bereichsname>.pdf`. |
| `range` | nein (mehrfach) | — | Benannter Bereich mit Attributen `name` und `pages`. Seitenangabe: einzelne Seiten, Bereiche und offene Enden kombinierbar, z. B. `1`, `2-5`, `6-`, `1,3-5,8-`. **Ohne** `range`-Einträge wird jede Seite einzeln gespeichert (Bereichsnamen `page_1`, `page_2`, …). |
| `files_var` | nein | `<task_id>_parts` | Name der Kontext-Variable für das Ergebnis-Array. |
**Eingangswerte:** PDF-Pfad-Variable, z. B. `{{antrag_pdf}}`; `{{temp_dir}}` als Zielverzeichnis.
**Ausgangswerte:**
- `<files_var>` — Array aller Teil-Pfade (in Bereichsreihenfolge)
- `<files_var>_named` — Zuordnung Bereichsname → Pfad
- `<files_var>_count` — Anzahl erzeugter Teile
- `<task_id>_part_<name>` — Einzelpfad je Bereich (z. B. `{{split_bereich_part_deckblatt}}`)
Hinweis: `latest_pdf_path` wird von diesem Task **nicht** verändert.
```xml
<task type="pdf_split" id="split_bereich">
<config>
<file>{{antrag_pdf}}</file>
<output_dir>{{temp_dir}}</output_dir>
<range name="deckblatt" pages="1" />
<range name="inhalt" pages="2-5" />
<range name="anhang" pages="6-" />
<files_var>teile_pdfs</files_var>
</config>
</task>
```