Командная строка OpenOffice Создание PDF файла
У меня есть документация, написанная в OpenOffice, и я хотел бы включить некоторые из них в виде файлов PDF в окончательные сборки. Я хотел бы сделать это с помощью автоматической сборки script.
Есть ли способ создать PDF файл из OpenOffice с помощью командной строки?
Ответы
Ответ 1
Искусство решения также имеет очень хороший API для выполнения преобразования на Java. Это немного медленно, но достаточно просто. Вот как я его использую:
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();
Вы можете создать банку с этим и обработать ее из командной строки.
Ответ 2
По состоянию на сентябрь 2012 года LibreOffice может конвертировать документ в PDF из командной строки:
lowriter --headless --convert-to pdf yourfile.odt
Он также имеет поддержку массового преобразования:
lowriter --headless --convert-to pdf yourfiles*.odt
преобразует все файлы, соответствующие шаблону, в соответствующий PDF файл.
При запуске этой команды окна LibreOffice не должны открываться.
Ответ 3
Есть отличный инструмент под названием "unoconv", он был в моем репозитории Ubuntu. Он преобразует ODF, . Ods,... в PDF и я думаю и в других форматах.
Я также мог конвертировать файлы PowerPoint в PDF.
Ответ 4
Хотя этот вопрос немного стар, здесь что-то для документирования некоторых распространенных ошибок с решением LibreOffice:
-
Если lowriter
не работает для вас, потому что он игнорирует параметры командной строки и вызывает gui, просто попробуйте вызвать двоичные файлы libreoffice
или loffice
:
loffice --headless --convert-to pdf yourfile.odt
-
Если вы получили это сообщение
Error: Please reverify input parameters...
попробуйте запустить его как root (например, через sudo). Это помогло мне установить Ubuntu 12.04 LTS с установленным LibreOffice 3, а также может быть причиной, почему это преобразование не выполняется на веб-сервере без правильной конфигурации (Libreoffice --headless отказывается конвертировать, если не root, не будет работать с PHP script)
-
Также убедитесь, что у вас нет других экземпляров LibreOffice, или он просто терпит неудачу и вообще не будет конвертировать.
Ответ 5
Существует anytopdf. Не пробовал сам.
Цитирование...
anytopdf - это perl script, который преобразует форматы OpenOffice.org, Microsoft Office (Word DOC, Excel XLS), RTF, HTML и другие форматы файлов openoffice.org в формат PDF. Он автоматически установит поддерживающую базовую макрообъектную библиотеку OpenOffice.org "AnyToPDF" в конфигурации текущего пользователя OpenOffice.org, если она еще не присутствует.
Посвящается миру, любви, пониманию и уважению ко всем существам.