在OpenXML中创建图片内容控件

时间:2018-06-22 09:05:47

标签: c# ms-word openxml openxml-sdk

我正在尝试使用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));

这将创建一个空的内容控件,单词会将其识别为图片:

空图片内容控件

Empty picture content control

问题是第二个程序不会按原样将图片插入此内容控件。但是,如果我们手动打开word文件并单击内容控件以弹出蓝色方形模板,则第二个程序将成功检测并更改内容控件中的图像。

手动单击后具有蓝色方形模板的内容控件

Content control with blue square template after being manually clicked on

我做错什么了吗?以及如何使用OpenXml代码生成带有模板的占位符,以便被第二个程序拾取?

0 个答案:

没有答案