Создание PDF командной строки OpenOffice

У меня есть документация, написанная в OpenOffice, и я хотел бы включить некоторые из них в качестве PDF-файлов в окончательные поставки сборки. Я хотел бы сделать это с помощью сценария автоматической сборки.

есть ли способ создать PDF-файл из OpenOffice с помощью команды командной строки?

5 ответов


искусство решения имеет также очень хороший 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(); 

вы можете создать банку с этим и обработать ее из командной строки.


по состоянию на сентябрь 2012 года LibreOffice может конвертировать документ в PDF из командной строки:

lowriter --headless --convert-to pdf yourfile.odt

Он также имеет поддержку массового преобразования:

lowriter --headless --convert-to pdf yourfiles*.odt

преобразует все файлы, соответствующие шаблону, в соответствующий PDF-файл.

при выполнении этой команды не должно быть открытых окон LibreOffice.


есть отличный инструмент под названием "unoconv", он был в моем репозитории Ubuntu. Он преобразует ODF, .ods, ... в PDF, и я думаю, в другие форматы тоже.

Я также могу конвертировать файлы PowerPoint в PDF.


хотя этот вопрос немного староват, здесь что-то для документирования некоторых общих подводных камней с решением LibreOffice:

  • если lowriter не работает для вас, потому что он игнорирует параметры командной строки и графический интерфейс просто попробовать вызов 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-скриптом)

  • также убедитесь, что у вас нет других экземпляров LibreOffice, или он просто не будет работать молча и вообще не будет преобразования.


здесь anytopdf. Сам не пробовал.

цитируешь...

anytopdf-это скрипт perl, который преобразует OpenOffice.org, Microsoft Office (Word DOC, Excel XLS), RTF, HTML и другие openoffice.org читаемые форматы файлов в формате PDF. Он автоматически установит поддержку "AnyToPDF" OpenOffice.org базовая библиотека макросов текущего пользователя OpenOffice.org конфигурация, если она еще не присутствует.

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