Hier ist ein ganz anderer Ansatz.
Dies ist möglich, da in jüngster Zeit eine Reihe neuer Konvertierungspfade durch die neu erworbene Fähigkeit von Pandoc zum Lesen von ODT-Dateien eröffnet wurden.
Wenn Pandoc ein Dateiformat liest, konvertiert es es in ein internes Format, "native" (eine Form von JSON).
Aus seiner nativen Form kann es das Dokument dann in eine ganze Reihe anderer Formate exportieren. Nicht nur PDF, sondern auch DocBook, HTML, EPUB, DOCX, ASCIIdoc, DokuWiki, MediaWiki und was nicht ...
Da hier das gewünschte Ausgabeformat PDF ist, haben wir eine andere Auswahl an verschiedenen Pfaden, die von Pandoc als PDF-Engine bezeichnet werden . Hier ist die Liste der derzeit verfügbaren PDF-Engines (gültig für Pandoc v2.7.2 und höher - frühere Versionen unterstützen möglicherweise nur eine kleinere Liste):
pdflatex: Dazu muss LaTeX zusätzlich zu Pandoc installiert sein.
xelatex: Dazu muss XeLaTeX zusätzlich zu Pandoc installiert sein (auch als zusätzliches Paket für allgemeine TeX-Distributionen verfügbar ).
Kontext: Dazu muss ConTeXt zusätzlich zu Pandoc installiert sein. ConTeXt ist als zusätzliches Paket für die meisten allgemeinen TeX-Distributionen verfügbar .
lualatex: Dazu muss LuaTeX zusätzlich zu Pandoc installiert sein (auch als zusätzliches Paket für allgemeine TeX-Distributionen verfügbar ).
pdfroff: Dazu muss zusätzlich zu Pandoc GNU Roff installiert sein.
wkhtml2pdf: Dazu muss zusätzlich zu Pandoc wkhtmltopdf installiert sein.
prince: Dazu muss PrinceXML zusätzlich zu Pandoc installiert sein.
weasyprint: Hierfür muss zusätzlich zu Pandoc weasyprint installiert werden.
In Pandoc sind jetzt einige weitere und neuere PDF-Engines integriert, die ich selbst noch nicht verwendet habe und die ich derzeit nicht genauer beschreiben kann: tektonisch und latexmk .
WARNUNG: Erwarten Sie nicht, dass das Erscheinungsbild Ihres Originaldokuments in allen PDF-Ausgaben mit der Druckvorschau oder dem PDF-Export des ODT identisch ist! Pandoc bewahrt beim Konvertieren keine Layouts , sondern den Inhalt und die Struktur von Dokumenten: Absätze bleiben Absätze, hervorgehobene Wörter bleiben hervorgehoben, Überschriften bleiben Überschriften usw. Das allgemeine Erscheinungsbild kann sich jedoch erheblich ändern.
Beispielbefehle
pdflatex:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=pdflatex
XeLaTeX:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=xelatex
LuaLaTeX:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=lualatex
Kontext:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=context
GNU troff:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=pdfroff
wkhtmltopdf:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=wkhtml2pdf
PrinceXML:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=prince
Weasyprint:
pandoc -f odt -o mydoc.pdf mydoc.odt --pdf-engine=weasyprint
Die oben genannten Befehle sind die grundlegendsten für die Konvertierung. Abhängig von der ausgewählten PDF-Engine sind möglicherweise viele andere Optionen verfügbar, um das Erscheinungsbild der ausgegebenen PDF-Datei zu steuern. Beispielsweise können die folgenden zusätzlichen Parameter zu allen Pfaden hinzugefügt werden, die über LaTeX geleitet werden:
-V geometry:"paperwidth=23.3cm, paperheight=1000pt, margin=11.2mm, top=2cm"
Dabei wird eine benutzerdefinierte Seitengröße (etwas größer als DIN A4) mit Rändern von 2 cm an der Oberkante und 1,12 cm an den anderen drei Kanten verwendet.