28 янв. 2010 г.

odt2doc или как конвертировать odt в другой формат

UPDATE: способ, изложенный в данной статье, устарел, смотрите актуальную информацию здесь.

 
Везде и всегда использую OpenOffice, уже привык и основным для меня форматом хранения документов является odt, в нём есть масса плюсов, но и один минус, по работе необходимо использовать не его, а всем известный doc.
Вот и сегодня понадобились документы в формате doc, т.е. нужно было срочно сконвертировать массу файлов odt в doc.
Порыскав в сети, нашёл PyODConverter, т.е. решение есть, но смущало следующее, что нужно новым сконвертированным файлам иметь то же время создания, модификации, что и первоначальный файл в формате odt дабы очень нужно.
Пришлось быстро с помощью AutoIt3 написать под "окна" небольшую программу odt2any, суть которой в следующем.
Если запустить программу без параметров, то обрабатываются файлы odt в текущем каталоге, иначе в параметре можно указать необходимый каталог.
В файле настройки odt2any.ini имеются следующие параметры:
OO="OpenOffice.org 3" - это путь к установленному OpenOffice в каталоге "Program Files", для разный версий он может разниться.
ext="doc" - итоговый формат, можно указать иной, в т.ч. rtf, txt.
delete=0 - если параметр равен 1, то исходный файл odt будет после конвертирования удалён.
UPDATE: Добавлен параметр int="odt" по умолчанию, которые определяет тип исходного файла, т.е. можно конвертировать почти любые поддерживаемые OpenOffice типы файлов в аналогичные автоматом, это нововведение вызвано было необходимостью конвертирования файлов формата docx в обычные doc.
Самое главное, программа устанавливает время создания, модификации полученного файла таким же, что и исходное - то что и требовалось получить.
Ещё, перед конвертированием, в любом случае, рекомендую сделать бекап, т.к. всё же возможны случаи, что полученный текст не будет соответствовать оригиналу, часто так сбоят таблицы в текстовом документе.
Выкладываю для загрузки архив со следующими файлами:
odt2any.au3 - скрипт AutoIt3
odt2any.exe - его скомпилированная версия
odt2any.ini - некоторые изменяемые настройки
DocumentConvertor.py - сам скрипт конвертирования
Если вы желаете, вы можете всегда внести дополнительные изменения (иной исходный формат и т.д.) в скрипт и скомпилировать с помощью AutoIt3.
Скачать последнюю версию можно отсюда.
Особые пожелания в необходимости внесения изменений в программу с моей стороны не забудьте направить мне.

UPDATE: оказалось, что ссылка на архив битая, исправил.