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

3.6 KiB
Raw Permalink Blame History

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):
pip install pypdf pymupdf

Installation

pip install pypdf pymupdf

Verwendung

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):

    python impose_booklet.py meinbuch.pdf meinbuch_booklet.pdf --sheets 5
    
  2. Mit Randbeschnitt (10 mm an allen Rändern, Titelblatt ausgenommen):

    python impose_booklet.py meinbuch.pdf meinbuch_trim.pdf --trim 10 --skip-trim 1
    
  3. Manga‑Modus (rechts‑nach‑links Lesung):

    python impose_booklet.py manga.pdf manga_booklet.pdf --sheets 4 --manga-mode
    
  4. Kombiniert (Randbeschnitt + Manga):

    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!