Программирование Word XML в .NET

В настоящее время я работаю в команде разработчиков, пытаясь придумать приложение, которое сможет принимать документ Open XML Word, измельчать XML и каким-то образом на лету создавать экраны пользовательского интерфейса, которые можно было бы использовать для ввода данных.

Я использую Open XML SDK, но моя задача заключалась в том, чтобы придумать очень общие средства представления документа, поскольку SDK требует, чтобы статическое представление (назовем его шаблоном или маской) было определено в коде, который затем можно использовать уничтожить документ программно.

В качестве примера, чтобы уничтожить определенный документ, я должен войти в код и определить тему, шрифты, стиль абзаца и т. д. для документа слова, чтобы программа «знала», как его уничтожить. Если стиль документа изменится то программа тоже должна измениться.

Мой вопрос в том, есть ли способ сделать это в общем, чтобы мне не пришлось заботиться о стиле, используемом при создании документа Word? Кто-нибудь пытался создавать экраны/поля ввода данных из документа Word раньше.

Любая помощь будет оценена.


person Rufus    schedule 01.09.2010    source источник
comment
мой ответ достаточно ясен? Вам нужно больше информации?   -  person stombeur    schedule 14.09.2010


Ответы (1)


Open XML позволяет использовать схему xml для привязки данных к определенным частям документа с помощью управление контентом. Затем вы можете использовать схему xml в качестве отправной точки для своего приложения для ввода данных.

Сопоставление элементов управления содержимым с пользовательским XML:

Либо у вас есть контроль над пользовательским xml в документе, и ваш пользовательский интерфейс довольно статичен, либо вы можете создать пользовательский интерфейс для ввода данных на лету на основе пользовательской схемы xml.

Я думаю, что есть способ использовать сам Word в качестве пользовательского интерфейса для ввода данных, поэтому вам даже не понадобится специальный пользовательский интерфейс.

person stombeur    schedule 01.09.2010