Open XML SDK:替换内容被单词2007忽略
本文关键字:单词 2007 忽略 XML SDK 替换 Open | 更新日期: 2023-09-27 18:27:48
我正在使用Open XML SDK生成word文档,该文档包含一个textBox,为textBox生成的元素的形式如下:
<mc:AlternateContent>
<mc:Choice Requires="wps">
<w:drawing>
// Drawing for word 2010
</w:drawing>
</mc:Choice>
<mc:Fallback>
<w:pict>
// Pict for word 2007
</w:pict>
</mc:Fallback>
</mc:AlternateContent>
生成的文档对2007和2010格式有效,当使用单词2010打开文档时,文本框可见,但使用单词2007打开文档时文本框为空。
如何添加可以同时使用单词2010和2007打开的备用内容。
谨致问候。
是的,你是对的,Taterhead,我正在做的是在文本框中添加一个内容控件,该内容控件包含一个altchunk(从外部docx导入内容),经过调查,我发现我正在将内容控件元素(sdtBlock)添加到绘图部分(word2010中使用的)的textBox元素中,但我没有将内容控件添加到word2007中使用的图片部分,这就是为什么我得到了一个空的内容控件。因此,我需要将内容控件(包含altchunk)添加到绘图和图片中的文本框中,我尝试克隆SdtBlock元素
textBoxContentForPict.Append(sdtBlock.CloneNode(true));
altchunk元素在克隆的sdtBlock中丢失的问题。如果你能帮我找到一个技巧,将SdtBlock添加到textBoxContentForDrawing.Append(sdtBlockWithAltchunck)和textBoxContentForPicture.Append(SdtBlock WithAltchunc)中的两个文本框中,这样我就可以在word2007和2010中获得正确的内容。
问候
Reagards
也许您的//pict for word 2007
不正确。将其放置在word for 2010绘图块中,看看它是否在2010中渲染。或者将其放置在备用内容块之外,并确保其在2007年呈现。
问题已经解决,必须在克隆SdtBlock 之前添加altchunk