2011-03-23 3 views
1

WordML을 사용하여 문서에 이미지를 추가하려고합니다. 나는 http://www.codeproject.com/KB/office/WordML.aspx에서 jpg 예에서 xml을 기초로 사용했다. 필자는 문서에서이 정확한 xml (wordML)을 만드는 Java를 작성했지만 MS Word 2007에서 생성 된 파일을 열 때이 파일이 잘못되었거나 손상되었다고합니다.WordML을 사용하여 이미지 추가

열리지 않습니다 문서에 대한 XML은 여기에 있습니다 :

http://pastebin.com/RNEkbvYG (원시 XML) 긴 페이스트 죄송합니다 , 이것은 내가 만들 수있는 짧은 예입니다, gumph의 부하가 상단에있다 및 아래쪽에 있지만 중간에있는 데이터 이미지를 명확하게 볼 수 있습니다. 이 글은 열리지 않습니다 왜이 볼 수있는 경우

http://pastebin.com/download.php?i=RNEkbvYG 사람이 위의 링크에서 XML을보고 볼 수 있다면 나는 크게 감사하겠습니다

(다운로드, XML을 TXT 및 워드 오픈에서 이름) 워드.

답변

2
<w:pict> 
      <w:binData w:name="wordml://02000001.jpg">/9j/4AA..Xof/9k=</w:binData> 
      <v:shape id="_x0000_i1025" style="width:100%;height:auto" type="#_x0000_t75"> 
       <v:imagedata o:title="network" src="wordml://02000001.jpg"/> 
      </v:shape> 
      </w:pict> 

은 2003 WordML입니다. 2007 docx 형식/ECMA 표준에는 w : binData 요소가 없습니다.

당신은 그것에 대해 많이 http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/samples/AddImage.java

+0

감사를 참조 대신

:-) docx4j 시도 할 수 있습니다 내가 지금 내 문서 : 지금은 또 다른 문제를 가지고있다 에서 이미지를 가지고있다, 나는 문서가 그 로드하여 특정 텍스트 비트를 이미지로 대체하려고합니다. 나는 API를보고 findAnElementById 타입 메소드와 같은 메소드를 찾거나 모든 엘리먼트를 반복하고 텍스트를 수동으로 검색하지 못한다. (이것은 w3c Document 클래스를 사용하여 직선 텍스트 대체를 한 방법이다.) 이러한 유형의 방법을 사용할 수 있습니까? 아니면이 텍스트를이 이미지로 대체하는 쉬운 방법이 있습니까? 감사합니다. Daniel Lees – Leesy

+1

docx의 단락에는 일반적으로 ID가 없으므로 findAnElementById가 없습니다. getJAXBNodesViaXPath를 사용하거나 그림 콘텐츠 컨트롤 사용을 고려할 수 있습니다. 예를 들어 http://dev.plutext.org/forums/viewtopic.php?f=16&t=634를 참조하십시오. – JasonPlutext

+0

getJAXBNodesViaXPath를 사용하여 원하는 요소를 찾았습니다. 사진 값이있는 텍스트 요소가 있습니다. 이제 텍스트가있는 곳에 사진을 추가하고 싶습니다. 제 생각은 텍스트 사진을 제거하고 텍스트 노드의 부모를 얻고 부모에게 사진을 추가하려면 현재 텍스트를 ""설정하지 말아야합니다. . 내가 할 수있는 일이 가능합니까? (나는 – Leesy