Intereting Posts
Изменить фона lightdm Не удается установить долю samba: Ошибка монтирования (22) Обновление Windows 10 в папке загрузки с двойной загрузкой? Программное обеспечение Linux RAID-1 и имя устройства Выделение обычного файла из символической ссылки как генерировать только один специальный символ в этом генераторе паролей Проверьте правильность выравнивания разделов для производительности? Какой лучший способ прервать запущенную программу в ответ на другую программу в сценарии? Новая строка ("\ n") перед выходом в bash Могу ли я изменить основные значки – Raspbian Jessie Где я могу найти официальный стандарт иерархии файлов для UNIX? Почему мы демонизируем процессы? Отложить только определенное количество файлов из большого архива Порядок величины, когда обмен vmstat si / so должен считаться нездоровым? Резервное копирование chroots для переустановки хоста

Как конвертировать libreoffice ODT в PDF в bash

Я использую libreoffice под CentOS 6. Я могу конвертировать файлы ODT в PDF с помощью:

libreoffice --headless --convert-to pdf *.odt но проблема в том, что он работает только тогда, когда в libreoffice не открыт документ.

Когда я указываю --env:UserInstallation=file:///path/to/some/directory как это предлагается в одном из комментариев по этому вопросу , это не помогает.

Что я делаю не так? Недопустимо закрывать все экземпляры libreoffice перед запуском команды before.

Это вряд ли будет работать, так как предложение в комментарии является неполным (вы не можете просто указать какой-то каталог) и неверным ( --env:... должно быть -env:.. Вот что я рекомендую вам:

  1. Остановить все экземпляры libreoffice
  2. Запустите libreoffice из командной строки без указания --headless :

     libreoffice -env:UserInstallation=file:///home/username/.config/libreoffice-alt 

    вы должны заменить /home/username на свой домашний каталог (и настроить .config если у вас его нет в CentOS, я сделал это на Ubuntu и Linux Mint). Вышеупомянутый создаст новый каталог конфигурации для альтернативного libreoffice в вашем каталоге .config, без которого вы получите некоторую ошибку о том, что java не найден.

  3. Выйти из этого экземпляра libreoffice
  4. Этот каталог /home/username/.config/libreoffice-alt теперь должен быть создан для вас.

Теперь запустите другое libreoffice из командной строки (это позволяет вам видеть некоторые полезные сообщения, если что-то не так, если вы -env:... второй экземпляр), без -env:... , и пока он все еще запущен, начните преобразование, используя:

 libreoffice -env:UserInstallation=file:///home/username/.config/libreoffice-alt --headless --convert-to pdf *.odt 

Один из возможных подходов – установить unoconv (если он еще не установлен) и

 unoconv file.odt 

Подробнее см. Man unoconv

unoconv – это утилита командной строки, которая может конвертировать любой формат файла, который LibreOffice может импортировать, в любой формат файла, который LibreOffice способен экспортировать. unoconv использует привязки UNO LibreOffice для неинтерактивного преобразования ….

На некоторых платформах также необходимо установить libreoffice-headless \ thanks {Aaron}