pdf2md/TODO.md
Dieter Schlüter 906feb589d TODO: Remote-Repo eingerichtet (kitux.de/forgejo)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:30:21 +02:00

1.7 KiB
Raw Blame History

TODO

1. Ideen

  • --split: Seitenzahlen der PDF ins Frontmatter (source_pages); pymupdf4llm liefert sie mit page_chunks=True, müsste aber durch die ganze Nachbearbeitung getragen werden.
  • --split: Bücher ohne erkennbare Gliederung werden nicht geteilt (nur 00_vorspann.md); denkbar wäre ein Schnitt nach Seitenzahl oder Länge.

2. Bekannte Schwächen (aus Probeläufen mit fremden PDFs)

  • Reine Zahlen als Überschrift: pymupdf4llm macht Fußnotenzeichen zu Überschriften („## 90“ im Zensur-Report). Nicht pauschal entfernen – im DDR-Buch sind „## 1“, „## 2“ echte Kapitelnummern. Möglicher Ansatz: Zahl-Überschrift nur behalten, wenn direkt eine Überschrift folgt.
  • Römische Seitenzahlen („## XX“, „## XXIV“) werden nicht als Seitenzahl erkannt; Vorsicht wegen echter Kapitel „I.“, „II.“.
  • Gesperrte Überschriften („M e i n k l e i nes Stück D D R“) bleiben zerrissen.
  • Alte Scans mit eigener OCR-Ebene: --ocr always liefert meist besseren Text.
  • Zeilengetreu: Verszeilen mit Satzzeichen am Ende werden zu Absätzen (split_by_indent wertet kurze Zeile + Satzende als Absatzende); Codefragmente ohne Code-Merkmale ([dependencies], Programmausgaben) landen als \-Zeilen neben dem Codeblock statt darin.
  • Markdown-Sonderzeichen werden nicht maskiert: __add__ im Register wird fett gesetzt.
  • Links: Setzt sich eine URL in einem neuen Block fort (z. B. als Listenpunkt „- juuuport-…“), bleibt sie abgeschnitten. Links mit eigenem Text („hier“) gehen verloren; Abhilfe wäre, die Link-Rechtecke der PDF dem Text zuzuordnen ([hier](…)). Die Heuristik ohne Linkziel hängt Wörter mit „/“ an („https://a.de/ und/oder“ → eine URL).