Alle Office-Programme besitzen Importfilter, um Dokumente aus anderen Anwendungen zumindest lesen zu können. Wie gut das funktioniert, unterscheidet sich deutlich. Das kostenlose Open-Source-Programm Pandoc kann hier Lücken schließen. Es liest und schreibt Textdokumente, aber auch Präsentationen und teilweise sogar Tabellen. Die Software nutzt dabei sogenannte „Reader“, die die Eingabedateien in ein internes Modell umwandeln, das dann die „Writer“-Module nutzen, um das Ausgabeformat zu erzeugen. Die Besonderheit von Pandoc ist die große Formatvielfalt. Mehr als 40 Formate stehen zur Auswahl.
Pandoc unter Linux installieren
Pandoc ist in den Paketquellen der meisten Distributionen vorhanden und entsprechend ist die Installation per Paketnamen „pandoc“. Pandoc wird aber permanent weiterentwickelt. Die Filter erhalten neue Optionen, es kommen neue dazu und schließlich ergeben sich auf den diversen Betriebssystemen ständig Veränderungen. Die Maintainer der Pakete kommen häufig nicht hinterher. Wer auf die aktuelle Version Wert legt, sollte die Projektseite https://pandoc.org/installing.html aufsuchen.
Um die installierte Version zu prüfen, öffnen Sie ein Terminal und geben pandoc –version ein. Sofern Pandoc auch PDF-Dateien erzeugen soll, benötigen Sie Latex-Pakete. Das Wichtigste können Sie mit
sudo apt install texlive-full
installieren.

Markdown-Text zu Word-Format
Einer der wohl am häufigsten genutzten Anwendungsfälle dürfte die Konvertierung von Markdown-Texten in Word-Dokumente sein. Die mit einem einfachen Editor verfassten Texte werden so für die Nutzer der Officesuite nutzbar.
Während der Installation wird Pandoc in den Pfad des Systems eingetragen. Um den Text nach Word zu konvertieren, öffnen Sie das Terminal und wechseln in das Verzeichnis mit den Quelldateien. Wollen Sie die Markdown-Textdatei „beispiel.md“ in das Zieldokument „beispiel.docx“ verwandeln, verwenden Sie folgendes Kommando:
pandoc beispiel.md -o beispiel.docx
Die Ausgabe (Output) wird über den Schalter „-o“ definiert. Über die Dateiendung (hier „docx“) erkennt Pandoc automatisch, dass ein Word-Format anzulegen ist. Das Zieldokument landet dann automatisch im aktuellen Verzeichnis.

Pandoc kennt eine Reihe von weiteren Schaltern und Optionen. Teilweise sind diese dann auf ein bestimmtes Format beschränkt. Wer die Tipparbeit nicht scheut, kann bei der Bezeichnung von Ausgangs- und Zieldokument auch die jeweiligen Pfade verwenden. Im Falle von Office-Dokumenten kann der Zusatz „-s“ wichtig sein. Der steht für „standalone“ und bedeutet, dass innerhalb der Ausgangsdatei ein Block von Metadaten hinzugefügt werden kann, der bei der Konvertierung in den Eigenschaften des Office-Dokuments berücksichtigt wird. Die Option ist nötig, wenn Pandoc die verwendeten Überschriften für das Anlegen eines Inhaltsverzeichnisses nutzen soll. Einfacher Text wie Markdown kennt keine automatisierten Nummerierungen von Überschriften. Bei der manuellen Zählung kann es schnell zu Fehlern kommen, gerade, wenn es um mehrere Ebenen geht. Mit folgendem Beispielkommando
pandoc -s --toc --number-sections=true -o ziel.docx beispiel.md
wird ein Inhaltsverzeichnis angelegt und die Überschriften nummeriert.
Probleme mit Formatvorlagen
Writer aus dem Libre-Office-Paket und Word nutzen für die Darstellung der Dokumente Formatvorlagen, in denen die Typografie verschiedener Absatzarten definiert ist. Pandoc nutzt in beiden Fällen (ODT, DOCX) seine eigene Vorlage. Wer andere Schriftarten und Schriftgrößen verwenden möchte, kann dies auf zwei Arten erreichen. Entweder Sie verändern diese (interne) Vorlage nach Ihren Wünschen oder Sie erstellen eine eigene Vorlage und teilen Pandoc beim Konvertieren den Namen dieser Datei mit.
Die von Pandoc gelieferte Referenz liegt (je nach Konfiguration des Grundsystems) entweder unter „~/.local/share“ oder „~/.pandoc“. Am sinnvollsten ist es, das Original zu kopieren und dann mit der Kopie zu arbeiten. Den Namen „reference.docx“ sollten Sie nicht verändern. Passen Sie darin die Formatvorlagen an Ihre Bedürfnisse an. Denkbar ist auch, dass Sie mehrere solcher Vorlagen für unterschiedliche Ausgabezwecke anlegen. Um sich die Angabe von Pfaden zu sparen, können Sie den benötigten Vorlagennamen mittels Schalters übergeben:
–reference-doc=SpezialVorlage.doc
Solche Referenzdateien für Vorlagen kennen nur die Pandoc-Konverter für DOCX und ODT.
Von Word nach ODT und zurück
Wie eingangs erwähnt, beschränkt sich Pandoc nicht auf die Konvertierung von Markdown zu Word. Auch die Umwandlung von Office-Formaten gehört dazu. Die Konvertierung von Word nach ODT, das von Libre Office und Open Office verwendet wird, ist genauso einfach. Um eine Word-Datei „dokument.docx“ umzuwandeln, nutzen Sie folgendes Kommando:
pandoc diss.docx -o diss.odt
Die umgekehrte Richtung funktioniert genauso. Komplexe Formatierungen, spezielle Layouts oder eingebettete Objekte werden möglicherweise nicht perfekt übertragen.
Office-Dokumente zu Text
Eine weitere interessante Option ist die Möglichkeit, ein Textdokument inklusive der Bilder in das Markdown-Format zu konvertieren. Das ist nützlich, wenn am Inhalt weitergearbeitet werden und eine Versionskontrolle zum Einsatz kommen soll. Bekanntlich tun sich Programme wie Git mit Binärformaten schwer. Der Befehl
pandoc dokument.docx -o dokument.md
extrahiert den Textinhalt samt Struktur in eine Markdown-Datei. Praktisch ist dabei, dass Pandoc auch eingebettete Bilder extrahieren kann. Wenn Sie den Parameter
-extract-media=medien
hinzufügen, werden alle eingebetteten Bilder in den Unterordner namens „medien“ gespeichert und in der Markdown-Datei entsprechend verlinkt. Wichtig ist dabei, dass dieser Ausgabeordner für die Bilder bereits existiert. Pandoc kann diesen nicht selbständig anlegen.
Direkte Integration spart Tipparbeit
Ein Blick in die Dokumentation von Pandoc (https://pandoc.org/MANUAL.html) zeigt, dass die Vielseitigkeit eines Kommandozeilenprogramms ihren Preis hat. In Abhängigkeit vom gewünschten Zielformat und den Optionen für die Formatierung erweitert sich der an sich einfache Funktionsaufruf um immer mehr Schalter. Das Risiko für Tippfehler steigt. Pandoc ist aber nicht nur ein Konvertierer, sondern bringt auch eine eigene Erweiterung von Markdown mit, die etwas mehr Flexibilität bei der Textgestaltung bietet. Deshalb haben sich viele Entwickler entschieden, Pandoc direkt in ihre Texteditoren zu integrieren oder Erweiterungen für bekannte Programme zur Verfügung zu stellen. Das vereinfacht dann den Umgang mit Pandoc deutlich.
Ein Beispiel ist das kommerzielle Programm Typora (https://typora.io), das für Linux, Mac und Windows verfügbar ist. Der Editor nutzt Markdown, wandelt den Code dann aber direkt beim Schreiben in eine Vorschau um. So erinnert die Arbeit damit eher an eine klassische Textverarbeitung. Eine Besonderheit des kommerziellen Editors sind die Exporteinstellungen. Auf Basis einer Grundform wie dem Export nach DOCX können die gewünschten zusätzlichen Parameter in eine Maske eingetragen und als neuer Exportfilter gespeichert werden.

Wenn Sie kostenlose Open-Source-Editoren bevorzugen, finden Sie auf der Wiki-Seite des Projekts Links für Erweiterungen unter https://github.com/jgm/pandoc/wiki/Pandoc-Extras. Für den beliebten Editor Visual Studio Code schließlich finden Sie auf dem Marktplatz des Editors eine ganze Reihe von unterschiedlichen Erweiterungen. „Pandoc Assist“ etwa stellt verschiedene Exportfunktionen (DOC, ODT, HTML usw.) zur Auswahl. In den Einstellungen der Erweiterung legen Sie die gewünschten Parameter fest.
Für den klassischen Kommandozeileneditor Vim gibt es das Projekt vim-pandoc. Dieses Plug-in bietet Funktionen wie Syntax-Highlighting, Folding-Support für verschiedene Dokumentabschnitte oder automatische Vervollständigung. Das Plug-in fügt den Befehl „:Pandoc“ hinzu, dem Sie alle gewünschten Pandoc-Parameter übergeben können.
Für Emacs greifen Sie auf den „pandoc-mode“ zurück. Eine Besonderheit dieser Erweiterung ist das Setzen von Optionen für Projekte. So könnten Sie für die Arbeit mit längeren Texten Konvertierungsoptionen für die verschiedenen Abschnitte oder Kapitel hinterlegen.
Abseits solcher Editoren wie Visual Studio Code oder Gnome-Markdown-Editor Apostrophe, die Pandoc-Funktionen integrieren, ist es produktiv, sich in die Dokumentation von Pandoc zu vertiefen, um den riesigen Funktionsumfang zu entdecken. Das Werkzeug ist eine Arbeitserleichterung für alle, die häufig Dokumente unterschiedlicher Quellen konvertieren müssen. Zum zweiten schlägt es die Brücke zwischen der Textarbeit in Editoren und der Weitergabe der Texte in Office-Formaten. Auch die Erstellung von E-Books lässt sich mit Pandoc vereinfachen.

Zusätzliche Informationen: Was ist Markdown ?
Pandoc wird von vielen Anwendern dazu verwendet, Markdown-Texte in Office-Formate zu konvertieren.
Markdown ist eine vereinfachte Auszeichnungssprache, in der zwar die Anweisungen zur Struktur enthalten sind, der Text aber immer noch problemlos von Menschen zu lesen ist. Überschriften werden etwa mit Raute gekennzeichnet, wobei die Anzahl der Rauten die Ebene der Überschrift bestimmt. Viele Websites und Plattformen unterstützen Markdown, darunter Github, Reddit, Stack Overflow und zahlreiche Wikis und Content-Management-Systeme. Es sind zwei wesentliche Vorteile, die dieses Konzept populär machen: Zum einen benötigen selbst umfangreiche Beiträge nur geringe Datenmengen, zum anderen kann das Ausgangsmaterial mit einem Konverter wie Pandoc für unterschiedlichste Empfänger und Plattformen umgearbeitet werden.

