2009-05-09 2 views
2

Я ищу Java API, который может сравнивать два документа Microsoft Word.Есть ли какой-либо Java API для сравнения двух документов Microsoft Word?

Мы используем сервер Linux, поэтому мы не можем установить в него Microsoft Word.

РЕДАКТИРОВАТЬ: - Мы хотим сравнить два документа и то, что когда-либо было обычным явлением, что мы должны выделить каким-то цветом или любым другим способом ... Итак, мне нужно объединить и документ, и выделить контент, который не является общий.

ответ

2

Для этого используется Apache POI - Java API.

Исходный код примера here.

Я нашел еще одну статью, делающую то же самое в Java, но для этого использует Windows COM. Если вы используете Linux, он предлагает использовать удаленную машину Windows для выполнения этой работы. Статья содержит подробное объяснение: Word from Java

+0

Спасибо niyaz, но я хочу сравнить два документа, такие как офис 2007, имеет функцию сравнения в построенных ... Когда мы сравниваем два документа, мы должны показывать необычные слова, изображения жирным шрифтом или с некоторым цветом ... ценят ваша помощь – 2009-05-09 08:00:19

+0

Думаю, вам придется использовать другую библиотеку для сравнения содержимого. Итак, [Библиотека для чтения файлов DOC + библиотека для сравнения содержимого] будет работать для вас. – Niyaz

+0

да я пытаюсь искать по сети ... в любом случае спасибо за помощь ... – 2009-05-09 08:23:34

0

Вы можете посмотреть Aspose.Words для Java. Он может помочь вам.

+0

Спасибо Conrad, но я ищу openource ... – 2009-05-09 08:17:57

1

Слово MS на самом деле не поддерживается в java.

вы можете использовать poi, но вы не сможете сравнить все. Управление COM - это ваш лучший шанс сделать это (вы можете использовать WINE на linux для его эмулирования).

Я думаю, что ваш лучший выбор - использовать RTF-файлы и iText-RTF (в MsWord вы можете сохранить документ в формате RTF). У них лучшая поддержка, однако из моего собственного опыта я могу сказать вам, что иногда они делают разные в MsWord2003, OpenOffice и MsWord2007. Поэтому вы всегда должны это проверять.

Вы также можете попробовать OpenOffice API (ive никогда не пробовал), но там много ресурсов, чтобы рассказать вам, как его использовать.

0

Если Office 2007 поддерживает режим сервера, как OpenOffice делает, вы можете отправить поток в сети и обрабатывать результаты обратно.

Возможно, вы сможете получить то, что вам нужно, с помощью новой версии OpenOffice, используя UNO API.