Добавить изображение с помощью WordML - PullRequest
1 голос
/ 23 марта 2011

Я пытаюсь добавить изображение в документ, используя WordML. Я использовал XML в качестве основы из примера jpg отсюда http://www.codeproject.com/KB/office/WordML.aspx. Мне удалось написать Java, которая создает именно этот XML (WordML) в документе, однако, когда я пытаюсь открыть сгенерированный файл в MS Word 2007 говорит, что файл недействителен или поврежден.

XML для документа, который не открывается, находится здесь:

http://pastebin.com/RNEkbvYG (Raw xml) Извините за длинную вставку, это самый короткий пример, который я мог создать, в верхней и нижней части есть нагрузка gumph, но вы можете ясно видеть изображение данных в середине.

http://pastebin.com/download.php?i=RNEkbvYG (скачать, переименовать из txt в xml и открыть словом)

Я был бы очень признателен, если бы кто-нибудь мог взглянуть на xml по ссылке выше и посмотреть, смогут ли они понять, почему она не открывается словом.

1 Ответ

2 голосов
/ 24 марта 2011
<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. В стандарте docx 2007 года / стандарте ECMA отсутствует элемент w: binData.

Вместо этого вы можете попробовать docx4j :-)

См. http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/samples/AddImage.java

...