Links: URLs über Blockgrenzen, Wortpaare, abweichende Linktexte
- _join_split_urls: URL, die in einem neuen Block (auch als Listenpunkt) weitergeht, mit der Fortsetzung verbinden; mit Linkziel per Abgleich, ohne nur an typischen Umbruchstellen und bei pfadartiger Fortsetzung - "und/oder" nach einer URL nicht anhängen; Dateiendung nur nach Punkt - _fuzzy_anchor: Linktext mit Abweichungen (verlorene Ligatur) über Kontext/Anfang und letztes Wort finden (Zensur-Report: 76 von 76) - tests/test_links.py: Test-PDF mit typischen Varianten - README, TODO Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
7962999e8d
commit
1ba5b5005f
1 changed files with 262 additions and 17 deletions
17
README.md
17
README.md
|
|
@ -86,11 +86,13 @@ python3 pdf2md.py --epub --ocr-language eng --ocr always scan.pdf scan.md # EP
|
|||
erhalten.
|
||||
- **OCR-Ebenen** in Courier werden nicht als Programmcode (`` `…` ``) gesetzt.
|
||||
- **Links:** URLs werden als `<https://…>` geschrieben und sind damit in Markdown-Viewern
|
||||
und im EPUB anklickbar. Beim Zeilenumbruch zerbrochene URLs (`deutsche-|sehen`,
|
||||
`…/ youtube-…`) werden mit den Linkzielen der PDF abgeglichen und repariert;
|
||||
Tracking-Parameter (`utm_…`) entfallen. Ohne Linkziel wird die URL aus dem gedruckten
|
||||
Text zusammengesetzt. Links mit eigenem Text („hier“, „Bericht“) werden über den Linktext
|
||||
und die Wörter davor im Markdown wiedergefunden und als `[hier](https://…)` gesetzt.
|
||||
und im EPUB anklickbar. Beim Umbruch zerbrochene URLs (`deutsche-|sehen`, `…/ youtube-…`,
|
||||
auch über eine Blockgrenze oder als Listenpunkt fortgesetzt) werden mit den Linkzielen der
|
||||
PDF abgeglichen und repariert; Tracking-Parameter (`utm_…`) entfallen. Ohne Linkziel wird
|
||||
die URL aus dem gedruckten Text zusammengesetzt; Wortpaare wie „und/oder“ danach gehören
|
||||
nicht dazu. Links mit eigenem Text („hier“, „Bericht“) werden über den Linktext und die
|
||||
Wörter davor im Markdown wiedergefunden – auch bei verlorener Ligatur („Verifcation“) –
|
||||
und als `[hier](https://…)` gesetzt.
|
||||
- **Seitenzahlen, Kolumnentitel, Text in Fotos** werden entfernt – auch Überschriften, die nur
|
||||
aus einer Zahl bestehen (`## 90`, `## xxiv`: Fußnotenzeichen, römische Seitenzahlen), sofern
|
||||
nicht direkt eine Titelzeile folgt (`## 1` + `## Kapiteltitel` bleibt) und sie nicht in der
|
||||
|
|
@ -128,8 +130,9 @@ synthetisch erzeugt.
|
|||
- **Was am PDF liegt, bleibt:** fehlende Ligaturen ohne Textzuordnung („Offzielle“),
|
||||
gesperrt gesetzte Überschriften („M e i n k l e i nes …“), flache PDF-Gliederungen
|
||||
(alle Kapitel auf einer Ebene).
|
||||
- Links mit eigenem Text: Findet sich der Linktext nicht wieder (z. B. Trennung mitten in
|
||||
einem langen Titel), bleibt er ohne Link (Zensur-Report: 75 von 76 gesetzt).
|
||||
- Links mit eigenem Text: Weicht der Linktext stark vom gedruckten Text ab, bleibt er ohne
|
||||
Link (Zensur-Report: alle 76 gesetzt). Ohne Linkziel in der PDF wird eine URL nur über
|
||||
typische Umbruchstellen (`-`, `/`, `_`) mit ihrer Fortsetzung verbunden.
|
||||
- Zeilengetreue Erkennung: Ist ein Gedicht genauso eingerückt wie Absatzanfänge, werden
|
||||
Verszeilen mit Satzzeichen am Ende zu eigenen Absätzen. Listings mit eingedruckten
|
||||
Zeilennummern werden nicht immer als ein Codeblock erkannt.
|
||||
|
|
|
|||
Loading…
Reference in a new issue