Die öffentliche API ist verfügbar. Konvertieren Sie Markdown programmatisch in Bilder — 50 Anfragen mit Wasserzeichen/Monat.
Zurück zum Blog
Sonntag, 2. August 2026

Markdown zu PDF mit Code-Highlighting: Syntax-Farben erhalten

Markdown zu PDF mit Code-Highlighting: Syntax-Farben erhalten

Kurzantwort

Ob Syntaxfarben bei der Umwandlung von Markdown in PDF erhalten bleiben, entscheidet die gesamte Renderkette. Ein Codeblock braucht eine Sprachangabe, der Renderer muss tatsächlich eine Syntaxhervorhebung ausführen, und der PDF-Export muss Hintergrund, Schrift und Zeilenumbrüche übernehmen.

Für ein einzelnes Dokument ist MarkdownToImage Markdown to PDF der kürzeste Weg: Markdown einfügen oder hochladen, die Vorschau prüfen, Theme, Schrift und Dokumentbreite wählen und anschließend exportieren. Für automatisierte oder stark angepasste Builds eignen sich md-to-pdf, VS Code Markdown PDF oder Pandoc mit expliziten Einstellungen.

Warum Syntaxfarben verschwinden

Die meisten Fehler lassen sich zuverlässig reproduzieren. Prüfe zuerst diese drei Punkte:

  1. Am Codeblock fehlt die Sprachangabe. Ein Block mit drei Backticks allein ist nur vorformatierter Text. Ergänze nach dem öffnenden Zaun javascript, python, bash oder die nächstliegende unterstützte Sprache.
  2. Hintergrundgrafiken sind deaktiviert. Syntax-Themes verwenden meist sowohl Textfarben als auch einen Hintergrund für den Codeblock. Beim Browser- oder Chromium-Export können die Tokens farbig bleiben, während der Hintergrund verschwindet.
  3. Vorschau und PDF verwenden unterschiedliche Einstellungen. Schon ein anderer Renderer, ein anderes Theme, eine andere Schrift, Seitenbreite oder Druck-CSS kann Farben und Umbrüche verändern. Vergleiche deshalb zuerst ein kleines, bekanntes Beispiel.

Die Ursache ist also nicht das PDF-Format an sich. PDF kann farbigen Text problemlos speichern; entscheidend ist, was die Exportkette vor dem Schreiben der Datei gerendert hat.

Vor dem Export mit diesem kleinen Beispiel testen

Füge diesen Block in dasselbe Dokument ein und exportiere ihn vor dem vollständigen Bericht:

const palette = ["cyan", "amber", "coral"];

function renderStatus(format) {
  return `${format}: ${palette.length} colors`;
}

console.log(renderStatus("PDF"));

Prüfe in Vorschau und PDF fünf Details: Farbe der Schlüsselwörter, Farbe der Zeichenketten, Hintergrund des Codeblocks, Monospace-Schrift und Umbruch der Zeile mit dem Template-String. Weicht etwas ab, korrigiere zuerst Theme oder Exporteinstellungen.

Syntaxhervorhebung von Markdown-Code bleibt beim PDF-Export erhalten

Vier zuverlässige Exportwege

MarkdownToImage /markdown-to-pdf

Das Webwerkzeug erzeugt PDFs in einer serverseitigen Chromium-Umgebung. Unterstützt werden Codeblöcke mit Syntaxhervorhebung, KaTeX-Formeln, Mermaid-Diagramme, Tabellen, eingebettete Bilder und Aufgabenlisten. Die Vorschau ist der Maßstab: Theme, Schrift und Dokumentbreite einstellen, dann exportieren und den Testblock vergleichen.

Kostenlose Exporte enthalten derzeit ein Wasserzeichen. Ein angemeldetes kostenloses Konto erhält insgesamt fünf Exporte ohne Wasserzeichen. Preise und Kontingente können sich ändern; für wiederkehrende Abläufe solltest du daher die aktuelle Konverterseite prüfen.

Dieser Weg passt, wenn ohne lokale Installation schnell ein sauber gestaltetes PDF benötigt wird.

md-to-pdf CLI

md-to-pdf verarbeitet Markdown mit Marked, hebt Code mit highlight.js hervor und erzeugt das PDF über Puppeteer/Chromium. Standardmäßig wird das GitHub-Theme verwendet; ein anderes Theme lässt sich ausdrücklich angeben.

md-to-pdf input.md --highlight-style github --pdf-options '{ "printBackground": true }'

Die CLI eignet sich, wenn dasselbe Dokument per Skript oder CI erneut gebaut werden soll. Bei einem dunklen Theme mit Hintergrundfarbe muss printBackground aktiviert bleiben. Nicht vertrauenswürdiges Markdown sollte vor der Verarbeitung bereinigt werden; auch die offizielle Dokumentation weist auf dieses Sicherheitsrisiko hin.

VS Code Markdown PDF

Die Erweiterung Markdown PDF exportiert über einen Chromium-basierten Browser und verwendet highlight.js für Codeblöcke. Syntaxhervorhebung ist standardmäßig aktiv; das Theme wird unabhängig über markdown-pdf.highlightStyle festgelegt.

"markdown-pdf.highlightStyle": "github.css"

Exportiere nach einer Änderung erneut den kleinen Testblock. Die Erweiterung verwendet aktuell highlight.js v11. Namen älterer Themes können umbenannt oder entfernt worden sein; wähle dann einen verfügbaren aktuellen Stil.

Pandoc

Pandoc verwendet Skylighting für Codeblöcke mit Sprachangabe. Aktuelle Versionen unterstützen --syntax-highlighting; die ältere Schreibweise --highlight-style ist veraltet.

pandoc input.md -o output.pdf --syntax-highlighting=pygments

Neben integrierten Stilen wie kate, tango, zenburn und breezeDark akzeptiert Pandoc eigene JSON-Dateien mit der Endung .theme. Das ist besonders praktisch, wenn bereits Pandoc-Templates, Literaturverzeichnisse oder ein LaTeX-Workflow genutzt werden. Schrift und Seitenumbrüche hängen weiterhin von PDF-Engine und Vorlage ab und müssen separat geprüft werden.

Browserdruck: prüfen statt annehmen

Eine bereits korrekt gerenderte Markdown-Seite über „Als PDF sichern“ zu drucken kann funktionieren. Das Ergebnis hängt jedoch vollständig vom Druck-CSS der Seite ab. Manche Seiten behalten Farben und Hintergründe, andere reduzieren die Darstellung für Papier. Aktiviere Hintergrundgrafiken im Druckdialog, prüfe Seitenumbrüche und vergleiche den Testblock.

Browserdruck ist bequem, wenn die Seite bereits richtig aussieht. Ohne Kontrolle über HTML, CSS, Browserversion und Druckeinstellungen ist er jedoch kein reproduzierbarer Build-Prozess.

Checkliste vor dem Export

  • Jedem Codeblock eine Sprache zuweisen.
  • Für Dokumente, die gedruckt werden, ein helles Theme mit gutem Kontrast bevorzugen.
  • Hintergrundgrafiken aktivieren, wenn das Theme sie benötigt.
  • Eine bekannte Monospace-Schrift verwenden und ihre Verfügbarkeit in der Exportumgebung prüfen.
  • Lange Zeilen bei der endgültigen Breite von A4 oder Letter testen.
  • Vor einem langen Bericht zuerst das kleine JavaScript-Beispiel exportieren.
  • Markdown aus fremden Quellen vor der Übergabe an einen lokalen Konverter bereinigen.
  • Das fertige PDF öffnen und Farben, auswählbaren Text, Links, Bilder und Seitenumbrüche kontrollieren.

Einen breiteren Vergleich bietet fünf Methoden für Markdown zu PDF. Für wiederholbare Builds folgt der Leitfaden zur Stapelkonvertierung mit CLI, Pandoc und CI.

Häufige Fragen

Warum ist der Code in der Vorschau farbig, im PDF aber einfarbig?

Aktiviere zuerst Hintergrundgrafiken. Prüfe dann, ob Export und Vorschau dasselbe Theme und denselben Renderer verwenden. Auch ein Druck-Stylesheet kann Tokenfarben überschreiben.

Welches Theme eignet sich für ein druckbares PDF?

Beginne mit GitHub oder einem anderen hellen Theme. Solche Themes bleiben meist sowohl in Farbe als auch in Graustufen gut lesbar. Dunkle Themes eignen sich für Bildschirm-PDFs, erfordern aber eine Prüfung von Hintergrund und Kontrast.

Lassen sich Zeilennummern erhalten?

Nur wenn Renderer oder Theme sie hinzufügen. Standardmäßige Markdown-Codeblöcke enthalten keine Zeilennummern. Für ein verlässliches Ergebnis sollte eine kontrollierbare CLI oder ein eigenes Stylesheet verwendet und die endgültige Seitenbreite getestet werden.

Bleibt die Hervorhebung bei einer Stapelkonvertierung erhalten?

Ja. Eine Chromium-basierte CLI liefert konsistente Web-Themes; alternativ kann Pandoc ein festes Syntax-Theme erhalten. Pinne Tool-Version und Theme in CI, damit spätere Builds nicht unbemerkt anders aussehen.

Jetzt ausprobieren

Öffne den MarkdownToImage Markdown-to-PDF-Konverter, füge den kleinen JavaScript-Block aus diesem Leitfaden ein und exportiere ein PDF. Vergleiche Vorschau und Datei nebeneinander. Sobald Farben, Hintergrund, Schrift und Umbruch übereinstimmen, ersetze das Beispiel durch dein echtes Dokument.

Markdown zu PDF mit Code-Highlighting (Syntax-Farben erhalten) | MarkdownToImage