Библиотека Java для преобразования WordML в Word2002

Для проекта, над которым я работаю, мне нужно преобразовать поток WordML в совместимый с Word 2002 формат .doc (не спрашивайте, почему, но довольно большая группа пользователей все еще использует Word 2002, и обновление до последней версии невозможно до четвертого квартала 2010 года). ). Я пытался изучить множество вариантов и в основном зашел в тупик.

Мой вариант использования заключается в том, что существует существующая веб-служба на основе Java (работающая в Solaris под управлением Tomcat), которая по запросу пользователя вызывает стороннюю службу. Эта сторонняя служба вернет документ в формате PDF и документ WordML. Затем нам нужно преобразовать документ Word ML в формат Word 2002, и наша веб-служба обновит страницу, чтобы указать ссылку как на документ pdf, так и на документ Word 2002, который затем может быть открыт пользователями веб-службы.

Aspose.Words для Java был моим лучшим выбором, однако он также возвращал UnsupportedDocumentFormat исключение для WordML. Сначала я подумал, что это может быть мой документ, но все остальные документы тоже не сработали, затем последующая проверка Aspose показала, что, несмотря на документацию, WordML в Java не поддерживается в текущей версии (http://www.aspose.com/community/forums/248442/wordml-support/showthread.aspx#248442)

Я бы пошел по пути написания службы .Net для преобразования, но также решил несколько проблем: (а) Моя служба [существующая] работает на Solaris Box (б) MS не рекомендует автоматизацию слов в этом способ из-за низкой производительности многопоточности (c) Используйте Aspose.Words для .Net - однако это означает значительные затраты на оборудование + лицензии .Net и т. д.

Я исследовал возможность найти такую ​​возможность для преобразования WordML->RTF, но не нашел подходящей библиотеки для этого. Помимо того факта, что WordML будет включать в себя некоторые здоровенные диаграммы, которые, как мы пока не знаем, поддерживаются в RTF, и мы не можем узнать, поскольку на данный момент нам доступен только WordML с установкой Word 2002.

Итак, дело доходит до этого: есть ли какая-либо библиотека, кроме Aspose.Words для Java, доступная для преобразования WordML-> Word2002 [или rtf], которое не зависит от того, что хост Windows делает что-либо (не говоря уже о фактической установке MS Word).

Извините за длинный вопрос, но я действительно не могу понять ни одного варианта. Любая помощь/предложение/указатели на подходящую библиотеку будут очень полезны. Платные библиотеки могут быть приемлемыми, если у нас есть возможность опробовать их заранее, чтобы убедить спонсора проекта.


person Arun    schedule 14.07.2010    source источник


Ответы (2)


Вы можете выполнить свою задачу с помощью POI Apache. Это облегчает разработчикам чтение и запись Microsoft OLE 2 Compound Documents. Но это doesn't read or write RTF Documents. Вы можете read from WordML и write as Word 2002 format. Попробуйте...

person Venkat    schedule 14.07.2010

docx4j может читать WordML 2007 года. Вы можете попробовать написать RTF с его помощью либо через FOP, либо через iText (сам я этого не пробовал).

person JasonPlutext    schedule 19.10.2010