<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://hastobe.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Steve Morgan - Technology Spot : OpenXML, Imaging</title><link>http://hastobe.net/blogs/stevemorgan/archive/tags/OpenXML/Imaging/default.aspx</link><description>Tags: OpenXML, Imaging</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>HowTo: Insert an image into a Word document and display it using OpenXML</title><link>http://hastobe.net/blogs/stevemorgan/archive/2008/09/15/howto-insert-an-image-into-a-word-document-and-display-it-using-openxml.aspx</link><pubDate>Mon, 15 Sep 2008 11:01:00 GMT</pubDate><guid isPermaLink="false">b3b1d9c2-f4c9-4970-bb5d-c90d4bed0aec:22</guid><dc:creator>Steve Morgan</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://hastobe.net/blogs/stevemorgan/rsscomments.aspx?PostID=22</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://hastobe.net/blogs/stevemorgan/commentapi.aspx?PostID=22</wfw:comment><comments>http://hastobe.net/blogs/stevemorgan/archive/2008/09/15/howto-insert-an-image-into-a-word-document-and-display-it-using-openxml.aspx#comments</comments><description>&lt;p&gt;One of the tasks I&amp;#39;ve had over the last few weeks has been to automatically generate documentation from an architectural model. It&amp;#39;s been (and continues to be) a relatively painful, sluggish process, as I&amp;#39;m generating Microsoft Word 2007 documents using the Open XML SDK. Never more so than when I came to add support for including images.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m going to do a 10,000&amp;#39; pass through the way that I approached it, so it&amp;#39;s not a beginners guide to OpenXML. You&amp;#39;re going to need to be able to find your way around an OpenXML document using the Open XML SDK first. &lt;/p&gt;
&lt;p&gt;The basic process I&amp;#39;m using is to generate from my architectural model an XML document that will ultimately become a Microsoft Word document, like this:&lt;/p&gt;
&lt;div class="xml xml" style="BORDER-RIGHT:#d0d0d0 1px solid;BORDER-TOP:#d0d0d0 1px solid;BORDER-LEFT:#d0d0d0 1px solid;COLOR:#006;BORDER-BOTTOM:#d0d0d0 1px solid;FONT-FAMILY:monospace;BACKGROUND-COLOR:#f0f0f0;"&gt;
&lt;ol&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;?xml&lt;/span&gt; &lt;span class="re0"&gt;version&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;encoding&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;content&lt;/span&gt; &lt;span class="re0"&gt;xmlns:w&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/wordprocessingml/2006/main&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;bookmark&lt;/span&gt; &lt;span class="re0"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;ContentToReplace&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;/span&gt; &lt;span class="re0"&gt;style&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;Heading1&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;Major Heading&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;/span&gt; &lt;span class="re0"&gt;style&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;Heading2&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;Secondary Heading&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;table&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;tr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Name&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Steve Morgan&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/tr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;tr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Address&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;www.hastobe.net&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Somewhere in Hyperspace&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/td&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/tr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/table&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;/span&gt; &lt;span class="re0"&gt;style&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;Heading2&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;Another Secondary Heading&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;image&lt;/span&gt; &lt;span class="re0"&gt;src&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;..\..\testfiles\mypic.png&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Good now, sit down, and tell me, he that knows,&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Why this same strict and most observant watch&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;So nightly toils the subject of the land,&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;And why such daily cast of brazen cannon,&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;And foreign mart for implements of war;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Why such impress of shipwrights, whose sore task&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Does not divide the Sunday from the week;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What might be toward, that this sweaty haste&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Doth make the night joint-labourer with the day:&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Who is&amp;#39;t that can inform me?&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/para&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/bookmark&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/content&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;I have some code that rips through a Word template document, looking for bookmarks and&amp;nbsp;replacing the content of those bookmarks with Open XML fragments. The fragments themselves are derived from the above XML structure using nothing more than good old-fashioned XSLT.&lt;/p&gt;
&lt;p&gt;Generating paragraphs of text and tables is pretty simple, as other than transforming the XML and inserting the resulting Open XML into the document, there&amp;#39;s not much to it.&lt;/p&gt;
&lt;p&gt;Images, on the other hand,&amp;nbsp;are a little more complicated. There are two stages to adding an image to a Word document (or any Open XML document, for that matter). The first is that you must add an &amp;quot;Image Part&amp;quot; that holds the binary representation of the image, itself. Finding out how to do that was pretty easy:&lt;/p&gt;
&lt;div class="csharp csharp" style="BORDER-RIGHT:#d0d0d0 1px solid;BORDER-TOP:#d0d0d0 1px solid;BORDER-LEFT:#d0d0d0 1px solid;COLOR:#006;BORDER-BOTTOM:#d0d0d0 1px solid;FONT-FAMILY:monospace;BACKGROUND-COLOR:#f0f0f0;"&gt;
&lt;ol&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;WordProcessingDocument m_Document = ...the document you&amp;#39;re building...&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;&lt;span class="kw1"&gt;public&lt;/span&gt; &lt;span class="kw4"&gt;void &lt;/span&gt;InsertImage&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="kw4"&gt;string&lt;/span&gt; imageFile, &lt;span class="kw4"&gt;string&lt;/span&gt; contentType&lt;span class="br0"&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImagePart part &lt;span class="sy0"&gt;=&lt;/span&gt; m_Document.&lt;span class="me1"&gt;MainDocumentPart&lt;/span&gt;.&lt;span class="me1"&gt;AddImagePart&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;contentType&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kw1"&gt;using&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;FileStream stream &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;a href="http://www.google.com/search?q=new+msdn.microsoft.com"&gt;&lt;span class="kw3"&gt;new&lt;/span&gt;&lt;/a&gt; FileStream&lt;span class="br0"&gt;(&lt;/span&gt;imageFile, FileMode.&lt;span class="me1"&gt;Open&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="br0"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part.&lt;span class="me1"&gt;FeedData&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;stream&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p class="li1"&gt;This function adds a new image part to the document and copies the content of the image file. However, getting the image displayed on the page is another matter entirely. It should be no surprise that we must add some markup to the main document to render the image. I created what I consider to be a minimal Open XML fragment that creates a single paragraph containing nothing but the requested image:&lt;/p&gt;
&lt;div class="xml xml" style="BORDER-RIGHT:#d0d0d0 1px solid;BORDER-TOP:#d0d0d0 1px solid;BORDER-LEFT:#d0d0d0 1px solid;COLOR:#006;BORDER-BOTTOM:#d0d0d0 1px solid;FONT-FAMILY:monospace;BACKGROUND-COLOR:#f0f0f0;"&gt;
&lt;ol&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;w:p&lt;/span&gt; &lt;span class="re0"&gt;xmlns:w&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/wordprocessingml/2006/main&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;xmlns:wp&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/drawingml/2006/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wordprocessingDrawing&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;xmlns:a&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/drawingml/2006/main&amp;quot;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="sc3"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;xmlns:pic&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/drawingml/2006/picture&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&lt;span class="sc3"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;xmlns:r&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/officeDocument/2006/relationships&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;w:r&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;w:drawing&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;wp:inline&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;wp:extent&lt;/span&gt; &lt;span class="re0"&gt;cx&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{WIDTH-IN-EMUS}&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;cy&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{HEIGHT-IN-EMUS}&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;wp:docPr&lt;/span&gt; &lt;span class="re0"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{DRAWING-OBJECT-ID}&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{FILENAME-OF-IMAGE}&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="re0"&gt;descr&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;An automatically inserted image&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;wp:cNvGraphicFramePr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:graphicFrameLocks&lt;/span&gt; &lt;span class="re0"&gt;noChangeAspect&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/wp:cNvGraphicFramePr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:graphic&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:graphicData&lt;/span&gt; &lt;span class="re0"&gt;uri&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;http://schemas.openxmlformats.org/drawingml/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2006/picture&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;pic:pic&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;pic:nvPicPr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;pic:cNvPr&lt;/span&gt; &lt;span class="re0"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{PICTURE-ID}&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{FILENAME-OF-IMAGE}&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;pic:cNvPicPr&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/pic:nvPicPr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;pic:blipFill&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:blip&lt;/span&gt; &lt;span class="re0"&gt;r:embed&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{RELATIONSHIP-ID-OF-IMAGE-PART}&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;cstate&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;print&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:stretch&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:fillRect&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/a:stretch&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/pic:blipFill&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;pic:spPr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:xfrm&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:off&lt;/span&gt; &lt;span class="re0"&gt;x&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;y&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:ext&lt;/span&gt; &lt;span class="re0"&gt;cx&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{WIDTH-IN-EMUS}&amp;quot;&lt;/span&gt; &lt;span class="re0"&gt;cy&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;{HEIGHT-IN-EMUS}&amp;quot;&lt;/span&gt; &lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/a:xfrm&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;a:prstGeom&lt;/span&gt; &lt;span class="re0"&gt;prst&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;rect&amp;quot;&lt;/span&gt;&lt;span class="re2"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/pic:spPr&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/pic:pic&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/a:graphicData&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/a:graphic&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/wp:inline&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/w:drawing&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/w:r&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&lt;span class="sc3"&gt;&lt;span class="re1"&gt;&amp;lt;/w:p&lt;span class="re2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;Now, do you see those upper-case names in parenthesis (such as {WIDTH-IN-EMUS})? They&amp;#39;re placeholders for values that must be dynamically inserted and are derived as follows:&lt;/p&gt;

{WIDTH-IN-EMUS}

&lt;p&gt;That&amp;#39;s the width of the image. Not measured in terms of flightless birds, but English Metric Units. There are 914400 EMUs to the inch, so it&amp;#39;s calculated from:&lt;br /&gt;&lt;pre&gt;widthInEmus = widthInPixels / HorizontalResolutionInDPI * 914400;&lt;/pre&gt;
{HEIGHT-IN-EMUS}

&lt;p&gt;Similarly, this is the height of the image in English Metric Units. Calculated from:&lt;br /&gt;&lt;pre&gt;heightInEmus = heightInPixels / VerticalResolutionInDPI * 914400;&lt;/pre&gt;
{DRAWING-OBJECT-ID}

&lt;p&gt;This is a unique identifier for the Drawing Object. I calculate the initial value by looping through all of the existing &amp;lt;wp:docPr&amp;gt; elements in the document to find the largest Id, then increment it for each new image.&lt;/p&gt;
{FILENAME-OF-IMAGE}

&lt;p&gt;Just for the sake of convention, I put the terminal name of the image file in here.&lt;/p&gt;
{PICTURE-ID}

&lt;p&gt;This is a unique identifier for the Picture (as opposed to the Drawing Object - hmm?) and is derived in the same way as {DRAWING-OBJECT-ID} but from &amp;lt;pic:cNvPr&amp;gt; elements, not &amp;lt;wp:docPr&amp;gt;.&lt;/p&gt;
{RELATIONSHIP-ID-OF-IMAGE-PART}

&lt;p&gt;This is what binds the image placeholder in the document to the image resource that we&amp;#39;ve embedded in the new Image Part. To get it, we need to change our InsertImage function slightly:&lt;/p&gt;
&lt;div class="csharp csharp" style="BORDER-RIGHT:#d0d0d0 1px solid;BORDER-TOP:#d0d0d0 1px solid;BORDER-LEFT:#d0d0d0 1px solid;COLOR:#006;BORDER-BOTTOM:#d0d0d0 1px solid;FONT-FAMILY:monospace;BACKGROUND-COLOR:#f0f0f0;"&gt;
&lt;ol&gt;
&lt;li class="li1"&gt;&lt;span class="kw1"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span class="kw4"&gt;string &lt;/span&gt;InsertImage&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="kw4"&gt;string&lt;/span&gt; imageFile, &lt;span class="kw4"&gt;string&lt;/span&gt; contentType&lt;span class="br0"&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImagePart part &lt;span class="sy0"&gt;=&lt;/span&gt; m_Document.&lt;span class="me1"&gt;MainDocumentPart&lt;/span&gt;.&lt;span class="me1"&gt;AddImagePart&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;contentType&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li2"&gt;
&lt;div class="de2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kw1"&gt;using&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;FileStream stream &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;a href="http://www.google.com/search?q=new+msdn.microsoft.com"&gt;&lt;span class="kw3"&gt;new&lt;/span&gt;&lt;/a&gt; FileStream&lt;span class="br0"&gt;(&lt;/span&gt;imageFile, FileMode.&lt;span class="me1"&gt;Open&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="br0"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part.&lt;span class="me1"&gt;FeedData&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;stream&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kw3"&gt;return&lt;/span&gt;&lt;span class="me1"&gt; m_Document.MainDocumentPart.GetIdOfPart(part)&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;The value returned by InsertImage is the Relationship Id that we insert into this attribute in the XML.
&lt;p&gt;So there you have it (for now). Equipped with your new Image Part and appropriate Open XML fragment, you should now to able to insert images, ad-nauseum, into your Open XML documents. I apologise for having skimmed over the subject at such a high level. Hopefully, I&amp;#39;ll get round to posting some more articles on Open XML that will fill in a few of the blanks. In the meantime, if you need some specific help, let me know.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://hastobe.net/aggbug.aspx?PostID=22" width="1" height="1"&gt;</description><category domain="http://hastobe.net/blogs/stevemorgan/archive/tags/OpenXML/default.aspx">OpenXML</category><category domain="http://hastobe.net/blogs/stevemorgan/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://hastobe.net/blogs/stevemorgan/archive/tags/Imaging/default.aspx">Imaging</category><category domain="http://hastobe.net/blogs/stevemorgan/archive/tags/Microsoft+Word/default.aspx">Microsoft Word</category></item></channel></rss>