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