Mehrere PDFs auf einmal in Markdown umwandeln

Von pdftomd.tools-Team · Aktualisiert am · 7 Min. Lesezeit

Um mehrere PDFs auf einmal in Markdown umzuwandeln, wählst du sie alle auf einer Stapel-Seite aus, etwa in unserem Konverter für mehrere PDFs, und lädst eine ZIP herunter. Für Hunderte Dateien oder eine wiederkehrende Aufgabe ist eine kurze Python-Schleife besser, für schwierige Layouts der Ordnerbefehl von marker. Egal welchen Weg du wählst: Prüfe danach, ob Ausgaben leer geblieben sind.

Illustration: ein Fächer aus PDF-Dateien fließt in ein ZIP-Archiv mit Markdown-Dateien

Die Methode nach Menge wählen

Der richtige Weg hängt weniger von den PDFs ab als davon, wie viele es sind und wie oft die Aufgabe wiederkommt. Als grobe Orientierung:

  • Eine Handvoll bis ein paar Dutzend, einmalig: eine Stapel-Seite im Browser. Nichts zu installieren, und die Dateien bleiben auf deinem Rechner.
  • Hunderte, oder jede Woche: eine Python-Schleife über einen Ordner. Du kannst sie planen, protokollieren und die Ordnerstruktur behalten.
  • Scans, Formulare, Formeln, ungewöhnliche Layouts: ein modellbasiertes Tool wie marker. Auf einem normalen Laptop ist es deutlich langsamer. Es ist dafür gebaut, Seiten ohne Textebene per OCR zu lesen, in unserem CPU-Lauf blieb unsere gescannte Seite aber trotzdem leer; teste also zuerst ein paar Dateien.
Illustration: drei Karten mit wachsenden PDF-Stapeln, bedient von einem Browserfenster, einem Terminal und einem Server-Rack
Kleiner Stapel: Browser. Wiederkehrender Stapel: Skript. Riesiger oder schwieriger Stapel: ein modellbasiertes Tool auf einem starken Rechner.

Für einen fairen Vergleich der drei Wege haben wir einen Testsatz aus 20 Dateien mit 40 Seiten verwendet: zwölf Tabellen- und Layoutbeispiele, einen englischen Leitfaden, einen 11-seitigen chinesischen Bericht, einen 4-seitigen Bericht mit laufenden Kopfzeilen, eine gescannte Seite ohne Textebene und zwei verschiedene Dateien, die beide notes.pdf heißen und in zwei Ordnern liegen. Alles lief auf unserem Build-Rechner (Linux x86_64, 8 vCPU, 16 GB RAM, no GPU).

Mehrere PDFs im Browser in Markdown umwandeln

Öffne vorher zwei oder drei der PDFs und versuch, einen Satz zu markieren. Lässt sich der Text markieren, hat die Datei eine Textebene, und jede der Methoden unten funktioniert. Lässt sich nichts markieren, ist die Datei ein Scan oder ein Bild, und nur ein OCR-Tool holt Wörter heraus. Wer die Mischung vorher kennt, spart sich einen zweiten Durchlauf.

Öffne die Stapel-Seite, klicke auf Dateien wählen (oder zieh eine Auswahl auf die Ablagefläche) und wähle alle PDFs auf einmal. Jede Datei wird im Tab umgewandelt, eine nach der anderen, und die Seite bietet eine einzige ZIP mit je einer .md pro PDF an. Weil die Arbeit lokal passiert, hängt das Tempo von deinem Rechner ab, nicht von einem Upload. So wandelst du mehrere PDFs am schnellsten auf einmal in Markdown um, wenn sie alle auf einem Rechner liegen.

Screenshot: mehrere PDFs auf einmal in Markdown umwandeln auf unserer Stapel-Seite, Ergebnisliste mit Seiten- und Tabellenzahl und der Schaltfläche ZIP herunterladen
Screenshot aus unserem Lauf mit 20 Dateien: Jede Datei bekommt eine Zeile mit Seiten- und Tabellenzahl.

In unseren Tests dauerte der ganze Satz, von der Dateiauswahl bis zur fertigen ZIP, etwa 0,8 Sekunden in Chrome 155.0.8059.84 (drei Läufe, zwischen 0,8 und 1,0 Sekunden). Die ZIP enthielt 20 Markdown-Dateien. Die beiden notes.pdf kamen als notes.md und notes-2.md heraus, keine überschrieb die andere, und die gescannte Seite wurde in der Liste markiert, statt still zu scheitern.

Die Grenzen: Ein Browser kann von sich aus keinen Ordnerbaum lesen, Dateien aus mehreren Ordnern landen also nebeneinander in einer ZIP, und sehr große Mengen begrenzt der Arbeitsspeicher des Tabs. Für ein paar Hundert Dateien teilst du die Auswahl in Runden oder wechselst zu einem Skript.

Eine Python-Schleife mit pymupdf4llm

Ein Python-Skript für diese Aufgabe braucht nur ein paar Zeilen. Dieses wandelt einen Ordner voller PDFs in Markdown um: Es läuft durch den Ordner, behält in der Ausgabe dieselbe Struktur (die beiden notes-Dateien bleiben also getrennt) und macht weiter, wenn eine Datei scheitert:

import pathlib, pymupdf4llm

src, out = pathlib.Path("pdfs"), pathlib.Path("markdown")
for pdf in sorted(src.rglob("*.pdf")):
    dest = out / pdf.relative_to(src).with_suffix(".md")
    dest.parent.mkdir(parents=True, exist_ok=True)
    try:
        dest.write_text(pymupdf4llm.to_markdown(str(pdf)), encoding="utf-8")
    except Exception as e:
        print(f"skipped {pdf}: {e}")
Installation mit pip install pymupdf4llm. Die Bibliothek steht unter AGPL-3.0, eine kommerzielle Lizenz gibt es bei Artifex.

Mit denselben 20 Dateien war die Schleife in unseren Tests nach 5,3 Sekunden fertig, einschließlich Python-Start und Import der Bibliothek. Sie schrieb 20 Dateien. Zwei davon waren leer: die gescannte Seite, die keinen lesbaren Text hat, und eine Seite mit einer um 90 Grad gedrehten Tabelle. Für Tausende Dateien kann dieselbe Schleife in einem Prozess-Pool laufen, ein Worker pro CPU-Kern, denn jede Datei ist unabhängig. Unser Python-Ratgeber behandelt die Optionen für Tabellen und Seitenbereiche, und der Bibliotheksvergleich zeigt, wie pymupdf4llm gegen zwei Alternativen abschneidet.

Der Ordnerbefehl von marker

marker hat einen Befehl für einen ganzen Ordner: marker /path/to/pdfs --output_dir out. Er liest nur die oberste Ebene des Ordners (das Skript listet sie mit os.listdir), deshalb haben wir unsere Dateien vorher in einen flachen Ordner kopiert. Nützliche Optionen sind --workers für parallele Prozesse, --skip_existing, um einen unterbrochenen Lauf fortzusetzen, und --max_files für einen Probelauf.

Mit Standardeinstellungen auf unserem Rechner ohne GPU brauchte der Ordner in unseren Tests 5 min 51 s, einschließlich Laden der Modelle, und schrieb 20 Ausgaben. Das ist ungefähr 66-mal so lang wie die Python-Schleife. Die gedrehte Tabelle hat es gerettet, allerdings doppelt geschrieben, und für die gescannte Seite lieferte es in unserem Lauf trotzdem eine leere Datei. Auf einem Rechner mit unterstützter GPU sieht das anders aus; auf einem Laptop nimm marker nur für die Dateien, die es brauchen.

Dateinamen, Duplikate und Ordnerstruktur

Illustration: zwei Ordner mit je einer gleichnamigen Datei, zusammengeführt in eine ZIP, die zwei getrennte Markdown-Dateien behält
Zwei Dateien, ein Name: Die ZIP muss beide behalten.
  • Duplikate: Wenn du viele PDFs auf einmal umwandelst, leg fest, wie mit demselben Dateinamen in zwei Ordnern umgegangen wird. Unsere Stapel-Seite hängt eine Nummer an; die Schleife oben behält die Unterordner; ein naives Skript überschreibt die erste Datei ohne Warnung.
  • Struktur: Hat der Ordnerbaum eine Bedeutung (ein Ordner pro Kunde oder pro Jahr), behalte ihn, entweder mit relative_to wie oben oder indem du die Stapel-Seite einmal pro Ordner nutzt.
  • Namen: Behalte den Basisnamen der PDF für die .md, dann findest du die Quelle immer wieder. Für bessere Lesbarkeit benennst du später in deiner Notiz-App um.
  • Eine ZIP mit Markdown-Dateien ist die einfachste Übergabe an jemand anderen; ein Ordner ist besser, wenn die Ausgabe in ein weiteres Skript geht.

Qualitätsprüfung: gescannte und leere Ausgaben finden

Wer mehrere PDFs in einem Durchgang in Markdown umwandelt, übersieht leicht Probleme, die eine einzelne Datei sofort zeigen würde. Jedes Tool in unserem Test lieferte mindestens eine leere oder fast leere Datei, und keines kann eine unlesbare Seite ohne OCR in Text verwandeln. Such also nach jedem großen Lauf nach Dateien, die zu kurz geraten sind:

# Markdown files under 100 bytes are usually scans or image-only pages
find markdown -name '*.md' -size -100c
Im Ausgabeordner (oder in der entpackten ZIP) ausführen.
Screenshot: Ergebnisliste des Stapels mit einer Warnung bei einer reinen Bilddatei, die gescannt wirkt und keine Textebene hat
Screenshot: Die reine Bilddatei ist in der Liste markiert; ihr Markdown meldet, dass es keinen auslesbaren Text gibt.

Öffne danach ein paar Ausgaben nach dem Zufallsprinzip und vergleiche sie mit den PDFs: Überschriften, eine Tabelle, der letzte Absatz. Willst du die Dateien an ein Chat-Modell schicken, erklärt unser Beitrag zum besten Dokumentformat für ChatGPT, warum sich diese Prüfung für sauberes Markdown lohnt.

Unsere Zeiten mit 20 Dateien

Dieselben 20 PDFs (40 Seiten) auf drei Wegen, laut unseren Tests (19. Okt. 2026, nur CPU)
MethodeZeitAusgabenLeere AusgabenDoppelte Namen
Unsere Stapel-Seite (Browser)0,8 s20scanned-sample.mdNummeriert (notes, notes-2)
Python-Schleife, pymupdf4llm 1.28.25,3 s20rotated.md, scanned-sample.mdIn Unterordnern behalten
Ordnerbefehl von marker 2.0.05 min 51 s20scanned-sample.mdNur flacher Ordner (von uns umbenannt)
Die Browser-Zeit reicht von der Dateiauswahl bis zur fertigen ZIP. Die Zeiten für Python und marker enthalten den Start; bei marker auch das Laden der Modelle. Ein Rechner und ein kleiner Satz, lies sie also als Größenordnungen.

Für die meisten ist das Fazit einfach: Um mehrere PDFs in einem Rutsch in Markdown umzuwandeln, fang im Browser an, skripte es, wenn die Aufgabe wiederkommt, und heb dir das modellbasierte Tool für die Seiten auf, die die anderen nicht lesen können.

Quellen

  1. PyMuPDF4LLM (README and licence) — Artifex, GitHub
  2. marker (README, licence and model licence) — Datalab, GitHub
  3. pathlib: Path.rglob — Python documentation
  4. find(1) — GNU findutils manual

FAQ

Wie wandle ich mehrere PDFs auf einmal in Markdown um?

Wähle alle Dateien auf einer Stapel-Seite wie unserer aus und lade die ZIP herunter, oder lass eine kurze Python-Schleife über den Ordner laufen. Prüfe die Ausgaben danach auf leere Dateien.

Gibt es eine Grenze, wie viele Dateien die Stapel-Seite annimmt?

Eine feste Zahl gibt es nicht; die Grenze ist der Arbeitsspeicher deines Browsers. In unseren Tests dauerten 20 Dateien mit 40 Seiten etwa eine Sekunde. Für Hunderte großer Dateien arbeite in Runden oder nutze ein Skript.

Was passiert mit gleichnamigen Dateien?

Unsere Stapel-Seite nummeriert die zweite (notes.md, notes-2.md). In einem Skript entscheidest du: Unterordner behalten, ein Suffix anhängen oder überspringen.

Kann ich gescannte PDFs im Stapel umwandeln?

Nicht mit einem Tool für die Textebene: Scans bleiben leer, und unser Tool markiert sie. Du brauchst einen OCR-Schritt. marker ist dafür gedacht, lieferte in unserem Lauf ohne GPU für unsere gescannte Seite aber ein leeres Ergebnis; teste also eine Stichprobe vor einem großen Auftrag.

Kann ich PDF zu MD nach Zeitplan im Stapel umwandeln?

Ja, mit einem Skript. Leg die Python-Schleife in einen Cronjob oder eine geplante Aufgabe und ergänze eine Logik wie --skip_existing, damit nur neue Dateien umgewandelt werden.

Werden meine Dateien bei der Stapel-Seite hochgeladen?

Nein. Die Umwandlung läuft im Browser-Tab, und die ZIP entsteht auf deinem Rechner.