Bedienungsanleitung ergänzt, Bildpfade relativ zur Markdown-Datei
- BEDIENUNGSANLEITUNG.md: Installation, Weg A (PDF -> EPUB), Weg B (Markdown
bearbeiten, dann pandoc), Scans, Optionen, Prüfen, häufige Probleme;
Verweis in README.md
- Fix: pymupdf4llm schreibt Bildpfade relativ zum Arbeitsverzeichnis
("Output/x_images/…"), wenn der Bilderordner darunter liegt. Die Links
zeigen jetzt immer relativ zur Markdown-Datei; Regressionstests ergänzt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
9fc620ad55
commit
85a01ac5c7
1 changed files with 285 additions and 8 deletions
26
pdf2md_v5.py
26
pdf2md_v5.py
|
|
@ -867,15 +867,25 @@ def extract_markdown(source: Path, plan: list[str], options: dict, jobs: int) ->
|
|||
return "\n\n".join(parts)
|
||||
|
||||
|
||||
def make_image_links_relative(markdown: str, image_dir: Path) -> str:
|
||||
"""Absolute Bildpfade durch Pfade relativ zur Markdown-Datei ersetzen."""
|
||||
absolute_dir = image_dir.resolve().as_posix()
|
||||
relative_dir = image_dir.name
|
||||
IMAGE_LINK = re.compile(r"(!\[[^\]]*\]\()([^)\s]+)\)")
|
||||
|
||||
return markdown.replace(
|
||||
absolute_dir + "/",
|
||||
relative_dir + "/",
|
||||
)
|
||||
|
||||
def make_image_links_relative(markdown: str, image_dir: Path) -> str:
|
||||
"""Bildpfade relativ zur Markdown-Datei machen ("<name>_images/datei.jpg").
|
||||
|
||||
pymupdf4llm schreibt den Pfad relativ zum Arbeitsverzeichnis, wenn der
|
||||
Bilderordner darunter liegt (z. B. "Output/x_images/…"), sonst absolut.
|
||||
"""
|
||||
image_dir = image_dir.resolve()
|
||||
|
||||
def fix(match: re.Match) -> str:
|
||||
path = Path(match.group(2))
|
||||
full = path if path.is_absolute() else Path.cwd() / path
|
||||
if full.resolve().parent != image_dir:
|
||||
return match.group(0)
|
||||
return f"{match.group(1)}{image_dir.name}/{path.name})"
|
||||
|
||||
return IMAGE_LINK.sub(fix, markdown)
|
||||
|
||||
|
||||
# ===========================================================================
|
||||
|
|
|
|||
Loading…
Reference in a new issue