pdf2md/TODO.md
Dieter Schlüter 8614ea9575 TODO: nächste Schritte, mögliche Erweiterungen, Grenzen, Wartung
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:41:22 +02:00

45 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TODO
## 1. Als Nächstes (Stand 2026-10-02)
- **Gedichtbände neu erzeugen und prüfen** – die Dateien in `Output/` stammen von vor den
Korrekturen (Commit 180d98a):
```bash
python3 pdf2md.py --epub --ocr always --keep-lines Neue_Gedichte_-_Rainer_Maria_Rilke.pdf Output/Neue_Gedichte_-_Rainer_Maria_Rilke.md
python3 pdf2md.py --epub --ocr-language deu_latf --keep-lines Neue_Gedichte_-_Jacob_Loewenberg_-_Fraktur_1895.pdf Output/Neue_Gedichte_-_Jacob_Loewenberg_-_Fraktur_1895.md
```
Was dabei auffällt, entscheidet über die Punkte in Abschnitt 2.
## 2. Mögliche Erweiterungen (je ca. 30 Min.)
- **Option „ſ“ → „s“** für Fraktur: lesbarer auf dem Reader, aber nicht mehr originalgetreu.
- **Ornamente/Zierleisten** werden auf Scans mit `--keep-lines` manchmal als Wortsalat gelesen
(„amm Cem wen rn aFREE anneee“). Idee: Zeilen ohne plausible Wörter verwerfen (Anteil
wortähnlicher Tokens, Funktionswörter wie in `looks_like_text`).
- **Bilder auf Scanseiten** gehen mit `--keep-lines` verloren (der direkte Tesseract-Weg
übernimmt keine Bilder). Für Gedichtbände meist egal, für illustrierte Liederbücher nicht.
## 3. Bekannte Grenzen (bewusst so gelassen)
- **Fraktur-OCR:** Auch `deu_latf` (tessdata_best) liest alte Scans nicht fehlerfrei
(„Uls“ statt „Als“, „=“ statt „—“); das Ubuntu-Modell `frk` ist deutlich schwächer
(„ftarf“, „fam“). Alte Scans brauchen Nacharbeit (Weg B).
- **Gesperrte Überschriften** („M e i n k l e i nes Stück D D R“) bleiben zerrissen; eine
Korrektur wäre fehleranfällig.
- **Alte Scans mit eigener OCR-Ebene:** `--ocr always` liefert meist besseren Text (die alte
Ebene wird verworfen).
- **Gedicht wie Absatzanfänge eingerückt** (Band 2, „Blinde Flecken“: alle Verse bei x = 94):
geometrisch nicht von einzeiligen Dialogabsätzen zu unterscheiden; Verszeilen mit Satzende
werden dort Absätze. Für reine Gedichtbände: `--keep-lines`.
- **Gedicht-Scans ohne `--keep-lines`:** pymupdf-layout verschränkt eng stehende OCR-Zeilen
(„UndDon tauchteweißen“). Mit `--keep-lines` umgangen (Zeilen direkt aus Tesseract).
- **Listings mit eingedruckten Zeilennummern** (Markdown Guide: „4 <html>“, „5 <head>“) werden
nicht immer als ein Codeblock erkannt; Programmausgaben ohne typische Merkmale bleiben Text.
## 4. Wartung
- Nach einem Update von pymupdf4llm (`pip install -U pymupdf4llm`) zuerst `python3 -m pytest`
laufen lassen: `pdf2md.py` patcht drei Funktionen der Bibliothek. Version 1.28 hat z. B. das
Format für Bildtext und die OCR-Erkennung geändert.
- Bei Änderungen am Umbruch: Regressionsvergleich gegen den letzten Commit über das Probekorpus
(Ljutsch Band 1/2, Zensur-Report, Markdown Guide, Register, Rust-Kochbuch, Kempis-Scan).