pdf2md/TODO.md
Dieter Schlüter b4b911d37f pdf2md.py als fester Name, v1–v4 nach History/ verschoben
- pdf2md_v5.py → pdf2md.py; Verweise in Doku und Tests angepasst
- pdf2md_v1.py … pdf2md_v4.py nach History/ verschoben
- ljutsch_meta.xml entfernt (nicht mehr verwendet)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:12:36 +02:00

2.3 KiB
Raw Blame History

TODO

1. Teile und Kapitel als separate Markdown-Dateien (--split)

Ziel: Beim Konvertieren PDF → Markdown jeden Teil bzw. jedes Kapitel als eigene MD-Datei speichern. Damit lassen sich:

  • Teile/Kapitel einzeln ändern,
  • Teile/Kapitel vertauschen oder umsortieren,
  • die MD-Dateien für RAG verarbeiten (ein Kapitel = ein Dokument),
  • daraus HTML-Dateien oder andere Formate erzeugen.

Skizze:

  • Option --split teile|kapitel; Ausgabe als Ordner <name>/ statt einer einzelnen .md.
  • Dateinamen mit Nummer und Titel, z. B.
    band1/
      index.md                         # Reihenfolge der Dateien (bzw. book.yaml)
      00_vorspann.md                   # Titelei, Inhaltsverzeichnis, Vorwort
      01_teil-i_das-vermaechtnis.md
      02_kapitel-01_der-notar.md
      …
      99_nachspann.md                  # Der Autor, Impressum
      images/
    
  • YAML-Frontmatter pro Datei (für RAG und Umsortieren):
    ---
    title: "1 Der Notar"
    part: "Teil I: Das Vermächtnis"
    chapter: 1
    source_pages: [12, 25]
    book: "Operation Ljutsch"
    author: "Reinhard Otto Kranz"
    ---
    
  • EPUB aus den Einzeldateien: pandoc nimmt mehrere Eingabedateien in der Reihenfolge von index.md; Umsortieren = Reihenfolge im Index ändern.

Ansatzpunkte im Code (pdf2md.py):

  • Schnitt nach normalize_markdown() an den Überschriften ## (Teil) und ### (Kapitel); die Ebenen kommen aus load_outline().
  • Bildpfade pro Datei anpassen (make_image_links_relative()).
  • Vorspann (alles vor dem ersten Teil/Kapitel) und Nachspann als eigene Dateien.

Offene Fragen:

  • Ein Ordner pro Teil oder alles flach in einem Ordner?
  • Seitenzahlen ins Frontmatter? (pymupdf4llm liefert sie mit page_chunks=True.)
  • Bücher ohne PDF-Gliederung: auf die erkannten Überschriften zurückfallen?
  • Umkehrweg „Einzeldateien → ein MD/EPUB“ als eigene Option oder eigenes Skript?

Tests: Aufteilung des synthetischen Test-PDFs (Teil I, Kapitel 1–2) prüfen; Einzeldateien wieder zusammengesetzt = Gesamt-Markdown.

2. Weitere Ideen

  • --from-md buch.md: nur den EPUB-Schritt aus einem (von Hand bearbeiteten) Markdown ausführen; Titel, Autor und Cover automatisch übernehmen.
  • JPEG-Qualität einstellbar machen (z. B. --jpeg-quality 85), damit das EPUB noch kleiner wird.
  • Remote für das Git-Repo einrichten (z. B. GitHub), damit die Commits gesichert sind.