2.4 KiB
2.4 KiB
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_v5.py):
- Schnitt nach
normalize_markdown()an den Überschriften##(Teil) und###(Kapitel); die Ebenen kommen ausload_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.