Работа LibreOffice в командной строке: конвертирование большого количества файлов и вывод содержимого офисных файлов в консоль
Работа в консоли, если вы в этом разбираетесь, может увеличить вашу производительность. Особенно если это касается большого количества однотипных задач. Предположим, нам дано множество офисных файлов в формате .doc (или любом другом формате, который поддерживает LibreOffice), и мы хотим их переконвертировать в другой формат. Если файлов немного, то их можно открыть в LibreOffice и выбрать сохранение в нужном формате. Но если их десятки и более, то эта рутинная работа станет долгой и утомительной. К счастью, LibreOffice умеет работать в консоли. Причём нам даже не нужно писать скрипты, поскольку она понимает подстановочные символы. Сохранение большого количества файлов в другой формат ВНИМАНИЕ: длинное тире перед командами —headless —cat это два дефиса Для этого нужно запустить команду soffice —headless —convert-to doc Имя_файла Где doc – можно заменить на желаемый формат (pdf, html, odt, docx и т.д.) Имя_файла – замените на тот файл, который вы хотите конвертировать. Ещё примеры команды: Конвертирует все поддерживаемые файлы в каталоге Математика в html формат и сохранит их в текущем каталоге^ soffice —headless —convert-to html Математика/* Конвертировать все файлы в формате .doc в формат PDF и сохранить их в каталоге /home/user: soffice —headless —convert-to pdf:writer_pdf_Export —outdir /home/user *.doc Конвертировать все файлы в формате .doc в формат html с кодировкой UTF8 и сохранить их в текущем каталоге. soffice —headless —convert-to "html:XHTML Writer File:UTF8" *.doc Конвертировать все файлы в формате .doc в обычный текст с кодировкой UTF8. soffice —headless —convert-to "txt:Text (encoded):UTF8" *.doc Вывод содержимого файла в консоль Иногда нужно, чтобы консольный Bash скрипт прочитал содержимое офисного файла и вывел это содержимое в консоль. Если бы нас интересовали обычные текстовые файлы, то мы могли бы воспользоваться командой cat. Но офисные файлы имеют сложную структуру и иногда представляют собой архивы, т.е. бинарные файлы. Поэтому для этого у LibreOffice есть специальная опция командной строки –cat: soffice —headless —cat имя_файла Конечно, сложные элементы, которые не могут быть отображены в командной строке (картинки, формы и т.д.) показаны не будут. http://zalinux.ru/?p=460
Российская ОС РОСА Линукс. Сообщество Linux
Работа LibreOffice в командной строке: конвертирование большого количества файлов и вывод содержимого офисных файлов в консоль
Работа в консоли, если вы в этом разбираетесь, может увеличить вашу производительность. Особенно если это касается большого количества однотипных задач.
Предположим, нам дано множество офисных файлов в формате .doc (или любом другом формате, который поддерживает LibreOffice), и мы хотим их переконвертировать в другой формат. Если файлов немного, то их можно открыть в LibreOffice и выбрать сохранение в нужном формате. Но если их десятки и более, то эта рутинная работа станет долгой и утомительной.
К счастью, LibreOffice умеет работать в консоли. Причём нам даже не нужно писать скрипты, поскольку она понимает подстановочные символы.
Сохранение большого количества файлов в другой формат
ВНИМАНИЕ: длинное тире перед командами —headless —cat это два дефиса
Для этого нужно запустить команду
soffice —headless —convert-to doc Имя_файла
Где
doc – можно заменить на желаемый формат (pdf, html, odt, docx и т.д.)
Имя_файла – замените на тот файл, который вы хотите конвертировать.
Ещё примеры команды:
Конвертирует все поддерживаемые файлы в каталоге Математика в html формат и сохранит их в текущем каталоге^
soffice —headless —convert-to html Математика/*
Конвертировать все файлы в формате .doc в формат PDF и сохранить их в каталоге /home/user:
soffice —headless —convert-to pdf:writer_pdf_Export —outdir /home/user *.doc
Конвертировать все файлы в формате .doc в формат html с кодировкой UTF8 и сохранить их в текущем каталоге.
soffice —headless —convert-to "html:XHTML Writer File:UTF8" *.doc
Конвертировать все файлы в формате .doc в обычный текст с кодировкой UTF8.
soffice —headless —convert-to "txt:Text (encoded):UTF8" *.doc
Вывод содержимого файла в консоль
Иногда нужно, чтобы консольный Bash скрипт прочитал содержимое офисного файла и вывел это содержимое в консоль. Если бы нас интересовали обычные текстовые файлы, то мы могли бы воспользоваться командой cat. Но офисные файлы имеют сложную структуру и иногда представляют собой архивы, т.е. бинарные файлы. Поэтому для этого у LibreOffice есть специальная опция командной строки –cat:
soffice —headless —cat имя_файла
Конечно, сложные элементы, которые не могут быть отображены в командной строке (картинки, формы и т.д.) показаны не будут. http://zalinux.ru/?p=460