Создайте элемент управления изображением в OpenXML

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

Мне удается успешно создавать элементы управления текстовым содержимым, но элементы управления содержимым изображений оказались более сложными.

Самый близкий, который я получил, был со следующим кодом:

var sdtCBlock = new SdtContentBlock(new Paragraph(new Run()));

var sdtPr = new SdtProperties(
                new SdtAlias {Val = "" },
                new Tag {Val = ""},
                new SdtContentPicture(),
                new DataBinding {XPath = ""}
            );

wordDoc.MainDocumentPart.Document.Body.AppendChild(new SdtCell(sdtPr, sdtCBlock));

Это создает пустой элемент управления контентом, который слово распознает как изображение:

Контроль содержимого пустого изображения

Контроль содержимого пустого изображения

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

Контент-контроль с шаблоном синего квадрата после ручного нажатия на

Контент-контроль с шаблоном синего квадрата после ручного нажатия на

Я делаю что-то неправильно? И как я могу использовать код OpenXml, чтобы сгенерировать заполнитель с шаблоном, чтобы он мог быть выбран второй программой?

0 ответов

Другие вопросы по тегам