Прочитайте/Анализируйте/Измените документ MS Word в Delphi без Word Automation

GCC Имеет флаг (-save-temps), с помощью которого вы можете сохранять промежуточные файлы. Это включает в себя файлы .ii, которые являются результатами препроцессора (так до компиляции). Вы можете написать скрипт для его анализа и определения веса / стоимости / размера того, что включено, а также дерева зависимостей.

Я написал скрипт Python для этого (общедоступно здесь: https://gitlab.com/p_b_omta/gcc-include-analyzer ).

5
задан BinaryMisfit 19 October 2009 в 11:35
поделиться

4 ответа

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

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

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

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

2
ответ дан 15 December 2019 в 06:33
поделиться

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

1
ответ дан 15 December 2019 в 06:33
поделиться

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

В этой статье описываются возможности взаимодействия между COM и. СЕТЬ. См. «Использование объектов .NET из COM»

0
ответ дан 15 December 2019 в 06:33
поделиться

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

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

0
ответ дан 15 December 2019 в 06:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: