Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » LibreOffice как пакетный конвертер (soffice); unoconv

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

alexeySTP



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unoconv - скрипт на python, работающий с LibreOffice и предназначенный для конверсии документов LibreOffice, MS Office, pdf и многого другого в не-интерактивном режиме. Создан для Linux, но, по уверению автора, может работать и на Windows с установленным LibreOffice 3.4-3.6.
Однако, лично у меня запустить его не получилось, хотя все скудные рекомендации автора (в файле README, прилагавшегося к пакету) были соблюдены.
Хронически получаю ошибку:
unoconv: Cannot find suitable office installation on your system. И далее по тексту. Пробовал libreOffice от 3.5.2 до 4.0.3, unoconv 0.5 и 0.6.
UNO_PATH установлен как C:\Program Files (x86)\LibreOffice 3.x\program в зависимости от версии офиса.
Возможно, нужно запустить s0ffice.exe в headless mode - тогда вопрос, как это сделать. Если нет, объясните в чем фокус.
На Debian Linux с пакетом libreoffice-headless работает без вопросов.

Всего записей: 441 | Зарегистр. 26-01-2004 | Отправлено: 14:14 07-06-2013 | Исправлено: ASE_DAG, 21:29 14-09-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexeySTP
> запустить ... в headless mode - тогда вопрос, как это сделать.
 
$ soffice --headless --convert-to txt:Text mydoc.odt
 
здесь значение ключа convert-to формируется так: txt — расширение целевого файла, Text — формат, в который конвертировать.
Справки по допустимым значения я не видел, но их можно посмотреть в файле фильтра из этого перечня, там где, например, <node oor:name="Text" oor:op="replace">. В принципе, его можно и не указывать:
$ soffice --headless --convert-to pdf mydoc.odt
но мнение Либрофиса на тот формат, который соответствует расширению, с вашим может не совпасть.

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:15 08-06-2013 | Исправлено: ASE_DAG, 23:18 08-06-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexeySTP
Как успехи?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 01:38 12-06-2013
alexeySTP



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Честно говоря, никак.
Такое ощущение, что скрипт что-то не находит.
Т.е. не запускается в принципе, даже чтобы выдать help.

Всего записей: 441 | Зарегистр. 26-01-2004 | Отправлено: 10:48 01-07-2013 | Исправлено: alexeySTP, 10:49 01-07-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, alexeySTP
В Vista x86 с LibreOffice 3.6.6.2 (ID сборки: f969faf) (LibO_3.6.6_Win_x86_install_multi.msi) unoconv 0.6 тоже работает без проблем.  
Проверял батником. Пример - unoconv pdf "C:\Program Files\LibreOffice 3.6\readmes\readme_ru.txt"

Код:
 
set "office_prog=C:\Program Files\LibreOffice 3.6\program\"
set "UNO_PATH=%office_prog%..\"
"%office_prog%python.exe" "%office_prog%unoconv" -f %1 "%~f2"
 

Возможно, Ваша ошибка в том, что Вы определяли UNO_PATH как "C:\Program Files (x86)\LibreOffice 3.x\program", а нужно было или не определять совсем (в скрипте есть поиск по стандартным путям) или указывать "C:\Program Files (x86)\LibreOffice 3.x\"
PS. Спасибо за наводку.

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 08:48 02-07-2013 | Исправлено: Alex_Piggy, 08:49 02-07-2013
alexeySTP



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предположение оказалось абсолютно правильным - при изменении UNO_PATH unoconv хоть как-то стал запускаться. Однако, полезли ошибки - failed to connect to soffice.exe и далее. Будем копать. Спасибо!

Всего записей: 441 | Зарегистр. 26-01-2004 | Отправлено: 16:50 13-07-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexeySTP
> failed to connect to soffice.exe
> Будем копать.
Я вам по прежнему рекомендую сначала добиться результата от soffice без использования этого unoconv (см. пример выше). Возможно, вы сочтете, что эта обертка вам и не нужна.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 18:08 13-07-2013
alexeySTP



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не, мне нужна именно обертка!
С ошибками разобрался, теперь из командной строки все работает.
Остается запустить это безобразие из php под IIS.
Проблема была именно в переменной UNO_PATH и в нежности скрипта (параметры надо выставлять в строго определенной последовательности, иначе идут глюки). Не думал я, что все так дурако-неустойчиво!

Всего записей: 441 | Зарегистр. 26-01-2004 | Отправлено: 20:42 13-07-2013
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжая тему использования Либрофиса как пакетного конвертера. Надо знать, что есть у него такой баг № 37531, из-за которого вышеприведенное $ soffice --headless --convert-to txt:Text mydoc.odt не даст никакого результата, если процесс soffice уже запущен (открыт какой-либо документ). Там же предложенный воркэраунд состоит в использовании для конвертера иной конфигурационной директории (не ~/.libreoffice, а например ~/.libreoffice-headless):
 
$ soffice -env:UserInstallation=file://$HOME/.libreoffice-headless --headless --convert-to txt:Text mydoc.odt

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:31 13-08-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Программы » LibreOffice как пакетный конвертер (soffice); unoconv


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru