2012-03-15 5 views
0

내가 오픈 XML SDK를 사용하여 Word 문서를 생성하고 단어 무시되고 문서가 텍스트 상자를 포함, 텍스트 상자에 대해 생성 된 요소는이 양식에 있습니다오픈 XML의 SDK : 대체 콘텐츠는 2007

<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로 textBox를 열었지만 단어 2007로 textBox를 열면 문서 상자가 비어 있습니다.

어떻게 두 단어 2010 년과 2007 년

안부와 함께 열 수있는 대체 콘텐츠를 추가 할 수 있습니다. 제가 텍스트 상자에 콘텐츠 컨트롤을 추가하고있는 중이 야


예는 콘텐츠 컨트롤 내가 추가 해요 발견 조사 후, (외부 DOCX의 내용을 가져올 수)를 altchunk를 포함 바로 Taterhead을하고 있습니다 (word2010에서 사용되는) 드로잉 섹션의 textBox 요소에 콘텐츠 컨트롤 요소 (sdtBlock)를 추가하지만 Word 2007에서 사용되는 그림 섹션에 콘텐츠 컨트롤을 추가하지 않아서 빈 콘텐트 컨트롤을 얻게됩니다 . 그래서 도면과 그림 모두에서 textBoxs로합니다 (altchunk를 포함)에 콘텐츠 컨트롤을 추가 할 필요가, 나는 SdtBlock 요소를 복제

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

altchunk 요소가 복제 된 sdtBlock에 손실 문제를보십시오. textBoxContentForDrawing.Append (sdtBlockWithAltchunck) 및 textBoxContentForPicture.Append (sdtBlockWithAltchunck)의 두 textBox에 SdtBlock을 추가하는 트릭을 찾으면이 방법으로 2010 년 word2007에 올바른 내용을 얻을 수 있습니다.

감사

Reagards는

답변

1

아마도 당신의 //pict for word 2007이 올바르지 않습니다. 2010 드로잉 블록이라는 단어에 배치하고 2010에서 렌더링되는지 확인합니다. 또는 대체 콘텐츠 블록 외부에 배치하고 2007 년에 렌더링되는지 확인하십시오.

1

문제가 해결되면 복제 전에 altchunk를 추가해야합니다. SdtBlock