Документы MS Word в документы RTF - PullRequest
0 голосов
/ 27 ноября 2009

У меня проблема: мое приложение должно преобразовывать документы MS Word (импортированные из другой системы) в документы RTF, чтобы манипулировать ими с помощью OOo API и быть защищенным от ошибок (из-за несовместимости кода).

Я спрашиваю вас: как я могу манипулировать документами MS Word непосредственно из моего Java-приложения? Существуют API (например, POI или OOo), которые позволяют мне выполнять свою работу без какой-либо несовместимости кода?

Моя система работает на серверах Linux (например, на всех производственных системах для общего пользования), и я установил только OOo.

Используя API-интерфейсы Java OOo, я могу открывать, манипулировать и сохранять документы, но в этот последний период я ​​вижу много проблем, связанных с несовместимостью кодирования между закрытым кодированием Ms Word и кодированием формата документов OOo opend. (Я имею в виду swriter). Во многих случаях, список с конкретными маркерами (например, '-' или также вложенный список), нумерация страниц (например, 1 в формате x) и многие другие параметры форматирования, выходной документ (из манипуляции) показывает много ошибок из-за, Я думаю, несовместимость между двумя форматами кодирования.

Теперь я изучаю возможности Apache POI, чтобы понять, могу ли я открыть с ним Ms Word, и сохранить документ в формате RTF, то есть в формате обмена и, способном уменьшить несовместимость, до минимального уровня.

У вас есть такая же проблема? Можете ли вы указать мне библиотеку с открытым исходным кодом Java более мощный POI? Или вы можете предложить мне комбинированный подход, такой как POI + iText, для выполнения шага преобразования ms word в rtf?

Ответы [ 2 ]

1 голос
/ 27 ноября 2009

Когда меня попросили предоставить способ надежного преобразования документа в формат TIFF, я провел некоторое исследование. Существует множество библиотек, как бесплатных, так и коммерческих, которые утверждают, что могут отображать ms.docs. Ни один из них не обеспечивает 100% точного рендеринга.

Мне нужно было запустить MS Word в оболочке и манипулировать им, чтобы сделать то, что мне нужно, с помощью OLE-автоматизации. Это (запуск Word в фоновом режиме) само по себе имеет несколько проблем, но с продуманным дизайном вы можете заставить его работать.

Ваш случай даже проще, чем мой, потому что все, что вам нужно, это открыть документ, а затем сохранить его как.

Редактировать

@ Паоло - Ну вот. Я прошел через то же самое - оценивал различные пакеты, включая ОО, и обнаружил, что они мммм ... менее точны. Конечно, все зависит от того, насколько строго вы, клиенты, относитесь к форматированию документов. Мои были очень разборчивы - вплоть до размеров полей и позиционирования изображения.

Другой вариант - предоставить (и получить одобрение) список неточностей. К сожалению, с каждым новым документом у вас будет шанс получить новый

0 голосов
/ 12 апреля 2010

Docvert позволяет настроить веб-службу для преобразования документов Word в формат Open Office. Это дерьмо на объектах OLE все же.

...