--keep-lines für Gedichtbände, OCR-Neuerkennung repariert, OCR-Rauschen entfernen
- --ocr always / schiefe OCR-Ebenen: alte unsichtbare Textebene vor der
OCR entfernen (nur in der Kopie im Speicher); vorher blieb der alte
Text erhalten bzw. stand doppelt da ("bliht" statt "blüht")
- --keep-lines: jede PDF-Zeile bleibt eine Zeile, Strophen als Absätze,
Einrückungen bleiben, nichts wird zusammengefügt (auch keine Trennung)
- OCR-Text selbst erkennen (unsichtbar, wie pymupdf4llm 1.28 intern);
Buchkante "|" entfernen, Rauschzeilen und Fetzen neben dem Textbereich
verwerfen, Zeilen mit verschiedenen Grundlinien trennen, Überschriften
ohne Buchstaben/Ziffern verwerfen
- Fraktur: frk+deu dokumentiert, Grenzen in TODO
- Tests: Scan mit falscher OCR-Ebene, Gedicht in schmaler Spalte,
OCR-Rauschen; README, Bedienungsanleitung, TODO
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
1ba5b5005f
commit
3e5195efc2
1 changed files with 265 additions and 13 deletions
|
|
@ -141,6 +141,15 @@ def pdfs(tmp_path_factory) -> dict[str, Path]:
|
|||
paths["blank"] = folder / "blank.pdf"
|
||||
blank.save(paths["blank"])
|
||||
|
||||
# Scan mit falscher (unsichtbarer) OCR-Ebene, wie von einem schlechten OCR-Lauf
|
||||
bad_ocr = pymupdf.open()
|
||||
for page in digital:
|
||||
_scan_page(bad_ocr, page)
|
||||
for y in range(80, 500, 20):
|
||||
bad_ocr[-1].insert_text((60, y), "Falscher Text " * 4, fontsize=10, render_mode=3)
|
||||
paths["bad_ocr"] = folder / "bad_ocr.pdf"
|
||||
bad_ocr.save(paths["bad_ocr"])
|
||||
|
||||
if pymupdf.get_tessdata():
|
||||
scanned_ocr = pymupdf.open()
|
||||
for page in digital:
|
||||
|
|
|
|||
Loading…
Reference in a new issue