Командная строка 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, если она еще не присутствует.

Посвящается миру, любви, пониманию и уважению ко всем существам.