Я успешно использовал следующий подход в производственных системах, где новый формат MS Word XML недоступен:
Создает процесс, который делает что-то похожее на:
http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
Возможно, вы захотите запустить openoffice один раз при запуске вашей программы и вызывать скрипт python столько раз, сколько вам нужно (с какой-то проверкой, чтобы убедиться, что процесс ooffice всегда присутствует).
Другой вариант - порождать следующую команду каждый раз, когда вам нужно выполнить преобразование:
ooffice -headless "macro: // <путь к макросу voff ooffice для преобразования с параметром, указывающим на файл>"
Я использовал макро подход несколько раз, и он хорошо работает (извините, у меня нет кода макроса).
Хотя существуют механизмы для этого через MS Word, они не просты для Java, и для поддержки MS Word через OLE требуются другие вспомогательные программы.
Я и раньше использовал abiword, который хорошо работает для многих документов, но его путают с более сложными документами (кажется, что office обрабатывает все, что я в него бросил). Abiword имеет немного более простой интерфейс командной строки для преобразования, чем ooffice.