2008-02-18

JODConverter или как за битый DOC небитый ODT дают

Поставлена задача: ассимилировать вражеские форматы. Если с doc и odt разница времени открытия минимальна, то с ppt-odp дела обстоят намного сложнее. К тому же своя рубашка (ODF) ближе к OpenOffice :)
Открывать каждый файл с последующим сохранением неудобно и муторно (ходят слухи, что на офисных машинах этих самых файлов тысячи :)).

JODConverter — это Java библиотека для конвертирование офисных документов в различные форматы, используя OpenOffice.org 2.x.
Перед тем как преступить непосредственно к метаморфозам, необходимо запустить OOo с прослушиванием 8100 порта:

soffice -headless -accept="socket,port=8100;urp;"

Чтобы использовать JODConverter через командную строку, необходимо скачать архив (на данный момент jodconverter-2.2.1.zip), распаковать и выполнить, как показано ниже. Первый пример иллюстрирует превращение doc в odt:
java -jar lib/jodconverter-cli-2.2.1.jar document.doc document.odt

Принцип многостаночности можно внедрить, используя опцию -f (или --output-format). После ключа следует выходной формат (например pdf), а затем аргументы на вход:
java -jar lib/jodconverter-cli-2.2.1.jar -f odp *.ppt

Вышеприведенная команда конвертирует все ppt-презентации в каталоге в родной формат odp.

PyODConverter
Альтернативный скрипт на Python. Делает все аналогичным образом:
python DocumentConverter.py input-file output-file

Главный плюс — весит намного меньше java-сородича (4,4 Kb против 1,9 Mb). Минус — нет поддержки ключа -f.

1 комментариев: ответить

19.02.2008, 00:38   Анонимный комментирует...

Супер, в мыслях что-то такое витало давно, но вот поискать пока еще даже не пытался. Спасибо за инфу, буду пробовать на практике.

Отправить комментарий