Weiß jemand, wie man eine ODT
Datei (LibreOffice) konvertiert PDF
?
libreoffice
pdf
openoffice.org
SoftTimur
quelle
quelle
Antworten:
Öffnen Sie einfach das Dokument mit libre office und wählen Sie Als PDF exportieren ... :
Für eine Befehlszeilenlösung gibt es unoconv , das Dateien von der Befehlszeile konvertiert:
Hinweis: Nur ab Ubuntu 11.10 hängt Unoconv von Libre Office ab. Frühere Unoconv-Versionen (von Ubuntu <= 11.04) hängen von Open Office ab (laufen aber auch mit Libre Office).
quelle
unoconv
, es ist großartig!unoconv: Cannot find a suitable office installation on your system.
, daher ist es unbrauchbar :(Sie können auch die Befehlszeile von
libreoffice
für Ihren Zweck verwenden. Das gibt Ihnen den Vorteil der Batch-Konvertierung. Es sind aber auch einzelne Dateien möglich. In diesem Beispiel werden alle ODT-Dateien im aktuellen Verzeichnis in PDF konvertiert:Weitere Informationen zu Befehlszeilenoptionen erhalten Sie mit:
quelle
--env:UserInstallation=file:///path/to/some/directory
.unoconv
. Zum Beispiel habe ich die Leitungunoconv -f pdf *.ppt
erfolgreich benutzt.Im Folgenden finden Sie einige Details zur Methode "Nicht-GUI".
Mit dieser Methode können Sie nicht nur ODT-Dateien in PDF konvertieren. Es funktioniert auch für MS Word DOCX-Dateien (es funktioniert ebenso wie LibreOffice mit dem jeweiligen ODT umgehen kann) und im Allgemeinen für alle Dateitypen, die LibreOffice öffnen kann.
Ich glaube nicht, dass es eine Binärdatei gibt, die
libreoffice
als eine der anderen vorgeschlagenen Antworten bezeichnet wird. Es gibt jedochsoffice(.bin)
- die Binärdatei, mit der LibreOffice über die Befehlszeile gestartet werden kann. Es befindet sich normalerweise in/usr/lib/libreoffice/program/
; und sehr oft/usr/bin/soffice
verweist ein Symlink auf diesen Ort.In den meisten Fällen
--headless --convert-to pdf
reichen die Parameter dann nicht aus. Es muss sein:Beachten Sie genau diese Groß- und Kleinschreibung!
Als nächstes funktioniert der Befehl nicht, wenn auf Ihrem System bereits eine LibreOffice-GUI-Instanz ausgeführt wird. Es wird durch den Fehler # 37531 verursacht, der seit 2011 bekannt ist . Fügen Sie Ihrem Befehl diesen zusätzlichen Parameter hinzu:
Dadurch wird eine neue, separate Umgebung erstellt, die von einer zweiten kopflosen LO-Instanz verwendet werden kann, ohne eine möglicherweise ausgeführte erste GUI-LO-Instanz zu beeinträchtigen, die von demselben Benutzer gestartet wurde.
Stellen
--outdir /pdf
Sie außerdem sicher, dass das von Ihnen angegebene vorhanden ist und Sie über Schreibberechtigung verfügen. Oder verwenden Sie lieber ein anderes Ausgabeverzeichnis. Auch wenn es sich nur um eine erste Test- und Debugging-Runde handelt:Daher:
Dies funktioniert für mich unter Mac OS X Yosemite 10.10.5 mit LibreOffice v5.1.2.2 (unter Verwendung meines spezifischen Pfads für die Binärdatei,
soffice
der unter Ubuntu ohnehin anders sein wird ...). Es funktioniert auch unter Debian Jessie 8.0 (mit path/usr/lib/libreoffice/program/soffice
). Es tut uns leid, ich kann es momentan nicht auf Ubuntu testen.Wenn dies alles nicht funktioniert, wenn Sie versuchen, DOCX zu verarbeiten:
Möglicherweise liegt ein Problem mit der spezifischen DOCX-Datei vor, mit der Sie den Befehl ausführen ... Erstellen Sie also zuerst ein sehr einfaches DOCX-Dokument. Verwenden Sie dazu LibreOffice. Schreiben Sie "Hallo Welt!" auf einer ansonsten leeren Seite. Speichern Sie es als DOCX.
Versuch es noch einmal. Funktioniert es mit der einfachen DOCX?
Wenn es erneut nicht funktioniert, wiederholen Sie Schritt 7, aber speichern Sie diesmal als ODT.
Wiederholen Sie Schritt 8, achten Sie jedoch darauf, diesmal auf das ODT zu verweisen.
Last: Verwenden Sie den vollständigen Pfad zu
soffice
, zusoffice.bin
und zulibreoffice
und führen Sie jeden mit dem folgenden-h
Parameter aus:Vergleichen Sie sie mit der Befehlszeile, die Sie verwendet haben:
Zum Vergleich: Meine eigene Ausgabe (Mac OS X) ist hier:
Fügen Sie Ihrer Befehlszeile ein weiteres Argument hinzu, um die Anwendung eines Eingabefilters beim
soffice
Öffnen Ihrer DOCX-Datei zu erzwingen :oder
quelle
Nautilus-Skript
Dieses Skript verwendet libreoffice, um mit LibreOffice kompatible Dateien in PDF zu konvertieren.
Installationsanweisungen finden Sie hier: Wie kann ich ein Nautilus-Skript installieren?
quelle
Hinweis: Ich habe beschlossen, meine Antwort von dieser Frage zu löschen und hier eine geänderte Version zu veröffentlichen, wenn ich feststellte, dass
unoconv
sichpsw
Dateien überhaupt nicht gut verarbeiten lassen und nicht erfolgreich in andere Formate konvertiert werden können. Es kann auch Probleme mitdocx
undxlsx
Formaten geben.Allerdings
Libreoffice
unterstützt viele Dateitypen; Eine vollständige Dokumentation finden Sie auf der offiziellen Website, in der die gültigen Eingabe- und Ausgabeformate aufgeführt sind.Sie können das Befehlszeilenkonvertierungsdienstprogramm
libreoffice
oder Unoconv verwenden , das in den Repositorys verfügbar ist. Ich findeunoconv
es sehr nützlich, und es ist wahrscheinlich das, was Sie wollen. Obwohl Takkat dies kurz erwähnt hatunoconv
, hielt ich es für nützlich, einige Details und einen Batch-Konvertierungs- Einzeiler anzugeben .Mit dem Terminal können Sie
cd
in das Verzeichnis wechseln, in dem sich Ihre Dateien befinden, und diese anschließend stapelweise konvertieren, indem Sie einen Einzeiler wie diesen ausführen:(Dieser Einzeiler ist eine Modifikation meines in dieser Antwort vorgestellten Übersetzungsskripts .)
Wenn Sie später andere Dateiformate verwenden möchten, ersetzen Sie einfach das
odt
undpdf
durch andere unterstützte Eingabe- und Ausgabeformate. Sie finden die unterstützten Formate für einen Dateityp, indem Sie eingebenunoconv -f odt --show
. Verwenden Sie zum Konvertieren einer einzelnen Datei beispielsweiseunoconv -f pdf myfile.odt
.Weitere Informationen und Optionen für das Programm finden Sie im Terminal
man unoconv
oder auf den Online-Hilfeseiten von Ubuntu .quelle
Ein weiteres Nautilus-Skript
Dieses sehr einfache und leichte Nautilus-Skript
unoconv
konvertiert ausgewählte Dateien, die mit LibreOffice kompatibel sind, in das PDF-Format:quelle
Ich füge eine neue Antwort hinzu, da Pandoc in letzter Zeit eine Reihe neuer Konvertierungspfade eröffnet hat, mit denen ODT-Dateien gelesen werden können.
Wenn Pandoc ein Dateiformat liest, konvertiert es es in ein internes Format, "native" (eine Form von JSON).
Von seiner ursprünglichen Form aus 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 zusätzlich zu Pandoc LaTeX installiert sein.
xelatex: Hierfür muss zusätzlich zu Pandoc XeLaTeX installiert sein (auch als Zusatzpaket für allgemeine TeX-Distributionen verfügbar ).
Kontext: Hierfür muss ConTeXt zusätzlich zu Pandoc installiert sein. ConTeXt ist als Zusatzpaket zu den meisten allgemeinen TeX-Distributionen erhältlich .
lualatex: Hierfür muss zusätzlich zu Pandoc LuaTeX installiert sein (auch als Zusatzpaket für allgemeine TeX-Distributionen erhältlich ).
pdfroff: Dazu muss zusätzlich zu Pandoc GNU Roff installiert sein.
wkhtml2pdf: Dazu muss wkhtmltopdf zusätzlich zu Pandoc installiert sein.
prince: Dies setzt voraus , dass PrinceXML zusätzlich zu Pandoc installiert ist.
weasyprint: Dazu muss weasyprint zusätzlich zu Pandoc installiert sein.
In Pandoc sind einige weitere und neuere PDF-Engines integriert, die ich selbst noch nicht verwendet habe und die ich derzeit nicht näher beschreiben kann: tectonic 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 behält beim Konvertieren keine Layouts , sondern nur den Inhalt und die Struktur von Dokumenten bei: Absätze bleiben Absätze, hervorgehobene Wörter bleiben hervorgehoben, Überschriften bleiben Überschriften usw. Das allgemeine Erscheinungsbild kann sich jedoch erheblich ändern.
Beispielbefehle
pdflatex:
XeLaTeX:
LuaLaTeX:
Kontext:
GNU troff:
wkhtmltopdf:
PrinceXML:
weasyprint:
Die obigen Befehle sind die grundlegendsten für die Konvertierung. Abhängig von der ausgewählten PDF-Engine gibt es möglicherweise viele andere Optionen, mit denen Sie das Erscheinungsbild der PDF-Ausgabedatei steuern können. Beispielsweise können die folgenden zusätzlichen Parameter zu allen Pfaden hinzugefügt werden, die über LaTeX geleitet werden:
Hierfür wird ein benutzerdefiniertes Seitenformat (etwas größer als DIN A4) mit einem Rand von 2 cm an der oberen Kante und 1,12 cm an den anderen drei Kanten verwendet.
quelle