Openoffice-Befehlszeile PDF-Erstellung
-
21-08-2019 - |
Frage
Ich habe eine Dokumentation in Openoffice geschrieben, und ich möchte ein Teil davon als PDF-Dateien in den letzten Build Lieferungen aufzunehmen. Ich möchte dies mit dem automatisierten Build-Skript tun.
Gibt es eine Möglichkeit, eine PDF-Datei von Openoffice mit einem Kommandozeilenbefehl?
zu erstellenLösung
Art von Solving hat auch eine sehr gute API, um die Umwandlung in Java auszuführen. Es ist ein wenig langsam, aber es ist einfach genug. Dies ist, wie ich es verwenden:
File inputFile = new File("C:\\oreyes\\hola.doc");
File outputFile = new File("C:\\oreyes\\hola.pdf");
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
} catch(Exception e) {}
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
connection.disconnect();
Sie können ein Glas mit dem erstellen und es von der Kommandozeile verarbeiten.
Andere Tipps
Ab September 2012 Libreoffice ein Dokument in das PDF über die Befehlszeile umwandeln kann:
lowriter --headless --convert-to pdf yourfile.odt
Es hat auch Bulk-Konvertierung unterstützen:
lowriter --headless --convert-to pdf yourfiles*.odt
werden alle Dateien konvertieren, die das Muster auf die entsprechende PDF-Datei entsprechen.
Es muss keine Libreoffice-Fenster öffnen, wenn Sie diesen Befehl ausführen.
Obwohl diese Frage ist ein wenig alt, hier etwas zum Zweck der typischen Fehler mit der Libreoffice-Lösung dokumentiert:
-
Wenn
lowriter
nicht für Sie arbeiten, weil es Kommandozeilenparameter ignoriert und die gui bringt nur versuchen, dielibreoffice
oderloffice
Binärdateien Aufruf:loffice --headless --convert-to pdf yourfile.odt
-
Wenn Sie erhalten diese Meldung
Error: Please reverify input parameters...
versuchen Sie es als root laufen (beispielsweise über sudo). Das half mir auf Ubuntu 12.04 LTS mit Libreoffice 3 installiert und kann auch ein Grund sein, warum diese Umwandlung nicht ohne richtige Konfiguration auf einem Webserver läuft ( Libreoffice --headless verweigert, es sei denn Wurzel zu konvertieren, nicht von PHP-Skript )
-
Auch stellen Sie sicher, dass Sie keine andere Instanzen von Libreoffice läuft oder es wird scheitern nur still und tut keine Umwandlung überhaupt.
Es gibt anytopdf . Habe es selbst nicht ausprobiert.
Zitiert ...
anytopdf ist ein Perl-Skript, das OpenOffice.org, Microsoft Office (Word DOC, Excel XLS), RTF, HTML und andere openoffice.org lesbare Dateiformate in das PDF-Format konvertiert. Es wird die Unterstützung ‚AnyToPDF‘ OpenOffice.org Basic-Makro-Bibliothek in dem aktuellen Benutzer OpenOffice.org Konfiguration automatisch installieren, wenn es nicht bereits vorhanden ist.
gewidmet Frieden, Liebe, Verständnis und Respekt für alle Lebewesen.