Создайте элемент управления изображением в 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, чтобы сгенерировать заполнитель с шаблоном, чтобы он мог быть выбран второй программой?