Как добавить элемент управления содержимым в документ Word 2007 с помощью OpenXML

StackOverflow https://stackoverflow.com/questions/1845722

Вопрос

Я хочу создать документ word 2007 без использования объектной модели.Поэтому я бы предпочел создать его, используя формат open xml.До сих пор мне удавалось создать этот документ.Теперь я хочу добавить в него элемент управления содержимым и сопоставить его с xml.Кто-нибудь может подсказать мне относительно того же самого???

Это было полезно?

Решение

Анооп,

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

//praragraph to be added to the rich text content control
Run run = new Run(new Text("Insert any text Here") { Space = StaticTextConstants.Preserve });
Paragraph paragraph = new Paragraph(run);

SdtProperties sdtPr = new SdtProperties(
        new Alias { Val = "MyContentCotrol" },
        new Tag { Val = "_myContentControl" });
SdtContentBlock sdtCBlock = new SdtContentBlock(paragraph);
SdtBlock sdtBlock = new SdtBlock(sdtPr, sdtCBlock);

//add this content control to the body of the word document
WordprocessingDocument wDoc = WordprocessingDocument.Open(path, true); //path is where your word 2007 file is
Body mBody = wDoc.MainDocumentPart.Document.Body;
mBody.AppendChild(sdtBlock);

wDoc.MainDocumentPart.Document.Save();
wDoc.Dispose();

Я надеюсь, что это отвечает на часть вашего вопроса.Я не понял, что вы подразумеваете под "Сопоставить это с XML".Вы хотели сказать, что хотите создать CustomXmlBlock и добавить к нему ContentControl?

Другие советы

Посмотрите на Word Content Control Toolkit на www.codeplex.com .

Вот очень краткое объяснение того, как сделать то, что вы пытаетесь.

  1. У вас должен быть доступ к вкладке разработчик на ленте Word.Чтобы это заработало, нажмите на Office (круглую штуковину) в верхнем левом углу и выберите параметры Word в нижней части меню.На первой странице параметров есть флажок для отображения панели инструментов разработчика.

  2. Используйте панель инструментов разработчика, чтобы добавить нужные элементы управления содержимым на страницу.Нажмите кнопку свойства в разделе Элементы управления содержимым панели разработчика и задайте свойства имени и тега (я придерживаюсь того, чтобы поля имени и тега назывались одним и тем же именем).

  3. Сохраните и закройте документ Word.

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

  5. Теперь используйте представление привязки, чтобы перетащить сопоставления между вашим пользовательским XML-файлом и пользовательскими элементами управления, которые отображаются на правой панели инструментария.

  6. Вы можете использовать openxml sdk 1.0 или 2.0 (все еще в ctp), чтобы открыть документ word в коде и получить доступ к пользовательскому xml-файлу, который содержится как часть документа word.

Если вы хотите взглянуть на то, как ваш документ Word выглядит в формате xml.Сделайте копию вашего документа Word, а затем переименуйте его так, чтобы в нем было написано "a.zip".Дважды щелкните на zip-файле, а затем перейдите к структуре папок.Основное содержимое документа Word хранится в папке word в файле с именем "document.xml".Пользовательская xml-часть документа хранится в папке CustomXML и обычно находится в файле с именем "item1.xml".

Я надеюсь, что это краткое объяснение поможет вам освоиться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top