pdf2md/TODO.md
Dieter Schlüter 3d418e3987 Seitenzahlen bei --split, Teilen nach Länge, Links mit eigenem Text
- add_source_pages: source_pages [von, bis] im Frontmatter; Startseite aus
  der PDF-Gliederung, sonst Textsuche ohne Verzeichnisseiten; Ende davor,
  wenn der nächste Abschnitt oben auf der Seite beginnt
- split_by_length: ohne verwertbare Gliederung an Absatzgrenzen nach Länge
  (ca. 30 000 Zeichen), Codeblöcke bleiben ganz
- load_link_anchors/link_anchors: Links mit eigenem Text ("hier") über
  Linktext und Wörter davor wiederfinden und als [Text](Ziel) setzen
  (Zensur-Report: 75 von 76)
- Tests, README, Bedienungsanleitung, TODO

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 19:03:51 +02:00

1.3 KiB
Raw Blame History

TODO

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. Die Heuristik ohne Linkziel hängt Wörter mit „/“ an („https://a.de/ und/oder“ → eine URL). Linktexte mit Trennung mitten in langen Titeln werden nicht wiedergefunden.