0

我正在使用 Open XML SDK 生成 word 文档,该文档包含一个文本框,文本框的生成元素采用以下形式:

<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 格式有效,当使用 word 2010 打开文档时,文本框是可见的,但使用 word 2007 打开文档时,文本框是空的。

如何添加可以同时使用 word 2010 和 2007 打开的替代内容。

问候。


是的,你是对的 Taterhead,我正在做的是向文本框添加内容控件,内容控件包含一个 altchunk(从外部 docx 导入内容),经过调查我发现我正在添加内容控件元素(sdtBlock)添加到绘图部分中的文本框元素(在 word2010 中使用),但我错过了将内容控件添加到在 word 2007 中使用的图片部分,这就是为什么我得到一个空的内容控件。所以我需要将内容控件(包含altchunk)添加到绘图和图片中的文本框,我尝试克隆SdtBlock元素,

textBoxContentForPict.Append(sdtBlock.CloneNode(true));

克隆的sdtBlock中altchunk元素丢失的问题。如果您能帮我找到一个技巧,将 SdtBlock 添加到 textBoxContentForDrawing.Append(sdtBlockWithAltchunck) 和 textBoxContentForPicture.Append(sdtBlockWithAltchunck) 中的 2 个文本框,这样我就可以在 word2007 和 2010 中获得正确的内容。

问候

问候

4

2 回答 2

1

也许你//pict for word 2007的不正确。将它放在 word for 2010 绘图块中,看看它是否在 2010 年呈现。或者将它放在替代内容块之外,并确保它在 2007 年呈现。

于 2012-03-15T20:53:09.610 回答
1

问题解决了,克隆SdtBlock之前必须添加altchunk

于 2012-03-21T10:51:39.290 回答