Чтение / анализ / изменение документа MS Word в Delphi без автоматизации Word - PullRequest
5 голосов
/ 06 июня 2009

Кто-нибудь знает какую-нибудь хорошую библиотеку (бесплатную или коммерческую) для Delphi , которая может читать / анализировать / изменять документы MS Word (желательно с поддержкой Word 2007) без MS Word OLE Automation ? Я нашел некоторые для .Net, но ни один для Delphi.

Например, вот две библиотеки .Net / Java - Aspose , Word.net

Я не хочу добавлять зависимости .Net в мое приложение. Библиотека, которая компилируется прямо внутри exe-файла, будет наиболее предпочтительной, но любой ActiveX также будет работать.

Спасибо.

Ответы [ 4 ]

2 голосов
/ 06 июня 2009

Я знаю (простой некоммерческий) вариант для Excel, но не для Word. И не для очень новых.

DR: проблема в том, что для этого нужно установить Word. Варианты выше не делают. Кроме того, OLE может работать медленно, например когда вы хотите сделать множество личных писем для рассылки в нем.

Единственная другая рутина, которую я могу себе представить, это автоматизация Open Office. Но у него те же проблемы со скоростью (или хуже), вероятно, поэтому это будет зависеть от того, почему вы именно этого хотите.

Формат Office ужасно сложен, и почти каждое решение будет стоить дороже (или * 100 * * времени или денег), чем просто выкашливать копию слова. (а с OOo вы могли бы даже избежать этого)

1 голос
/ 06 июня 2009

Scalabium имеет TSMWordDocument компонент, который может извлекать простой текст и полностью в собственном коде. Он не поддерживает их изменение или извлечение графики / стилей. Их SM Export набор компонентов позволяет создавать документы Word, но я не думаю, что он поддерживает их чтение. Мы используем TSMWordDocument один, и это смехотворно быстро по сравнению с автоматизацией COM. Единственный недостаток, который мы затронули, заключается в том, что, несмотря на то, что он совместим с Delphi 2009, он по-прежнему не обрабатывает международный текст, если системная кодовая страница не совпадает (поэтому японский язык в японской системе в порядке, но не в английской).

0 голосов
/ 19 октября 2009

Форматы Microsoft настолько сложны, что очень много работы по написанию и обновлению набора компонентов для выполнения того, что вы хотите без автоматизации.

Существует Winsoft's Office Component Suite , но вы увидите, что он не был обновлен для работы с последней версией Office или с Delphi 2009 +.

0 голосов
/ 06 июня 2009

Вы можете использовать библиотеку .NET и создать для нее оболочку ActiveX / COM, которую вы можете использовать из Delphi.

В этой статье описываются возможности взаимодействия между COM и .NET. Посмотрите на "Использование .NET объектов из COM"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...