Вопрос

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

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

Это было полезно?

Решение

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

Вы можете создать jar с этим и обработать его из командной строки.

Другие советы

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

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

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

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

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

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

Существует отличный инструмент под названием "unoconv", он был в моем репозитории Ubuntu.Это преобразует ODF ( ОДФ ), .орв, ...в 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 если она еще не присутствует.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top