Работа с LibreOffice

Сохранение большого количества файлов в другой формат

Для этого нужно запустить команду

libreoffice --headless --convert-to doc Имя_файла

Где

  • doc – можно заменить на желаемый формат (pdf, html, odt, docx и т.д.)
  • Имя_файла – замените на тот файл, который вы хотите конвертировать.

Ещё примеры команды:

Конвертирует все поддерживаемые файлы в каталоге dir в html формат и сохранит их в текущем каталоге

libreoffice --headless --convert-to html dir/*

Конвертировать все файлы в формате .doc в формат PDF и сохранить их в каталоге /home/user:

libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir /home/user *.doc

Конвертировать все файлы в формате .doc в формат html с кодировкой UTF8 и сохранить их в текущем каталоге.

libreoffice --headless --convert-to "html:XHTML Writer File:UTF8" *.doc

Конвертировать все файлы в формате .doc в обычный текст с кодировкой UTF8.

libreoffice --headless --convert-to "txt:Text (encoded):UTF8" *.doc

Вывод содержимого файла в консоль

Иногда нужно, чтобы консольный Bash скрипт прочитал содержимое офисного файла и вывел это содержимое в консоль. Если бы нас интересовали обычные текстовые файлы, то мы могли бы воспользоваться командой cat. Но офисные файлы имеют сложную структуру и иногда представляют собой архивы, т.е. бинарные файлы. Поэтому для этого у LibreOffice есть специальная опция командной строки --cat:

libreoffice --headless --cat имя_файла

Конечно, сложные элементы, которые не могут быть отображены в командной строке (картинки, формы и т.д.), показаны не будут.