OpenOffice командная строка создание PDF - PullRequest
15 голосов
/ 10 декабря 2008

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

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

Ответы [ 5 ]

28 голосов
/ 20 сентября 2012

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

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

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

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

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

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

16 голосов
/ 16 мая 2009

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

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

12 голосов
/ 10 декабря 2008

Art of Solving также имеет очень хороший 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 голосов
/ 19 мая 2014

Хотя этот вопрос немного старый, здесь что-то с целью документирования некоторых распространенных ошибок с решением 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 - без заголовка отказывается преобразовывать, если только root, не будет работать из сценария PHP )

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

1 голос
/ 26 июля 2010

Есть anytopdf . Сам не пробовал.

Цитирование ...

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

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

...