Files
impose_booklet/README_DE.md
2025-05-12 17:47:32 +02:00

94 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# impose\_booklet
`impose_booklet.py` ist ein kleines Python‑Skript, das A5‑Einzelseiten aus einer PDF so umsortiert, dass sie auf A4‑Bögen im Booklet‑Format duplex gedruckt und anschließend zu A5‑Heftchen gefaltet werden können.
Mit den neuen Updates unterstützt es jetzt zusätzlich **Border-Trim** und einen **Manga-Modus**.
## Features
* Flexible Größe der Signaturen (Lagen) über `--sheets N` (Standard: 5 Blätter → 20 Seiten pro Lage)
* Automatisches Auffüllen mit leeren Seiten, falls die Gesamtseitenzahl nicht durch eine Lage teilbar ist
* Korrekte Anordnung der Seiten für Vorder- und Rückseite jedes A4‑Bogens
* **Randbeschnitt** über `--trim X` (in mm): schneidet an allen Rändern X mm ab
* **Skip-Trim** mit `--skip-trim P1 P2 ...`: Seiten‑Nummern, die vom Trim ausgenommen werden (z. B. Titelblatt)
* **Manga-Modus** per `--manga-mode`: spiegelt die Imposition horizontal, damit rechts‑nach‑links gelesene Werke richtig aufgehängt werden
## Voraussetzungen
* Python 3.7 oder neuer
* `pypdf` (für das Lesen und Schreiben von PDFs)
* `pymupdf` (für Border-Trim-Funktion):
```bash
pip install pypdf pymupdf
```
## Installation
```bash
pip install pypdf pymupdf
```
## Verwendung
```bash
python impose_booklet.py <input.pdf> <output.pdf> [--sheets N] [--trim X] [--skip-trim S1 S2 ...] [--manga-mode]
```
* `<input.pdf>`: Pfad zur Eingabe‑PDF mit A5‑Einzelseiten
* `<output.pdf>`: Pfad zur Ausgabedatei (umsortierte PDF)
* `--sheets N` / `-s N`: Anzahl der Blätter pro Signatur/Lage (Default: 5)
* `--trim X`: Randbeschnitt in Millimetern (Default: 0)
* `--skip-trim S1 S2 ...`: Seiten, die nicht beschnitten werden sollen (Default: `1`)
* `--manga-mode`: aktiviert Spiegel‑Imposition für rechts‑nach‑links
### Beispiele
1. **Standard‑Booklet** (60 Seiten, 5 Blätter pro Lage):
```bash
python impose_booklet.py meinbuch.pdf meinbuch_booklet.pdf --sheets 5
```
2. **Mit Randbeschnitt** (10 mm an allen Rändern, Titelblatt ausgenommen):
```bash
python impose_booklet.py meinbuch.pdf meinbuch_trim.pdf --trim 10 --skip-trim 1
```
3. **Manga‑Modus** (rechts‑nach‑links Lesung):
```bash
python impose_booklet.py manga.pdf manga_booklet.pdf --sheets 4 --manga-mode
```
4. **Kombiniert** (Randbeschnitt + Manga):
```bash
python impose_booklet.py manga.pdf manga_trim_booklet.pdf --trim 5 --skip-trim 1 --manga-mode
```
## Funktionsweise im Detail
1. **Einlesen**: Lädt alle Seiten der Eingabe‑PDF als A5‑Einzelseiten.
2. **(Optional) Randbeschnitt**: Bei `--trim X` werden alle Seiten (außer `--skip-trim`) um X mm an jedem Rand beschnitten.
3. **Berechnung**: Bestimmt `pages_per_sig = sheets * 4` und die Anzahl der Signaturen = `ceil(total_pages / pages_per_sig)`.
4. **Auffüllen**: Falls nötig, werden leere Seiten angehängt, damit jede Signatur gleich groß ist.
5. **Imposition**:
* **Normal-Modus**: Reihenfolge je Blatt: Front‑Left = äußerste Seite, Front‑Right = erste, Back‑Left = zweite, Back‑Right = vorletzte.
* **Manga-Modus**: horizontale Spiegelung der vier Slots (damit die Lesesequenz rechts → links erhalten bleibt).
6. **Speichern**: Schreibt die neu geordnete PDF in die Ausgabedatei.
## Troubleshooting
* **Unterschiedliche Seitengrößen**: Das Skript nutzt die MediaBox der ersten Seite als Vorlage für Leerseiten.
* **Keine Duplexdruck-Funktion** im Druckertreiber: Sicherstellen, dass beidseitiger Druck unterstützt wird.
## Lizenz & Haftungsausschluss
Dieses Projekt steht unter der MIT-Lizenz. Keine Gewährleistung für kommerzielle Eignung.
---
*Viel Erfolg beim Drucken und Falten!*