Changeset 1197


Ignore:
Timestamp:
08/26/10 17:06:42 (18 months ago)
Author:
jharrop
Message:

Updates to build instructions, now maven works, and only 1 JAXB implementation is required.

Location:
trunk/docx4j/docs
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/docs/Docx4j_GettingStarted.html

    r1169 r1197  
    55                                                div.footer {display: none }  
    66                                                /*@media print { */ 
     7                                                 
     8                                                        div.footer {display: block; position: running(footer) } 
    79                                                 
    810 
     
    5860                                                /* TABLE CELL STYLES */ 
    5961                                                #docx4j_tbl_0 td { border-top-style: solid;border-top-width: 1px;border-top-color: #000000;border-bottom-style: solid;border-bottom-width: 1px;border-bottom-color: #000000;border-right-style: solid;border-right-width: 1px;border-right-color: #000000;border-left-style: solid;border-left-width: 1px;border-left-color: #000000;height: 5mm;} 
    60 --></style></head><body> 
     62--></style></head><body><div class="footer"> 
     63   
     64  <p class="Footer Normal DocDefaults " style="text-align: center;"/> 
     65   
     66  <p class="Footer Normal DocDefaults "/></div> 
    6167   
    6268  <p class="Title Normal DocDefaults ">Docx4j - Getting Started</p> 
     
    9096  <p class="Normal DocDefaults ">Docx4j is for processing docx documents (and pptx presentations) in Java.</p> 
    9197   
    92   <p class="Normal DocDefaults ">It isn't for old binary (.doc) files.  For those, Apache POI's HWPF offers basic support (in fact, docx4j can use HWPF for basic conversion of .doc to .docx).  If you wish to invest your effort around docx (as is wise), but you also need to be able to handle old doc files, Plutext has had success using OpenOffice to convert the doc to docx, using docx4j to process the docx, and then using OpenOffice to convert back to .doc.</p> 
     98  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">It isn't for old binary (.doc) files.  If you wish to invest your effort around docx (as is wise), but you also need to be able to handle old doc files, see further below for your options. </span></p> 
    9399   
    94100  <p class="Normal DocDefaults ">Nor is it for RTF files.</p> 
     
    108114  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>Template substitution; CustomXML binding</p> 
    109115   
    110   <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>Import a binary doc (uses Apache POI's HWPF)</p> 
    111    
    112116  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>Produce/consume Word 2007's xmlPackage (pkg) format</p> 
    113117   
     
    140144  <p class="Normal DocDefaults ">Docx4j will support Word 2010 docx files.</p> 
    141145   
     146  <p class="Heading1 Normal DocDefaults ">Handling legacy binary .doc files</p> 
     147   
     148  <p class="Normal DocDefaults ">Apache POI's HWPF can read .doc files, and docx4j could use this for basic conversion of .doc to .docx.  The problem with this approach is that POI's HWPF code fails on many .doc files.</p> 
     149   
     150  <p class="Normal DocDefaults ">An effective approach is to use OpenOffice (via jodconverter) to convert the doc to docx, which docx4j can then process.  If you need to return a binary .doc, OpenOffice/jodconverter can convert the docx back to .doc.</p> 
     151   
     152  <p class="Normal DocDefaults ">There is also http://b2xtranslator.sourceforge.net/ .  If a pure Java approach were required, this could be converted.</p> 
     153   
    142154  <p class="Heading1 Normal DocDefaults ">Using docx4j binaries</p> 
    143155   
     
    194206  <p class="Heading2 Normal DocDefaults ">Command line - Quick Instructions</p> 
    195207   
    196   <p class="Normal DocDefaults ">“Quick” that is, provided you have maven and ant installed.  Note that we only use maven to grab the dependencies, not to do the actual build.</p> 
     208  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">“Quick” that is, provided you have maven and ant installed.  </span></p> 
    197209   
    198210  <p class="Normal DocDefaults ">Create a directory called workspace, and cd into it.</p> 
     
    206218  <p class="Normal DocDefaults ">and edit it to suit your system.</p> 
    207219   
    208   <p class="Command NormalWeb Normal DocDefaults "><span style="white-space:pre-wrap;">mvn install </span></p> 
     220  <p class="Command NormalWeb Normal DocDefaults "><span class="apple-style-span DefaultParagraphFont " style="color: #000000;font-family: Calibri;">export MAVEN_OPTS=-Xmx512m</span><span style="color: #000000;font-family: Calibri;"><br clear="all"/></span><span class="apple-style-span DefaultParagraphFont " style="color: #000000;font-family: Calibri;">mvn install -Dmaven.test.skip=true</span></p> 
     221   
     222  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">That will install the dependencies and all being well, create a jar. </span></p> 
     223   
     224  <p class="Normal DocDefaults ">Once the dependencies are installed, you can also build docx4j using ant:</p> 
    209225   
    210226  <p class="NormalWeb Normal DocDefaults " style="position: relative; margin-left: 0.5in;"><span style="font-family: Consolas;font-size: 10.0pt;">ant dist</span></p> 
     
    226242  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>Java 1.5 or 6</p> 
    227243   
    228   <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span><span style="white-space:pre-wrap;">JAXB: </span><span style="font-weight: bold;">both</span><span style="white-space:pre-wrap;"> the JAXB implementation included in Java 6, </span><span style="font-weight: bold;">and</span><span style="white-space:pre-wrap;"> the 2.x reference implementation. (This is the price of supporting either at runtime)</span></p> 
     244  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span><span style="white-space:pre-wrap;">JAXB: </span><span style="font-weight: bold;">either</span><span style="white-space:pre-wrap;"> the JAXB implementation included in Java 6, </span><span style="font-weight: bold;">or</span><span style="white-space:pre-wrap;"> the 2.x reference implementation. </span></p> 
    229245   
    230246  <p class="h3 Heading2 Normal DocDefaults ">Instructions</p> 
     
    274290  <p class="Normal DocDefaults ">The project should now be working in Eclipse without errors<span class="FootnoteReference DefaultParagraphFont "><span style="vertical-align: top; font-size: xx-small"><a name="fs2"><a href="#fn2">2</a></a></span></span><span style="white-space:pre-wrap;">. </span></p> 
    275291   
    276   <p class="Heading1 Normal DocDefaults "><span style="font-family: Calibri;">Open an existing docx document</span></p> 
     292  <p class="Heading1 Normal DocDefaults "><span style="font-family: Calibri;">Open an existing docx/pptx document</span></p> 
    277293   
    278294  <p class="Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;"><a href="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java"><span style="font-family: Consolas;">org.docx4j.openpackaging.packages.</span><span style="font-weight: bold;font-family: Consolas;">WordprocessingMLPackage</span></a> represents a docx document.</p> 
     
    290306  <p class="Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;"><span style="white-space:pre-wrap;">After that, you can manipulate its contents. </span></p> 
    291307   
     308  <p class="Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;"><span style="white-space:pre-wrap;">WordprocessingMLPackage.load uses </span></p> 
     309   
     310  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   <span style="white-space:pre-wrap;">LoadFromZipNG loader = </span></span><span style="font-weight: bold;color: #7F0055;font-family: Consolas;font-size: 8.0pt;">new</span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;"><span style="white-space:pre-wrap;"> LoadFromZipNG();</span></span></p> 
     311   
     312  <p class="Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;">If you need to load a docx from an input stream, you can do something like:</p> 
     313   
     314  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   WordprocessingMLPackage pkg = (WordprocessingMLPackage)loader.get(stream);</span></p> 
     315   
     316  <p class="Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;">A similar approach works for pptx files:</p> 
     317   
     318  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   <span style="white-space:pre-wrap;">PresentationMLPackage presentationMLPackage = </span></span></p> 
     319   
     320  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   </span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   (PresentationMLPackage)OpcPackage.</span><span style="color: #000000;font-style: italic;font-family: Consolas;font-size: 8.0pt;">load</span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">(</span><span style="font-weight: bold;color: #7F0055;font-family: Consolas;font-size: 8.0pt;">new</span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;"><span style="white-space:pre-wrap;"> java.io.File(inputfilepath));</span></span></p> 
     321   
    292322  <p class="Heading1 Normal DocDefaults ">WordML concepts</p> 
    293323   
     
    296326  <p class="Normal DocDefaults ">According to the Microsoft Open Packaging spec, each docx document is made up of a number of “Part” files, zipped up.  A Part is usually XML, but might not be (an image part, for example, isn't).</p> 
    297327   
     328  <p class="Normal DocDefaults ">The parts form a tree. If a part has child parts, it must have a relationships part which identifies these.</p> 
     329   
     330  <p class="Normal DocDefaults ">The part which contains the main text of the document is the Main Document Part.  Each Part has a name.  The name of the Main Document Part is usually "/word/document.xml".</p> 
     331   
     332  <p class="Normal DocDefaults ">If the document has a header, then the main document part woud have a header child part, and this would be described in the main document part's relationships (part).</p> 
     333   
     334  <p class="Normal DocDefaults ">Similarly for any images.  To see the structure of any given document, see "Parts List" further below.</p> 
     335   
    298336  <p class="Normal DocDefaults ">An introduction to WordML is beyond the scope of this document.  You can find a very readable introduction in 1<span style="vertical-align: top;font-size: xx-small;">st</span><span style="white-space:pre-wrap;"> edition Part 3 (Primer) at </span><a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm"><span style="color: #0000FF;text-decoration: none;">http://www.ecma-international.org/publications/standards/Ecma-376.htm</span></a><span style="white-space:pre-wrap;"> or </span><a href="http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm"><span style="color: #0000FF;text-decoration: none;">http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm</span></a><span style="white-space:pre-wrap;"> (a better link, since its not zipped up).</span></p> 
    299337   
     
    360398  <p class="Normal DocDefaults ">Docx4j has 3 layers:</p> 
    361399   
    362   <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;">1. </span><span style="font-weight: bold;font-family: Consolas;">org.docx4j.openpackaging</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">OpenPackaging handles things at the Open Packaging Conventions level:  unzipping a docx into </span><span style="font-weight: bold;font-family: Consolas;">WordprocessingMLPackage</span><span style="white-space:pre-wrap;"> and a set of objects inheriting from Part;  allowing parts to be added/deleted; saving the docx</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">This layer is based originally on OpenXML4J (which is also used by Apache POI). </span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">Parts are generally subclasses of </span><span style="font-weight: bold;color: #000000;font-family: Consolas;">org</span><span style="font-weight: bold;font-family: Consolas;">.docx4j.</span><span style="font-weight: bold;color: #000000;font-family: Consolas;">openpackaging</span><span style="font-weight: bold;font-family: Consolas;">.parts.JaxbXmlPart</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">Parts are arranged in a tree.  If a part has descendants, it will have a </span><span style="font-weight: bold;font-family: Consolas;">org.docx4j.openpackaging.parts.relationships.RelationshipsPart</span><span style="white-space:pre-wrap;"> which identifies those descendant parts.  The sample PartsList (see next section) shows you how this works.</span><br clear="all"/><br clear="all"/>A JaxbXmlPart has a content tree:<br clear="all"/><br clear="all"/><span style="font-family: Consolas;font-size: 9.0pt;">   public Object getJaxbElement() {</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   </span><span style="font-family: Consolas;font-size: 9.0pt;">   return jaxbElement;</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   }</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   public void setJaxbElement(Object jaxbElement) {</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   </span><span style="font-family: Consolas;font-size: 9.0pt;">   this.jaxbElement = jaxbElement;</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   }</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span></p> 
     400  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;">1. </span><span style="font-weight: bold;font-family: Consolas;">org.docx4j.openpackaging</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">OpenPackaging handles things at the Open Packaging Conventions level:  unzipping a docx into </span><span style="font-weight: bold;font-family: Consolas;">WordprocessingMLPackage</span><span style="white-space:pre-wrap;"> and a set of objects inheriting from Part;  allowing parts to be added/deleted; saving the docx</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">This layer is based originally on OpenXML4J (which is also used by Apache POI). </span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">Parts are generally subclasses of </span><span style="font-weight: bold;color: #000000;font-family: Consolas;">org</span><span style="font-weight: bold;font-family: Consolas;">.docx4j.</span><span style="font-weight: bold;color: #000000;font-family: Consolas;">openpackaging</span><span style="font-weight: bold;font-family: Consolas;">.parts.JaxbXmlPart</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">Parts are arranged in a tree.  If a part has descendants, it will have a </span><span style="font-weight: bold;font-family: Consolas;">org.docx4j.openpackaging.parts.relationships.RelationshipsPart</span><span style="white-space:pre-wrap;"> which identifies those descendant parts.  The sample PartsList (see next section) shows you how this </span>works.<br clear="all"/><br clear="all"/>A JaxbXmlPart has a content tree:<br clear="all"/><br clear="all"/><span style="font-family: Consolas;font-size: 9.0pt;">   public Object getJaxbElement() {</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   </span><span style="font-family: Consolas;font-size: 9.0pt;">   return jaxbElement;</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   }</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   public void setJaxbElement(Object jaxbElement) {</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   </span><span style="font-family: Consolas;font-size: 9.0pt;">   this.jaxbElement = jaxbElement;</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span><span style="font-family: Consolas;font-size: 9.0pt;">   }</span><span style="font-family: Consolas;font-size: 9.0pt;"><br clear="all"/></span></p> 
    363401   
    364402  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;">2. </span><span style="white-space:pre-wrap;">The </span><span style="font-weight: bold;color: #000000;">jaxb</span><span style="font-weight: bold;"><span style="white-space:pre-wrap;"> content tree</span></span><span style="white-space:pre-wrap;"> is the second level of the three layered model.</span><br clear="all"/><br clear="all"/><span style="white-space:pre-wrap;">Most parts (including MainDocumentPart, styles, headers/footers, comments, </span><span style="color: #000000;">endnotes</span><span style="white-space:pre-wrap;">/footnotes) use </span><a href="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/wml"><span style="font-weight: bold;font-family: Consolas;">org.docx4j.wml</span></a><span style="font-weight: bold;font-family: Consolas;"><span style="white-space:pre-wrap;"> </span></span><span style="white-space:pre-wrap;">(WordprocessingML); </span><span style="color: #000000;">wml</span><span style="white-space:pre-wrap;"> references </span><a href="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/wml"><span style="font-weight: bold;font-family: Consolas;">org.docx4j.dml</span></a><span style="font-weight: bold;font-family: Consolas;"><span style="white-space:pre-wrap;"> </span></span>(DrawingML) as necessary.<br clear="all"/><br clear="all"/>These classes were generated from the Open XML schemas<br clear="all"/><br clear="all"/></p> 
     
    412450  <p class="Normal DocDefaults " style="position: relative; margin-left: 0.25in;space-before: 0.07in;space-after: 0.07in;line-height: 100%;">Document generation/document assembly using content controls</p> 
    413451   
     452  <p class="ListParagraph Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;"><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>AltChunk</p> 
     453   
    414454  <p class="ListParagraph Normal DocDefaults " style="space-before: 0.07in;space-after: 0.07in;line-height: 100%;"><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>CreateDocxWithCustomXml</p> 
    415455   
     
    442482  <p class="Heading1 Normal DocDefaults "><span style="font-family: Calibri;">Parts List</span></p> 
    443483   
    444   <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">To get a better understanding of how docx4j works – and the structure of a docx document – you can run the PartsList sample on a docx (or a pptx).  If you do, it will list the hierarchy of parts used in that package.  It will tell you which class is used to represent each part, and where that part is a JaxbXmlPart, it will also tell you what class the </span><span style="font-family: Consolas;font-size: 9.0pt;"><span style="white-space:pre-wrap;">jaxbElement </span></span>is.</p> 
     484  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">To get a better understanding of how docx4j works – and the structure of a docx document – you can run the PartsList sample on a docx (or a pptx).  If you do, it will list the hierarchy of parts used in that </span><span style="white-space:pre-wrap;">package.  It will tell you which class is used to represent each part, and where that part is a JaxbXmlPart, it will also tell you what class the </span><span style="font-family: Consolas;font-size: 9.0pt;"><span style="white-space:pre-wrap;">jaxbElement </span></span>is.</p> 
    445485   
    446486  <p class="Normal DocDefaults ">For example:</p> 
     
    926966  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">Note the name </span><span style="font-weight: bold;">imconvert</span><span style="white-space:pre-wrap;">, which is used so that we don't have to supply a full path to exec.  You'll need to accommodate that.  </span></p> 
    927967   
     968  <p class="Heading1 Normal DocDefaults "><span style="font-family: Calibri;">Manual Image Manipulation</span></p> 
     969   
     970  <p class="Normal DocDefaults ">Images involve three things:</p> 
     971   
     972  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.52in;font-family: Symbol;"> </span>the image part itself</p> 
     973   
     974  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.52in;font-family: Symbol;"> </span>a relationship, in the relationships part of the main document part (or header part etc).  This relationship includes:</p> 
     975   
     976  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 1.02in;font-family: Courier New;">o </span><span style="white-space:pre-wrap;">the name of the image part (for example, </span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">/word/media/image1.jpeg</span>)</p> 
     977   
     978  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 1.02in;font-family: Courier New;">o </span>the relationship ID</p> 
     979   
     980  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.52in;font-family: Symbol;"> </span><span style="white-space:pre-wrap;">some XML in the main document part (or header part etc), referencing the relationship ID (see </span><span style="font-weight: bold;color: #800000;font-family: Consolas;">w:drawing</span><span style="white-space:pre-wrap;"> and </span><span style="font-weight: bold;color: #800000;font-family: Consolas;">w:pict</span><span style="white-space:pre-wrap;"> examples above)</span></p> 
     981   
     982  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">This means that if you are moving images around, you need to take care to ensure that the relationships remain valid. </span></p> 
     983   
     984  <p class="Normal DocDefaults ">You can manually manipulate the relationship, and you can manually manipulate the XML referencing the relationship IDs.</p> 
     985   
     986  <p class="Normal DocDefaults "><span style="white-space:pre-wrap;">Given an image part, you can get the relationship pointing to it </span></p> 
     987   
     988  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   </span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   </span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">Relationship</span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;"><span style="white-space:pre-wrap;"> rel = copiedImagePart.getSourceRelationship();</span></span></p> 
     989   
     990  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   </span><span style="color: #000000;font-family: Consolas;font-size: 8.0pt;">   String id = rel.getId();</span></p> 
     991   
     992  <p class="Normal DocDefaults " style="space-after: 0in;line-height: 100%;"/> 
     993   
     994  <p class="Normal DocDefaults ">You can then ensure the reference matches.</p> 
     995   
    928996  <p class="Heading1 Normal DocDefaults "><span style="font-family: Calibri;">Text extraction</span></p> 
    929997   
     
    11701238  <p class="Heading1 Normal DocDefaults "><span style="font-family: Calibri;">Roadmap</span></p> 
    11711239   
    1172   <p class="Normal DocDefaults "><span style="font-weight: bold;">Word 2010 support.</span><span style="white-space:pre-wrap;"> Support for the new XML elements/schemas introduced with Word 2010, and for the compatibility mechanism. This is the main justification for the 3.0 label.</span></p> 
     1240  <p class="Normal DocDefaults "><span style="font-weight: bold;">Word 2010 support.</span><span style="white-space:pre-wrap;"> Support for the new XML elements/schemas introduced with Word 2010, and for the compatibility mechanism. </span></p> 
    11731241   
    11741242  <p class="Normal DocDefaults "><span style="font-weight: bold;">HTML exporters:</span><span style="white-space:pre-wrap;"> get rid of old ones; standardise on NG2. The idea is to remove any 'which should I use' confusion, and focus effort/know-how. </span></p> 
    11751243   
    1176   <p class="Normal DocDefaults "><span style="font-weight: bold;">PDF exporters:</span><span style="white-space:pre-wrap;"> standardise on viaXSLFO, and get rid of viaIText and viaHTML. As with HTML, the idea is to remove any 'which should I use' confusion, and focus effort/know-how. docx4j could produce XSL FO only, and rely on the user to have FOP or equivalent to actually produce the PDF. This will reduce dependencies, making docx4j lighter. The goal would be to remove the fop jar (2.8M), PDF renderer jar (1.6M), iText jar (1.1M), and core-renderer (1M).</span></p> 
    1177    
    11781244  <p class="Normal DocDefaults "><span style="font-weight: bold;">Font handling:</span><span style="white-space:pre-wrap;"> remove the panose stuff, so we don't need a customised FOP jar. </span></p> 
    11791245   
     
    11841250  <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>Estimating page content</p> 
    11851251   
    1186   <p class="ListParagraph Normal DocDefaults "><span style="position: relative; margin-left: 0.5in;font-family: Symbol;"> </span>XSLT, by enclosing sections, lists</p> 
    1187    
    11881252  <p class="Normal DocDefaults "><span style="font-weight: bold;">Inserting OLE objects</span>: so spreadsheets, PDFs etc can be embedded.</p> 
    11891253   
  • trunk/docx4j/docs/Docx4j_GettingStarted.xml

    r1169 r1197  
    11<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    22<?mso-application progid="Word.Document"?> 
    3 <pkg:package xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage"><pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="512"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/_rels/document.xml.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="256"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j/docs/" TargetMode="External"/><Relationship Id="rId13" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/docx4j/" TargetMode="External"/><Relationship Id="rId18" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/resources/log4j.xml" TargetMode="External"/><Relationship Id="rId26" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/MainDocumentPart.java" TargetMode="External"/><Relationship Id="rId39" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.softlion.com/webTools/XmlPrettyPrint/default.aspx" TargetMode="External"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId21" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j" TargetMode="External"/><Relationship Id="rId34" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/convert/out/pdf/viaXSLFO/docx2fo.xslt" TargetMode="External"/><Relationship Id="rId42" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="mailto:jason@plutext.org" TargetMode="External"/><Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes" Target="endnotes.xml"/><Relationship Id="rId12" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.plutext.com" TargetMode="External"/><Relationship Id="rId17" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/dml" TargetMode="External"/><Relationship Id="rId25" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java" TargetMode="External"/><Relationship Id="rId33" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/convert/out/html/docx2xhtmlNG2.xslt" TargetMode="External"/><Relationship Id="rId38" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.plutext.com/m/index.php/docx4j-support.html" TargetMode="External"/><Relationship Id="rId46" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" Target="numbering.xml"/><Relationship Id="rId16" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/wml" TargetMode="External"/><Relationship Id="rId20" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j" TargetMode="External"/><Relationship Id="rId29" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/wml" TargetMode="External"/><Relationship Id="rId41" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/forums/" TargetMode="External"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml" Target="../customXml/item1.xml"/><Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes" Target="footnotes.xml"/><Relationship Id="rId11" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/forums/" TargetMode="External"/><Relationship Id="rId24" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j" TargetMode="External"/><Relationship Id="rId32" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/samples/OpenMainDocumentAndTraverse.java" TargetMode="External"/><Relationship Id="rId37" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/forums/" TargetMode="External"/><Relationship Id="rId40" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.java2html.de" TargetMode="External"/><Relationship Id="rId45" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/><Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml"/><Relationship Id="rId15" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://forums.java.net/jive/message.jspa?messageID=212494" TargetMode="External"/><Relationship Id="rId23" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/umbrella/wiki/MavenEclipse" TargetMode="External"/><Relationship Id="rId28" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm" TargetMode="External"/><Relationship Id="rId36" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.codeplex.com/PackageExplorer" TargetMode="External"/><Relationship Id="rId10" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.pdf" TargetMode="External"/><Relationship Id="rId19" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/docx4j/" TargetMode="External"/><Relationship Id="rId31" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/samples" TargetMode="External"/><Relationship Id="rId44" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/><Relationship Id="rId9" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.html" TargetMode="External"/><Relationship Id="rId14" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/m2/org/docx4j/docx4j" TargetMode="External"/><Relationship Id="rId22" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://subclipse.tigris.org/update_1.2.x" TargetMode="External"/><Relationship Id="rId27" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://www.ecma-international.org/publications/standards/Ecma-376.htm" TargetMode="External"/><Relationship Id="rId30" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/trac/docx4j/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/wml" TargetMode="External"/><Relationship Id="rId35" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://dev.plutext.org/svn/docx4j/trunk/docx4j/sample-docs/databinding/conventions.docx" TargetMode="External"/><Relationship Id="rId43" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="mailto:jharrop@plutext.com" TargetMode="External"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/document.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"><pkg:xmlData><w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:body><w:p><w:pPr><w:pStyle w:val="Title"/></w:pPr><w:r><w:t>Docx4j - Getting Started</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">The latest version of this document can always be found in </w:t></w:r><w:hyperlink r:id="rId8" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>docx4j svn in /docs</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> (in Flat OPC XML format for Word 2007, </w:t></w:r><w:hyperlink r:id="rId9" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>HTML</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve">, and </w:t></w:r><w:hyperlink r:id="rId10" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>PDF</w:t></w:r></w:hyperlink><w:r><w:t>).</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">The most up to date copy of this document is in English.  From time to time, it is machine translated into other languages.  </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>What is docx4j?</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">docx4j is a library for unzipping a docx "package", and parsing the WordprocessingML XML to create an in-memory representation in </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>Java</w:t></w:r><w:r><w:t xml:space="preserve">.  Recent versions of docx4j also support Powerpoint pptx files.  </w:t></w:r></w:p><w:p><w:r><w:t>It is similar in concept to Microsoft's  OpenXML SDK, which is for .NET.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">docx4j is open source, available under the Apache License (v2).  As an open source project, contributions are welcome.  Please see the docx4j forum at </w:t></w:r><w:hyperlink r:id="rId11" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://dev.plutext.org/forums/</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> for details.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Docx4j relies heavily on </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>JAXB</w:t></w:r><w:r><w:t>, the JCP standard for Java - XML binding.  You can think of docx4j as a JAXB implementation of (amongst others):</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="26"/></w:numPr></w:pPr><w:r><w:t>Open Packaging Conventions</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="26"/></w:numPr></w:pPr><w:r><w:t>WordProcessingML (docx) part of Open XML</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="26"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">Presentation ML (pptx) part of OpenXML </w:t></w:r></w:p><w:p><w:r><w:t>The library is designed to round trip docx files with 100% fidelity, and supports all 2007 WordML.  Support for new Word 2010 features will be added soon.</w:t></w:r></w:p><w:p><w:r><w:t>The docx4j project is sponsored by Plutext (</w:t></w:r><w:hyperlink r:id="rId12" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>www.plutext.com</w:t></w:r></w:hyperlink><w:r><w:t>).</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Is docx4j for you?</w:t></w:r></w:p><w:p><w:r><w:t>Docx4j is for processing docx documents (and pptx presentations) in Java.</w:t></w:r></w:p><w:p><w:r><w:t>It isn't for old binary (.doc) files.  For those, Apache POI's HWPF offers basic support (in fact, docx4j can use HWPF for basic conversion of .doc to .docx).  If you wish to invest your effort around docx (as is wise), but you also need to be able to handle old doc files, Plutext has had success using OpenOffice to convert the doc to docx, using docx4j to process the docx, and then using OpenOffice to convert back to .doc.</w:t></w:r></w:p><w:p><w:r><w:t>Nor is it for RTF files.</w:t></w:r></w:p><w:p><w:r><w:lastRenderedPageBreak/><w:t>If you want to process docx documents on the .NET platform, you should look at Microsoft's  OpenXML SDK instead.</w:t></w:r></w:p><w:p><w:r><w:t>An alternative to docx4j is Apache POI.  I'd particularly recommend that for processing Excel documents.  It can also be used to process Word documents, and since it uses XmlBeans (not JAXB) it may be a better choice if you want to use XmlBeans.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>What sorts of things can you do with docx4j?</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Open existing docx (from filesystem, SMB/CIFS, WebDAV using VFS)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Create new docx</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Programmatically manipulate the docx document (of course)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Template substitution; CustomXML binding</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Import a binary doc (uses Apache POI's HWPF)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Produce/consume Word 2007's xmlPackage (pkg) format</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Save docx to filesystem as a docx (ie zipped), or to JCR (unzipped)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Apply transforms, including common filters</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Export as HTML or PDF</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Diff/compare documents, paragraphs or sdt (content controls)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="3"/></w:numPr></w:pPr><w:r><w:t>Font support (font substitution, and use of any fonts embedded in the document)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Projects using docx4j</w:t></w:r></w:p><w:p><w:r><w:t>Docx4all is a Swing-based word processor.</w:t></w:r></w:p><w:p><w:r><w:t>Plutext collaboration for Word 2007 uses docx4j on the server, to shred Word documents into smaller pieces which can be independently versioned.</w:t></w:r></w:p><w:p><w:r><w:t>Please contact Plutext if you would like your project to be listed here.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>What Word documents does it support?</w:t></w:r></w:p><w:p><w:r><w:t>Docx4j can read/write docx documents created by or for Word 2007, or earlier versions which have the compatibility pack installed.</w:t></w:r></w:p><w:p><w:r><w:t>The relevant parts of docx4j are generated from the ECMA schemas.</w:t></w:r></w:p><w:p><w:r><w:t>It can't read/write Word 2003 XML documents.  The main problem with those is that the XML namespace is different.</w:t></w:r></w:p><w:p><w:r><w:t>Docx4j will support Word 2010 docx files.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:lastRenderedPageBreak/><w:t>Using docx4j binaries</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">You can download the latest version of docx4j from </w:t></w:r><w:hyperlink r:id="rId13" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>http://dev.plutext.org/docx4j/</w:t></w:r></w:hyperlink></w:p><w:p><w:r><w:t>In general, we suggest you develop against a currently nightly build, since the latest formal release can often be several months old.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Supporting jars can be found in the .tar.gz version, or in the relevant subdirectory.  </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Using docx4j via Maven</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Maven POM can be found at </w:t></w:r><w:hyperlink r:id="rId14" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/m2/org/docx4j/docx4j</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>JDK versions</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rStyle w:val="apple-style-span"/></w:rPr></w:pPr><w:r><w:rPr><w:rStyle w:val="apple-style-span"/></w:rPr><w:t>You need to be using Java 1.5+.</w:t></w:r></w:p><w:p><w:r><w:rPr><w:rStyle w:val="apple-style-span"/></w:rPr><w:t>This is because of JAXB</w:t></w:r><w:r><w:rPr><w:rStyle w:val="FootnoteReference"/></w:rPr><w:footnoteReference w:id="1"/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/></w:rPr><w:t>.  If you must use  1.4, retrotranslator can</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:hyperlink r:id="rId15" w:history="1"><w:r><w:rPr><w:rStyle w:val="icon"/></w:rPr><w:t>reportedly make</w:t></w:r></w:hyperlink><w:r><w:rPr><w:rStyle w:val="apple-style-span"/></w:rPr><w:t xml:space="preserve"> it work.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>A word about Jaxb</w:t></w:r></w:p><w:p><w:r><w:t>docx4j uses JAXB to marshall and unmarshall the key parts in a WordprocessingML document, including the main document part, the styles part, the theme part, and the properties parts.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">JAXB is included in Sun's Java 6 distributions, but not 1.5.  So if you are using the 1.5 JDK, you will need JAXB 2.1.x on your class path.  </w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Bits of docx4j, such as </w:t></w:r><w:hyperlink r:id="rId16" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>org.docx4j.wml</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> and </w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:eastAsiaTheme="majorEastAsia"/></w:rPr><w:t> </w:t></w:r><w:hyperlink r:id="rId17" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>org.docx4j.dml</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> were generated using JAXB's XJC. We modified the wml.xsd schema in particular, so that the key resulting classes are a bit more human friendly (ie don't all start with CT_ and ST_). </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>Log4j</w:t></w:r></w:p><w:p><w:r><w:rPr><w:rStyle w:val="underline"/></w:rPr><w:t xml:space="preserve">Docx4j uses log4j for logging.  To enable logging, you need a log4.properties or log4j.xml on your class path.  See for example </w:t></w:r><w:hyperlink r:id="rId18" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/resources/log4j.xml</w:t></w:r></w:hyperlink></w:p><w:p><w:r><w:lastRenderedPageBreak/><w:t>If you are using Eclipse to run things, in the run configuration:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="27"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">add VM argument </w:t></w:r><w:r><w:br/></w:r><w:r><w:br/></w:r><w:r><w:tab/><w:t>-Dlog4j.configuration=log4j.xml</w:t></w:r><w:r><w:br/></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="27"/></w:numPr></w:pPr><w:r><w:t>to the classpath, add a user entry (click "advanced..") for</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/></w:r><w:r><w:tab/><w:t>src/main/resources</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Javadoc</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Javadoc for browsing online or download, can be found in the directory </w:t></w:r><w:hyperlink r:id="rId19" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://dev.plutext.org/docx4j/</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Docx4j source code</w:t></w:r></w:p><w:p><w:r><w:t>To obtain a copy of the current source code:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="NormalWeb"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>svn co</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t> </w:t></w:r><w:hyperlink r:id="rId20" w:history="1"><w:r><w:rPr><w:rStyle w:val="icon"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>http://dev.plutext.org/svn/docx4j/trunk/docx4j</w:t></w:r></w:hyperlink><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>docx4j</w:t></w:r></w:p><w:p><w:r><w:t>Alternatively, you can browse it online, at:</w:t></w:r></w:p><w:p><w:pPr><w:ind w:firstLine="720"/></w:pPr><w:r><w:t>http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t xml:space="preserve">Building docx4j from source </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/></w:pPr><w:r><w:t>Command line - Quick Instructions</w:t></w:r></w:p><w:p><w:r><w:t>“Quick” that is, provided you have maven and ant installed.  Note that we only use maven to grab the dependencies, not to do the actual build.</w:t></w:r></w:p><w:p><w:r><w:t>Create a directory called workspace, and cd into it.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="NormalWeb"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>svn co</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t> </w:t></w:r><w:hyperlink r:id="rId21" w:history="1"><w:r><w:rPr><w:rStyle w:val="icon"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>http://dev.plutext.org/svn/docx4j/trunk/docx4j</w:t></w:r></w:hyperlink><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>docx4j</w:t></w:r></w:p><w:p><w:r><w:t>open pom.xml, find the line which reads</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Command"/></w:pPr><w:r><w:t>&lt;systemPath&gt;/usr/lib/jvm/java-6-sun/jre/lib/rt.jar&lt;/systemPath&gt;</w:t></w:r></w:p><w:p><w:r><w:t>and edit it to suit your system.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Command"/></w:pPr><w:r><w:lastRenderedPageBreak/><w:t xml:space="preserve">mvn install </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="NormalWeb"/><w:ind w:left="720"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>ant dist</w:t></w:r></w:p><w:p><w:r><w:t>That ant command will create the docx4j.jar and place it and all its dependencies in the dist dir.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/><w:rPr><w:szCs w:val="15"/></w:rPr></w:pPr><w:r><w:t>Eclipse</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="h3"/></w:pPr><w:r><w:t>Prerequisites</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="13"/></w:numPr></w:pPr><w:r><w:t>Eclipse installed</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="13"/></w:numPr></w:pPr><w:r><w:t>Install an Eclipse subversion plugin eg</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/></w:rPr><w:t> </w:t></w:r><w:hyperlink r:id="rId22" w:history="1"><w:r><w:rPr><w:rStyle w:val="icon"/></w:rPr><w:t>http://subclipse.tigris.org/update_1.2.x</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="13"/></w:numPr></w:pPr><w:r><w:t>Install</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/></w:rPr><w:t> </w:t></w:r><w:hyperlink r:id="rId23" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/><w:rFonts w:eastAsiaTheme="majorEastAsia"/></w:rPr><w:t>Maven and the Eclipse plugin</w:t></w:r></w:hyperlink></w:p><w:p><w:r><w:t>And, as discussed above:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="14"/></w:numPr></w:pPr><w:r><w:t>Java 1.5 or 6</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="14"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">JAXB: </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>both</w:t></w:r><w:r><w:t xml:space="preserve"> the JAXB implementation included in Java 6, </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>and</w:t></w:r><w:r><w:t xml:space="preserve"> the 2.x reference implementation. (This is the price of supporting either at runtime)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="h3"/></w:pPr><w:r><w:t>Instructions</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>File &gt; New "Project .." &gt; SVN &gt; Checkout Projects from SVN</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>Create a new repository location; Url is</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/></w:rPr><w:t> </w:t></w:r><w:hyperlink r:id="rId24" w:history="1"><w:r><w:rPr><w:rStyle w:val="icon"/></w:rPr><w:t>http://dev.plutext.org/svn/docx4j</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>Click folder "trunk", and select docx4j; click next</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>You want to check it out as a project configured using the New Project Wizard</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>Then select Java &gt; Java Project; click Next</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>Choose a project name (eg docx4j) then click Next</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="15"/></w:numPr></w:pPr><w:r><w:t>Click Finish (we'll define the Java build settings in a later step)</w:t></w:r></w:p><w:p><w:r><w:t>After a couple of other dialog boxes, you should have the new project in your workspace.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Now, we need to configure the </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>class path</w:t></w:r><w:r><w:t xml:space="preserve"> etc within Eclipse so that it can build.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>Build Path &gt; Configure Build Path &gt; Java Build Path &gt; Source tab</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>Click on src, then press the remove button</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>Then click "add folder" and navigate through to src/main/java and tick 'java'</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>Then add</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="1"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>src/diffx</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="1"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>src/pptx4j/java</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="1"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>src/svg</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="1"/><w:numId w:val="16"/></w:numPr></w:pPr><w:r><w:t>src/xslfo</w:t></w:r></w:p><w:p><w:r><w:t>The Maven bit:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="17"/></w:numPr></w:pPr><w:r><w:lastRenderedPageBreak/><w:t xml:space="preserve">Make sure you have Maven and its plugin installed - see Prerequisites above. </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="17"/></w:numPr></w:pPr><w:r><w:t>Run mvn install in the docx4j dir from a command prompt (just in case)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="17"/></w:numPr></w:pPr><w:r><w:t>Right click on project &gt; Maven 2 &gt; Enable</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rStyle w:val="underline"/></w:rPr></w:pPr><w:r><w:t>The project should now be working in Eclipse without errors</w:t></w:r><w:r><w:rPr><w:rStyle w:val="FootnoteReference"/></w:rPr><w:footnoteReference w:id="2"/></w:r><w:r><w:t xml:space="preserve">. </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>Open an existing docx document</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:hyperlink r:id="rId25" w:history="1"><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/></w:rPr><w:t>org.docx4j.openpackaging.packages.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>WordprocessingMLPackage</w:t></w:r></w:hyperlink><w:r><w:t> represents a docx document.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>To load a document, all you have to do is:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Command"/><w:ind w:left="0"/></w:pPr><w:r><w:tab/><w:t xml:space="preserve">WordprocessingMLPackage wordMLPackage = </w:t></w:r><w:r><w:br/></w:r><w:r><w:tab/></w:r><w:r><w:tab/><w:t>WordprocessingMLPackage.load(new java.io.File(inputfilepath));</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>That method can also load “Flat OPC” XML files.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>You can then get the main document part (word/document.xml):</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Command"/></w:pPr><w:hyperlink r:id="rId26" w:history="1"><w:r><w:rPr><w:rFonts w:eastAsiaTheme="majorEastAsia"/></w:rPr><w:t>MainDocumentPart</w:t></w:r></w:hyperlink><w:r><w:t> documentPart = wordMLPackage.getMainDocumentPart();</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">After that, you can manipulate its contents. </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>WordML concepts</w:t></w:r></w:p><w:p><w:r><w:t>To do anything much beyond this, you need to have an understanding of basic WordML concepts.</w:t></w:r></w:p><w:p><w:r><w:t>According to the Microsoft Open Packaging spec, each docx document is made up of a number of “Part” files, zipped up.  A Part is usually XML, but might not be (an image part, for example, isn't).</w:t></w:r></w:p><w:p><w:r><w:t>An introduction to WordML is beyond the scope of this document.  You can find a very readable introduction in 1</w:t></w:r><w:r><w:rPr><w:vertAlign w:val="superscript"/></w:rPr><w:t>st</w:t></w:r><w:r><w:t xml:space="preserve"> edition Part 3 (Primer) at </w:t></w:r><w:hyperlink r:id="rId27" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://www.ecma-international.org/publications/standards/Ecma-376.htm</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> or </w:t></w:r><w:hyperlink r:id="rId28" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> (a better link, since its not zipped up).</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:lastRenderedPageBreak/><w:t xml:space="preserve">Jaxb: marshalling and unmarshalling </w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Docx4j contains a class representing each part.  For example, there is a </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/></w:rPr><w:t>MainDocumentPart</w:t></w:r><w:r><w:t xml:space="preserve"> class.  XML parts inherit from </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/></w:rPr><w:t>JaxbXmlPart</w:t></w:r><w:r><w:t xml:space="preserve">, which contains a member called </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>jaxbElement</w:t></w:r><w:r><w:t>.  When you want to work with the contents of a part, you work with its jaxbElement.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">When you open a docx document using docx4j, docx4j automatically </w:t></w:r><w:r><w:rPr><w:b/><w:i/></w:rPr><w:t>unmarshals</w:t></w:r><w:r><w:t xml:space="preserve"> the contents of each XML part to a strongly-type Java object tree (the jaxbElement).</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Similarly, if/when you tell docx4j to save these Java objects as a docx, docx4j automatically </w:t></w:r><w:r><w:rPr><w:b/><w:i/></w:rPr><w:t>marshals</w:t></w:r><w:r><w:t xml:space="preserve"> the jaxbElement in each Part.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Sometimes you will want to marshal or unmarshal things yourself.  The class </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.jaxb.Context</w:t></w:r><w:r><w:t xml:space="preserve"> defines all the JAXBContexts used in docx4j: </w:t></w:r></w:p><w:tbl><w:tblPr><w:tblStyle w:val="TableGrid"/><w:tblW w:w="0" w:type="auto"/><w:tblInd w:w="1098" w:type="dxa"/><w:tblLayout w:type="fixed"/><w:tblLook w:val="04A0"/></w:tblPr><w:tblGrid><w:gridCol w:w="2880"/><w:gridCol w:w="4230"/></w:tblGrid><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>Jc</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.dml</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.dml.picture</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.dml.wordprocessingDrawing</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.vml</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.vml.officedrawing</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.math</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcThemePart</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.dml</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcDocPropsCore</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.docProps.core</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.docProps.core.dc.elements</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.docProps.core.dc.terms</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcDocPropsCustom</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.docProps.custom</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcDocPropsExtended</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.docProps.extended</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcXmlPackage</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.xmlPackage</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcRelationships</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.relationships</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcCustomXmlProperties</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.customXmlProperties</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcContentTypes</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.openpackaging.contenttype</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcW w:w="2880" w:type="dxa"/><w:vAlign w:val="center"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>jcPML</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="4230" w:type="dxa"/></w:tcPr><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.pml</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.dml</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/><w:t>org.docx4j.dml.picture</w:t></w:r></w:p></w:tc></w:tr></w:tbl><w:p/><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Architecture</w:t></w:r></w:p><w:p><w:r><w:t>Docx4j has 3 layers:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="18"/></w:numPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>org.docx4j.openpackaging</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/><w:t xml:space="preserve">OpenPackaging handles things at the Open Packaging Conventions level:  unzipping a docx into </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>WordprocessingMLPackage</w:t></w:r><w:r><w:t xml:space="preserve"> and a set of objects inheriting from Part;  allowing parts to be added/deleted; saving the docx</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/><w:t xml:space="preserve">This layer is based originally on OpenXML4J (which is also used by Apache POI). </w:t></w:r><w:r><w:br/></w:r><w:r><w:lastRenderedPageBreak/><w:br/><w:t xml:space="preserve">Parts are generally subclasses of </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/><w:color w:val="000000"/></w:rPr><w:t>org</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>.docx4j.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/><w:color w:val="000000"/></w:rPr><w:t>openpackaging</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>.parts.JaxbXmlPart</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/><w:t xml:space="preserve">Parts are arranged in a tree.  If a part has descendants, it will have a </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>org.docx4j.openpackaging.parts.relationships.RelationshipsPart</w:t></w:r><w:r><w:t xml:space="preserve"> which identifies those descendant parts.  The sample PartsList (see next section) shows you how this works.</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/><w:t>A JaxbXmlPart has a content tree:</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>public Object getJaxbElement() {</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>return jaxbElement;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>}</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>public void setJaxbElement(Object jaxbElement) {</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>this.jaxbElement = jaxbElement;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>}</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:br/></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="18"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">The </w:t></w:r><w:r><w:rPr><w:b/><w:color w:val="000000"/></w:rPr><w:t>jaxb</w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t xml:space="preserve"> content tree</w:t></w:r><w:r><w:t xml:space="preserve"> is the second level of the three layered model.</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/><w:t xml:space="preserve">Most parts (including MainDocumentPart, styles, headers/footers, comments, </w:t></w:r><w:r><w:rPr><w:color w:val="000000"/></w:rPr><w:t>endnotes</w:t></w:r><w:r><w:t xml:space="preserve">/footnotes) use </w:t></w:r><w:hyperlink r:id="rId29" w:history="1"><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>org.docx4j.wml</w:t></w:r></w:hyperlink><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:t xml:space="preserve">(WordprocessingML); </w:t></w:r><w:r><w:rPr><w:color w:val="000000"/></w:rPr><w:t>wml</w:t></w:r><w:r><w:t xml:space="preserve"> references </w:t></w:r><w:hyperlink r:id="rId30" w:history="1"><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>org.docx4j.dml</w:t></w:r></w:hyperlink><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:t>(DrawingML) as necessary.</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/><w:t>These classes were generated from the Open XML schemas</w:t></w:r><w:r><w:br/></w:r><w:r><w:br/></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="18"/></w:numPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t>org.docx4j.model</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:br/></w:r><w:r><w:t xml:space="preserve">This package builds on the lower two layers to provide extra functionality, and is being progressively further developed.    </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>Samples</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>The package org.docx4j.samples contains examples of how to do things with docx4j.  These include:</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:t>Basics</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CreateWordprocessingMLDocument</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>DisplayMainDocumentPartXml</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>OpenAndSaveRoundTripTest</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>OpenMainDocumentAndTraverse</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>XPathQuery (2010 07 13 nightly or later only)</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:lastRenderedPageBreak/><w:t>Output/Transformation</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CreateHtml</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CreatePdf</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:t xml:space="preserve">Flat OPC XML </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>ExportInPackageFormat</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>ImportFromPackageFormat</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:t xml:space="preserve">Image handling </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>AddImage</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>ConvertEmbeddedImageToLinked</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:t>Part Handling</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CopyPart</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>ImportForeignPart</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>PartsList</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>StripParts</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:t>Document generation/document assembly using content controls</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CreateDocxWithCustomXml</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CustomXmlBinding</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>ContentControlBindingExtensions</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:left="360"/></w:pPr><w:r><w:t>Miscellaneous</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>CompareDocuments</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>DocProps</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>Filter</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>HyperlinkTest</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>NumberingRestart</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="19"/></w:numPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>UnmarshallFromTemplate</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>If you installed the source code, you'll have this package already.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">If you didn't, you can browse it online, at </w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:ind w:firstLine="720"/><w:rPr><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:hyperlink r:id="rId31" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/samples</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">There are also various </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>sample documents</w:t></w:r><w:r><w:t xml:space="preserve"> in the /sample-docs directory; these are most easily accessed by checking out docx4j svn.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:lastRenderedPageBreak/><w:t>Parts List</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">To get a better understanding of how docx4j works – and the structure of a docx document – you can run the PartsList sample on a docx (or a pptx).  If you do, it will list the hierarchy of parts used in that package.  It will tell you which class is used to represent each part, and where that part is a JaxbXmlPart, it will also tell you what class the </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">jaxbElement </w:t></w:r><w:r><w:t>is.</w:t></w:r></w:p><w:p><w:r><w:t>For example:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t>Part /_rels/.rels [org.docx4j.openpackaging.parts.relationships.RelationshipsPart]</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:br/><w:t xml:space="preserve">  containing JaxbElement:org.docx4j.relationships.Relationships</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="720"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve">Part /docProps/app.xml [org.docx4j.openpackaging.parts.DocPropsExtendedPart]  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:br/><w:t xml:space="preserve">  containing JaxbElement:org.docx4j.docProps.extended.Properties</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="720"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="720"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve">Part /docProps/core.xml [org.docx4j.openpackaging.parts.DocPropsCorePart]  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:br/><w:t xml:space="preserve">  containing JaxbElement:org.docx4j.docProps.core.CoreProperties</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="720"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="720"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve">Part </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t>/word/document.xml</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve"> [org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart]  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:br/><w:t xml:space="preserve">  containing JaxbElement:org.docx4j.wml.Document</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="720"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t>Part /word/settings.xml [</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="14"/><w:szCs w:val="14"/></w:rPr><w:t>org.docx4j.openpackaging.parts.WordprocessingML</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve">.DocumentSettingsPart]  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:br/><w:t xml:space="preserve">  containing JaxbElement:org.docx4j.wml.CTSettings</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t>Part /word/styles.xml [</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="14"/><w:szCs w:val="14"/></w:rPr><w:t>org.docx4j.openpackaging.parts.WordprocessingML</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve">.StyleDefinitionsPart]  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:br/><w:t xml:space="preserve">  containing JaxbElement:org.docx4j.wml.Styles</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t>Part /word/media/image1.jpeg [</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="14"/><w:szCs w:val="14"/></w:rPr><w:t>org.docx4j.openpackaging.parts.WordprocessingML</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr><w:t xml:space="preserve">.ImageJpegPart] </w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:ind w:left="1440"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>Creating a new docx</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>To create a new docx:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create the package</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Save it</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>wordMLPackage.save(new java.io.File("helloworld.docx") );</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">That's it.  </w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">createPackage() </w:t></w:r><w:r><w:t>is a convenience method, which does:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create the package</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>WordprocessingMLPackage wordMLPackage = new WordprocessingMLPackage();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create the main document part (word/document.xml)</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>MainDocumentPart wordDocumentPart = new MainDocumentPart();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create main document part content</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>ObjectFactory factory = Context.getWmlObjectFactory();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.Body body = factory .createBody();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.Document wmlDocumentEl = factory .createDocument();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:lastRenderedPageBreak/><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>wmlDocumentEl.setBody(body);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Put the content in the part</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>wordDocumentPart.setJaxbElement(wmlDocumentEl);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">            </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Add the main document part to the package relationships</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// (creating it if necessary)</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>wmlPack.addTargetPart(wordDocumentPart);</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Adding a paragraph of text</w:t></w:r></w:p><w:p><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">MainDocumentPart </w:t></w:r><w:r><w:t>contains a method:</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.P addStyledParagraphOfText(String styleId, String text)</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>You can use that method to add a paragraph using the specified style.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>The XML we are looking to create will be something like:</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr></w:pPr><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t xml:space="preserve">w:p </w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t> </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupattributename"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>xmlns:w</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupattributevalue"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>="http://schemas.openxmlformats.org/wordprocessingml/2006/main"</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>    </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:r</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>        </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:t</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>Hello world</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:t</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>    </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:r</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:p</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">addStyledParagraphOfText </w:t></w:r><w:r><w:t>builds the object structure “the JAXB way”, and adds it to the document.</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>ObjectFactory factory = Context.getWmlObjectFactory();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create the paragraph</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.P  para = factory.createP();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create the text element</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.Text  t = factory.createText();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>t.setValue(simpleText);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create the run</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.R  run = factory.createR();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">run.getRunContent().add(t);    </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>para.getParagraphContent().add(run);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Now add our paragraph to the document body</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>Body body = this.jaxbElement.getBody();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>Body.getEGBlockLevelElts().add(para)</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>Alternatively, you can create the paragraph by marshalling XML:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Assuming String xml contains the XML above</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.P  para = XmlUtils.unmarshalString(xml);</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>For this to work, you need to ensure that all namespaces are declared properly in the string.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:lastRenderedPageBreak/><w:t>Selecting your insertion point</w:t></w:r></w:p><w:p><w:hyperlink r:id="rId32" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>OpenMainDocumentAndTraverse.java</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> in the samples directory shows you how to traverse the JAXB representation of a docx.  Once you have found the JAXB node you wish to change, you can go ahead and change it.  Note: see next section below for how you can do this via XPath.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">One annoying thing about JAXB, is that an object – say a table – could be represented as </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.Tbl</w:t></w:r><w:r><w:t xml:space="preserve"> (as you would expect).  Or it might be wrapped in a </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>javax.xml.bind.JAXBElement</w:t></w:r><w:r><w:t>, in which case to get the real table, you have to do something like:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">     </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">if </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>( ((JAXBElement)o).getDeclaredType().getName().equals(</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>"org.docx4j.wml.Tbl"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">) ) </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">          </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.Tbl tbl = (org.docx4j.wml.Tbl)((JAXBElement)o).getValue();</w:t></w:r></w:p><w:p/><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>Accessing JAXB nodes via XPath</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>It can be a bit painful traversing the content tree using JAXB.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>Happily, from docx4j 2.</w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>5</w:t></w:r><w:r><w:t>.0, you can do use XPath to select JAXB nodes:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t xml:space="preserve">String xpath = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="2A00FF"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>"//w:p"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t xml:space="preserve">List&lt;Object&gt; list = documentPart.getJAXBNodesViaXPath(xpath, </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>false</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>);</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>These JAXB nodes are live, in the sense that if you change them, your document changes.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">There is a limitation however: the xpath expressions are evaluated against the XML document as it was when first opened in docx4j.  You can update the associated XML document once only, by passing true into </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>getJAXBNodesViaXPath</w:t></w:r><w:r><w:t>. Updating it again (with current JAXB 2.1.x or 2.2.x) will cause an error.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr><w:r><w:t>Adding a Part</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>What if you wanted to add a new styles part? Here's how:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Create a styles part</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">StyleDefinitionsPart stylesPart = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>StyleDefinitionsPart();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Populate it with default styles</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>stylesPart.unmarshalDefaultStyles();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Add the styles part to the main document part relationships</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>wordDocumentPart.addTargetPart(stylesPart);</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>You'd take the same approach to add a header or footer.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>When you add a part this way, it is automatically added to the source part's relationships part.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:lastRenderedPageBreak/><w:t>Generally, you'll also need to add a reference to the part (using its relationship id) to the Main Document Part.  This applies to images, headers and footers. (Comments, footnotes and endnotes are a bit different, in that what you add to the main document part are references to individual comments/footnotes/endnotes).</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>docx to (X)HTML</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>docx4j uses XSLT to transform a docx to XHTML:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">AbstractHtmlExporter exporter = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>HtmlExporterNG2();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">        </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// note the *2* there</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Write to StreamResult (in this case, an output stream)</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">OutputStream os = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">java.io.FileOutputStream(inputfilepath + </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>".html"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">javax.xml.transform.stream.StreamResult result </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">           </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">= </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>javax.xml.transform.stream.StreamResult(os);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">exporter.html(wordMLPackage, result, </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">             </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">inputfilepath + </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>"_files"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>);</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>You will find the generated HTML is clean.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>Docx4j uses Java XSLT extension functions to do the heavy lifting, so the XSLT itself is kept simple.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">If you have log4j debug level logging enabled for </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>org.docx4j.convert.out.html.HtmlExporterNG2</w:t></w:r><w:r><w:t xml:space="preserve">, anything which is not implemented will be obvious in the output document.  </w:t></w:r><w:r><w:rPr><w:b/><w:i/></w:rPr><w:t>If debug level logging is not switched on, unsupported elements will be silently dropped.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:rPr><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">The XSLT can be found at </w:t></w:r><w:hyperlink r:id="rId33" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>src/main/java/org/docx4j/convert/out/html/docx2xhtmlNG2.xslt</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/><w:kern w:val="36"/></w:rPr><w:t>docx to PDF</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>docx4j produces XSL FO, which can in turn be used to create a PDF.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>At present, Apache FOP is integrated into docx4j for creating the PDF.  (Soon, we will be changing things so that docx4j generates FO, for use by your preferred FO renderer, whether that's FOP, or a commercial tool such as XEP).</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>To create a PDF:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Fonts identity mapping – best on Microsoft Windows</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>wordMLPackage.setFontMapper(</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>IdentityPlusMapper());</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Set up converter</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">org.docx4j.convert.out.pdf.PdfConversion c </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:lastRenderedPageBreak/><w:t xml:space="preserve">          </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">= </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.convert.out.pdf.viaXSLFO.Conversion(wordMLPackage);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Write to output stream</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">OutputStream os = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">new </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">java.io.FileOutputStream(inputfilepath + </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>".pdf"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">);      </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>c.output(os);</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>See the CreatePdf sample.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:rPr><w:b/><w:i/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">If you have log4j debug level logging enabled for </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>org.docx4j.convert.out.pdf.viaXSLFO</w:t></w:r><w:r><w:t xml:space="preserve">, anything which is not implemented will be obvious in the output document.  In addition, the logs will contain the intermediate XSL FO for inspection.  </w:t></w:r><w:r><w:rPr><w:b/><w:i/></w:rPr><w:t>If debug level logging is not switched on, unsupported elements will be silently dropped.</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:rPr><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">The XSLT can be found at </w:t></w:r><w:hyperlink r:id="rId34" w:history="1"><w:r><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rStyle w:val="Hyperlink"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>src/main/java/org/docx4j/convert/out/pdf/viaXSLFO/docx2fo.xslt</w:t></w:r></w:hyperlink></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Fonts</w:t></w:r></w:p><w:p><w:r><w:t>When docx4j is used to create a PDF, it can only use fonts which are available to it.</w:t></w:r></w:p><w:p><w:r><w:t>These fonts come from 2 sources:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="28"/></w:numPr></w:pPr><w:r><w:t>those installed on the computer</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="28"/></w:numPr></w:pPr><w:r><w:t>those embedded in the document</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Note that Word silently performs </w:t></w:r><w:r><w:rPr><w:b/><w:i/></w:rPr><w:t>font substitution</w:t></w:r><w:r><w:t xml:space="preserve">.  When you open an existing document in Word, and select text in a particular font, the actual font you see on the screen won't be the font reported in the ribbon if it is not installed on your computer or embedded in the document.  To see whether Word 2007 is substituting a font, go into Word Options &gt; Advanced &gt; Show Document Content and press the "Font Substitution" button.  </w:t></w:r></w:p><w:p><w:r><w:t>Word's font substitution information is not available to docx4j.  As a developer, you 3 options:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="29"/></w:numPr></w:pPr><w:r><w:t>ensure the font is installed or embedded</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="29"/></w:numPr></w:pPr><w:r><w:t>tell docx4j which font to use instead, or</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="29"/></w:numPr></w:pPr><w:r><w:t>allow docx4j to fallback to a default font</w:t></w:r></w:p><w:p><w:r><w:t>To embed a font in a document, open it in Word on a computer which has the font installed (check no substitution is occuring), and go to Word Options &gt; Save &gt; Embed Fonts in File.</w:t></w:r></w:p><w:p><w:r><w:t>If you want to tell docx4j to use a different font, you need to add a font mapping.  The FontMapper interface is used to do this.</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">On a Windows computer, font names for installed fonts are mapped 1:1 to the corresponding physical fonts via the IdentityPlusMapper. </w:t></w:r></w:p><w:p><w:r><w:lastRenderedPageBreak/><w:t>A font mapper contains Map&lt;String, PhysicalFont&gt;; to add a font mapping, as per the example in the CreatePdf sample:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="3F7F5F"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">// Set up font </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="3F7F5F"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:u w:val="single"/><w:lang w:val="en-AU"/></w:rPr><w:t>mapper</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t xml:space="preserve">Mapper fontMapper = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>new</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> IdentityPlusMapper();</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>wordMLPackage.setFontMapper(fontMapper);</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="3F7F5F"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">// Example of mapping missing font Algerian to installed font Comic </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="3F7F5F"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:u w:val="single"/><w:lang w:val="en-AU"/></w:rPr><w:t>Sans</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="3F7F5F"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> MS</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>PhysicalFont font = PhysicalFonts.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:i/><w:iCs/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>getPhysicalFonts</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>().get(</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="2A00FF"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>"Comic Sans MS"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>);</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>fontMapper.getFontMappings().put(</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="2A00FF"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>"Algerian"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>, font);</w:t></w:r></w:p><w:p/><w:p><w:r><w:t xml:space="preserve">You'll see the font names if you configure log4j debug level logging for </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>org.docx4j.fonts.PhysicalFonts</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Image Handling</w:t></w:r></w:p><w:p><w:r><w:t>When you add an image to a document in Word 2007, it is generally added as a new Part (ie you'll find a part in the resulting docx, containing the image in base 64 format).</w:t></w:r></w:p><w:p><w:r><w:t>When you open the document in docx4j, docx4j will create an image part representing it.</w:t></w:r></w:p><w:p><w:r><w:t>It is also possible to create a “linked” image.  In this case, the image is not embedded in the docx package, but rather, is referenced at its external location.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Docx4j's </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/><w:lang w:val="de-DE"/></w:rPr><w:t>BinaryPartAbstractImage</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:t>class contains methods to allow you to create both embedded and linked images (along with appropriate relationships).</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/**</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* Create an image part from the provided byte array, attach it to the </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* main document part, and return it.*/</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>BinaryPartAbstractImage createImagePart(WordprocessingMLPackage wordMLPackage,</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>byte</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">[] bytes) </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/**</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* Create an image part from the provided byte array, attach it to the source part</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* (eg the main document part, a header part etc), and return it.*/</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>BinaryPartAbstractImage createImagePart(WordprocessingMLPackage wordMLPackage,</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">Part sourcePart, </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>byte</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">[] bytes) </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/**</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* Create a linked image part, and attach it as a rel of the specified source part</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* (eg a header part)</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>*/</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>BinaryPartAbstractImage createLinkedImagePart(</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">WordprocessingMLPackage wordMLPackage, Part sourcePart, String fileurl) </w:t></w:r></w:p><w:p/><w:p><w:r><w:t>For an image to appear in the document, there also needs to be appropriate XML in the main document part.  This XML can take 2 basic forms:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="24"/></w:numPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">the Word 2007 </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="800000"/></w:rPr><w:t>w:drawing</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:t>form</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Times New Roman"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Times New Roman"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&lt;w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:lastRenderedPageBreak/><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;w:drawing&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;wp:inline </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>distT</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="0" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>distB</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="0" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>distL</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="0" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>distR</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="0"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;wp:extent </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>cx</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="3238500" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>cy</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="2362200" /</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;wp:effectExtent </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>l</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="19050" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>t</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="0" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>r</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="0" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>b</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="0" /</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;a:graphic &gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;a:graphicData </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> ..</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;pic:pic &gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;pic:blipFill&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">a:blip </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>r:embed</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="rId5"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> /</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>pic:blipFill&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>pic:pic&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>a:graphicData&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>a:graphic&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>wp:inline&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>w:drawing&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="23"/></w:numPr><w:rPr><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">the Word 2003 VML-based </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="800000"/></w:rPr><w:t>w:pict</w:t></w:r><w:r><w:t xml:space="preserve"> form</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&lt;w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;w:pict&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;v:shapetype </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>id</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="_x0000_t75" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>coordsize</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">="21600,21600" </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> .. </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;v:stroke </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>joinstyle</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="miter" /</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;v:formulas&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>v:formulas&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>v:shapetype&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;v:shape </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>..</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>style</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="width:428.25pt;height:321pt"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve">v:imagedata </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>r:id</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="rId4"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>o:title</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>="" /</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>v:shape&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Times New Roman"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Times New Roman"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Times New Roman"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:pict&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:p&gt;</w:t></w:r></w:p><w:p/><w:p><w:r><w:t xml:space="preserve">Docx4j can create the Word 2007 </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="800000"/></w:rPr><w:t>w:drawing/wp:inline</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:t>form for you:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/**</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* Create a </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="7F7F9F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">&lt;wp:inline&gt; </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>element suitable for this image,</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* which can be linked or embedded in w:p/w:r/w:drawing.</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* If the image is wider than the page, it will be scaled</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* automatically.  See Javadoc for other signatures.</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="7F9FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">@param </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>filenameHint Any text, for example the original filename</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="7F9FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">@param </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>altText  Like HTML's alt text</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="7F9FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">@param </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>id1   An id unique in the document</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="7F9FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">@param </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>id2   Another id unique in the document</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">* </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="7F9FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">@param </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>link</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  true if this is to be </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>linked not embedded</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>*/</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">Inline createImageInline(String filenameHint, String altText, </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">int </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">id1, </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">int </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">id2, </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">boolean </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">link) </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr></w:p><w:p><w:r><w:t xml:space="preserve">which you can then add to a </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="800000"/></w:rPr><w:t>w:r/w:drawing.</w:t></w:r></w:p><w:p><w:r><w:lastRenderedPageBreak/><w:t xml:space="preserve">Finally, with docx4j, you can convert images from formats unsupported by Word (eg PDF), to PNG, which is a supported format.  For this, docx4j uses </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>ImageMagick</w:t></w:r><w:r><w:t>.  So if you want to use this feature, you need to install ImageMagick.  Docx4j invokes ImageMagick using:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve"> Process p = Runtime.getRuntime().exec(</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">"imconvert -density " </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">+ density + </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr><w:t>" -units PixelsPerInch - png:-"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr><w:t>);</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Note the name </w:t></w:r><w:r><w:rPr><w:b/></w:rPr><w:t>imconvert</w:t></w:r><w:r><w:t xml:space="preserve">, which is used so that we don't have to supply a full path to exec.  You'll need to accommodate that.  </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Text extraction</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">A quick way to extract the text from a docx, is to use </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">TextUtils‘  </w:t></w:r></w:p><w:p><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static void </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>extractText(Object o, Writer w)</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:t>which marshals the object it is passed via a SAX ContentHandler, in order to output the text to the Writer.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Text substitution</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Text substitution is easy enough, provided the string you are searching for is represented in a </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t xml:space="preserve">org.docx4j.wml.Text </w:t></w:r><w:r><w:t>object in the form you expect.</w:t></w:r></w:p><w:p><w:r><w:t>However, that won't necessarily be the case.  The string could be broken across text runs for any of the following reasons:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="23"/></w:numPr></w:pPr><w:r><w:t>part of the word is formatted differently (eg in bold)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="23"/></w:numPr></w:pPr><w:r><w:t>spelling/grammar</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="23"/></w:numPr></w:pPr><w:r><w:t>editing order (rsid)</w:t></w:r></w:p><w:p><w:r><w:t>docx4j will eventually accommodate these cases, but doesn't right now.</w:t></w:r></w:p><w:p><w:r><w:t>Subject to that, you can do text substitution in a variety of ways, for example:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="25"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">traversing the main document part, and looking at the </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t xml:space="preserve">org.docx4j.wml.Text </w:t></w:r><w:r><w:t>objects</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="25"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">marshal to a string, search/replace in that, then unmarshall again </w:t></w:r></w:p><w:p><w:r><w:t>docx4j‘s XmlUtils also contains:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">     </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/**</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">     </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* Give a string of wml containing ${key1}, ${key2}, return a suitable</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">     </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>* object.*/</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">Object unmarshallFromTemplate(String wmlTemplateString, </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">        </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">java.util.HashMap&lt;String, String&gt; mappings) </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r></w:p><w:p><w:r><w:t>See the UnmarshallFromTemplate example, which operates on a string containing:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Times New Roman"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:lastRenderedPageBreak/><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>&lt;w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;w:t&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t xml:space="preserve">My favourite colour is </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>${colour}</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:t&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t xml:space="preserve">&lt;w:p </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;w:t&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t xml:space="preserve">My favourite ice cream is </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:b/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>${icecream}</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:t&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:r&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:tab/><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="800000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>w:p&gt;</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Text substitution via data bound content controls</w:t></w:r></w:p><w:p><w:r><w:t>If you have an XML file containing your own data, WordML has a mechansim for associating entries in that XML with content controls in the document.</w:t></w:r></w:p><w:p><w:r><w:t>Then, when you open the document in Word 2007, Word automatically populates the content controls with the relevant XML data.</w:t></w:r></w:p><w:p><w:r><w:t>This works using XPath.  A data-bound content control looks something like:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">      &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:sdt</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">        &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:sdtPr</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">          &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:dataBinding</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:xpath</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>=</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>/root[1]/customer[1]</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:storeItemID</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>=</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>{428C88D8-C0E3-44F0-B5D7-F65D8B9F7EC9}</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> /&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">        &lt;/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:sdtPr</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">        &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:sdtContent</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">          &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:r</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">            &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:rPr</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">              &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:rStyle</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:val</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>=</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>PlaceholderText</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve"> /&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">            &lt;/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:rPr</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">            &lt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:t</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>Click here to enter text.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:t</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">          &lt;/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:r</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">        &lt;/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:sdtContent</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t xml:space="preserve">      &lt;/</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:sdt</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr></w:pPr></w:p><w:p><w:r><w:t>You XML file is stored as a part in the docx, typically with a path which is something like customXml/item1.xml.   Note: despite the word "customXml" in the path, this functionality is not affected by the 2009 i4i patent saga.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">How do you set up the </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="A31515"/><w:sz w:val="15"/><w:szCs w:val="15"/><w:lang w:val="en-AU"/></w:rPr><w:t>w:dataBinding</w:t></w:r><w:r><w:t xml:space="preserve"> element?  There is a tool called the Word Content Control Toolkit which does this for you.</w:t></w:r></w:p><w:p><w:r><w:t>If you have a Word document which contains data-bound content controls and your data, docx4j can fetch the data, and place it in the relevant content controls.</w:t></w:r></w:p><w:p><w:r><w:t>This is useful if you don't want to leave it to Word to do that (for example, you are creating PDFs with docx4j).</w:t></w:r></w:p><w:p><w:r><w:t>Your XML is represented using 2 parts:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t xml:space="preserve">CustomXmlDataStoragePart customXmlDataStoragePart </w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>= wordMLPackage.getCustomXmlDataStorageParts().get(itemId);</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t xml:space="preserve">CustomXmlDataStorage customXmlDataStorage </w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>= customXmlDataStoragePart.getData();</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr></w:p><w:p><w:r><w:t>To apply the bindings:</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:tab/><w:t>customXmlDataStoragePart.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:i/><w:iCs/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>applyBindings</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:color w:val="000000"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr><w:t>(wordMLPackage.getMainDocumentPart());</w:t></w:r></w:p><w:p><w:pPr><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Consolas"/><w:sz w:val="16"/><w:szCs w:val="16"/><w:lang w:val="en-AU"/></w:rPr></w:pPr></w:p><w:p><w:r><w:t xml:space="preserve">See further the CustomXmlBinding sample. </w:t></w:r></w:p><w:p><w:r><w:t>If you want to create the same document 5 times, each populated with different data, obviously you'd need to insert new XML data first.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Binding extensions for repeats and conditionals</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">A content control is said to be </w:t></w:r><w:r><w:rPr><w:i/></w:rPr><w:t>conditional</w:t></w:r><w:r><w:t xml:space="preserve"> if it (and its contents) are included/excluded from the document based on whether some condition is true or false.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">A content control is a </w:t></w:r><w:r><w:rPr><w:i/></w:rPr><w:t>repeat</w:t></w:r><w:r><w:t xml:space="preserve"> if it designates that its contents are to be included more than once.  For example, a row of a table for each invoice/order item, or person.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">docx4j (from 2.5.0) contains a mechanism for processing conditional content controls and repeats.  See </w:t></w:r><w:hyperlink r:id="rId35" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>http://dev.plutext.org/svn/docx4j/trunk/docx4j/sample-docs/databinding/conventions.docx</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> for an explanation.</w:t></w:r></w:p><w:p><w:r><w:t>See also the docx4j sample ContentControlBindingExtensions.</w:t></w:r></w:p><w:p><w:r><w:t>You can use the content control toolkit to set up your bindings in the usual way.  For your repeats and conditionals, move the content of the w:dataBinding to the w:tag, as described in conventions.docx.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Tips and Tricks</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/></w:pPr><w:r><w:t>Work with the “Flat OPC XML Format”</w:t></w:r></w:p><w:p><w:r><w:t>When you want to look inside a docx document, it's a bit of a pain to have to unzip it to look at the relevant part.</w:t></w:r></w:p><w:p><w:r><w:t>There are 2 ways around this.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">One is </w:t></w:r><w:hyperlink r:id="rId36" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://www.codeplex.com/PackageExplorer</w:t></w:r></w:hyperlink><w:r><w:t>, which can unzip the docx, and pretty print a part.</w:t></w:r></w:p><w:p><w:r><w:t>Another is to save the docx as “Word XML document (*.xml)”.  This produces a single XML file, which you can open in an XML editor such as XPontus.</w:t></w:r></w:p><w:p><w:r><w:t>Docx4j can open Flat OPC XML files, and save to them.</w:t></w:r></w:p><w:p><w:r><w:lastRenderedPageBreak/><w:t>To open a Flat OPC XML file:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Command"/><w:ind w:left="0"/></w:pPr><w:r><w:tab/><w:t xml:space="preserve">WordprocessingMLPackage wordMLPackage = </w:t></w:r><w:r><w:br/></w:r><w:r><w:tab/></w:r><w:r><w:tab/><w:t>WordprocessingMLPackage.load(new java.io.File(inputfilepath));</w:t></w:r></w:p><w:p><w:r><w:t>To save as Flat OPC XML:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Command"/><w:ind w:left="0"/></w:pPr><w:r><w:tab/><w:t>wordMLPackage.save(new java.io.File(outputfilepath));</w:t></w:r></w:p><w:p><w:r><w:t>In both cases, the Flat OPC code will be used if and only if the file extension is “.xml”.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/></w:pPr></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/></w:pPr><w:r><w:t>Remember UnmarshalFromString</w:t></w:r></w:p><w:p><w:r><w:t>When you are manipulating docx documents, it is often useful to unmarshal snippets of XML (eg a String representing a paragraph to be inserted into the document).</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>For example, given:</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr></w:pPr><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t xml:space="preserve">w:p </w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t> </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupattributename"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="FF0000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>xmlns:w</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupattributevalue"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>="http://schemas.openxmlformats.org/wordprocessingml/2006/main"</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>    </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:r</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>        </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:t</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>Hello world</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:t</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>    </w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:r</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="000000"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&lt;/</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkuptagname"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="A31515"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>w:p</w:t></w:r><w:r><w:rPr><w:rStyle w:val="xmlmarkupbracket"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:color w:val="0000FF"/><w:sz w:val="17"/><w:szCs w:val="17"/></w:rPr><w:t>&gt;</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>you can simply:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>// Assuming String xml contains the XML above</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.docx4j.wml.P  para = XmlUtils.unmarshalString(xml);</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/></w:pPr><w:r><w:t>Cloning</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>To clone a JAXB object, use one of the following methods in XmlUtils:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">/** Clone this JAXB object, using default JAXBContext. */ </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">&lt;T&gt; T deepCopy(T value) </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/** Clone this JAXB object */</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">&lt;T&gt; T deepCopy(T value, JAXBContext jc) </w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading2"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/></w:rPr><w:t>@XmlRootElement</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Most commonly used objects have an </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:b/></w:rPr><w:t xml:space="preserve">@XmlRootElement </w:t></w:r><w:r><w:t xml:space="preserve">annotation, so they can be marshalled and unmarshalled.  </w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t xml:space="preserve">In some cases, you might find this annotation is missing.  </w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:lastRenderedPageBreak/><w:t xml:space="preserve">If you can't add the annotation to the jaxb source code, an alternative is to </w:t></w:r><w:r><w:rPr><w:u w:val="single"/></w:rPr><w:t>marshall</w:t></w:r><w:r><w:t xml:space="preserve"> it using code which is explicit about the resulting QName.  For example, XmlUtils contains:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>/** Marshal to a W3C document, for object</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">   </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F5FBF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>*  missing an @XmlRootElement annotation.  */</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>org.w3c.dom.Document marshaltoW3CDomDocument(Object o, JAXBContext jc,</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">      </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">String uri, String local, Class declaredType) </w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>You could use this like so:</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">CTFootnotes footnotes = </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:br/></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">        </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>wmlPackage.getMainDocumentPart().getFootnotesPart().getJaxbElement().getValue();</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>CTFtnEdn ftn = footnotes.getFootnote().get(1);</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="3F7F5F"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">// No @XmlRootElement on CTFtnEdn, so .. </w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">    </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>Document d = XmlUtils.marshaltoW3CDomDocument( ftn,</w:t></w:r></w:p><w:p><w:pPr><w:widowControl w:val="0"/><w:autoSpaceDE w:val="0"/><w:autoSpaceDN w:val="0"/><w:adjustRightInd w:val="0"/><w:spacing w:after="0" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">        </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">Context.jc, Namespaces.NS_WORD12, </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="2A00FF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>"footnote"</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>,  CTFtnEdn.</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">class </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t>);</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:t>If you need to unmarshal, you can use:</w:t></w:r></w:p><w:p><w:pPr><w:spacing w:before="100" w:beforeAutospacing="1" w:after="100" w:afterAutospacing="1" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="FFFFFF"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">  </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:b/><w:bCs/><w:color w:val="7F0055"/><w:sz w:val="18"/><w:szCs w:val="18"/><w:lang w:val="de-DE"/></w:rPr><w:t xml:space="preserve">public static </w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-style-span"/><w:rFonts w:ascii="Consolas" w:hAnsi="Consolas" w:cs="Courier New"/><w:color w:val="000000"/><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr><w:t>Object unmarshalString(String str, JAXBContext jc, Class declaredType)</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>The docx4j forum</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Free community support is available in the docx4j forum, at </w:t></w:r><w:hyperlink r:id="rId37" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://dev.plutext.org/forums/</w:t></w:r></w:hyperlink></w:p><w:p><w:r><w:t>This discussion is generally in English.  If you can volunteer to moderate a forum in another language (for example, French, Chinese, Spanish
), please let us know.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Other Support Options</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Trebuchet MS" w:hAnsi="Trebuchet MS"/><w:color w:val="000000"/><w:sz w:val="20"/></w:rPr></w:pPr><w:r><w:t xml:space="preserve">If the free community support available in the docx4j forum does not meet your needs, or you simply want to outsource some coding, you are welcome to purchase programming, consulting and priority support from </w:t></w:r><w:hyperlink r:id="rId38" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/><w:rFonts w:ascii="Trebuchet MS" w:hAnsi="Trebuchet MS"/><w:sz w:val="20"/></w:rPr><w:t>http://www.plutext.com/m/index.php/docx4j-support.html</w:t></w:r></w:hyperlink></w:p><w:p><w:r><w:t>By purchasing services from Plutext, you support the continued development of docx4j.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Roadmap</w:t></w:r></w:p><w:p><w:r><w:rPr><w:b/></w:rPr><w:t>Word 2010 support.</w:t></w:r><w:r><w:t xml:space="preserve"> Support for the new XML elements/schemas introduced with Word 2010, and for the compatibility mechanism. This is the main justification for the 3.0 label.</w:t></w:r></w:p><w:p><w:r><w:rPr><w:b/></w:rPr><w:t>HTML exporters:</w:t></w:r><w:r><w:t xml:space="preserve"> get rid of old ones; standardise on NG2. The idea is to remove any 'which should I use' confusion, and focus effort/know-how. </w:t></w:r></w:p><w:p><w:r><w:rPr><w:b/></w:rPr><w:lastRenderedPageBreak/><w:t>PDF exporters:</w:t></w:r><w:r><w:t xml:space="preserve"> standardise on viaXSLFO, and get rid of viaIText and viaHTML. As with HTML, the idea is to remove any 'which should I use' confusion, and focus effort/know-how. docx4j could produce XSL FO only, and rely on the user to have FOP or equivalent to actually produce the PDF. This will reduce dependencies, making docx4j lighter. The goal would be to remove the fop jar (2.8M), PDF renderer jar (1.6M), iText jar (1.1M), and core-renderer (1M).</w:t></w:r></w:p><w:p><w:r><w:rPr><w:b/></w:rPr><w:t>Font handling:</w:t></w:r><w:r><w:t xml:space="preserve"> remove the panose stuff, so we don't need a customised FOP jar. </w:t></w:r></w:p><w:p><w:r><w:rPr><w:b/></w:rPr><w:t>Layout model/intermediate format</w:t></w:r><w:r><w:t>: docx4j contains a DocumentModel, which could be further developed to support:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="20"/></w:numPr></w:pPr><w:r><w:t>Search/replace</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="20"/></w:numPr></w:pPr><w:r><w:t>Estimating page content</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="20"/></w:numPr></w:pPr><w:r><w:t>XSLT, by enclosing sections, lists</w:t></w:r></w:p><w:p><w:r><w:rPr><w:b/></w:rPr><w:t>Inserting OLE objects</w:t></w:r><w:r><w:t>: so spreadsheets, PDFs etc can be embedded.</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Colophon</w:t></w:r></w:p><w:p><w:r><w:t>This document was written in Word 2007, using:</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="21"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">XML pretty printed using </w:t></w:r><w:hyperlink r:id="rId39" w:history="1"><w:r><w:rPr><w:color w:val="0000FF"/><w:u w:val="single"/></w:rPr><w:t>http://www.softlion.com/webTools/XmlPrettyPrint/default.aspx</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve"> or Package Explorer</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="21"/></w:numPr></w:pPr><w:r><w:t xml:space="preserve">Java source code formatted using </w:t></w:r><w:hyperlink r:id="rId40" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>http://www.java2html.de</w:t></w:r></w:hyperlink></w:p><w:p><w:r><w:t>The PDF and HTML versions were generated using docx4j (PDF via XSL FO and FOP).</w:t></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading1"/><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:eastAsia="Times New Roman"/></w:rPr><w:t>Contacting Plutext</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Unless you have paid for support, general “How do I” type questions should be posted directly to the </w:t></w:r><w:hyperlink r:id="rId41" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>docx4j forum</w:t></w:r></w:hyperlink><w:r><w:t>.  Plutext may post to the forum any questions it receives by email which should have been directed to the forum.</w:t></w:r></w:p><w:p><w:r><w:t xml:space="preserve">Plutext can be contacted at either </w:t></w:r><w:hyperlink r:id="rId42" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>jason@plutext.org</w:t></w:r></w:hyperlink><w:r><w:t xml:space="preserve">, or </w:t></w:r><w:hyperlink r:id="rId43" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>jharrop@plutext.com</w:t></w:r></w:hyperlink></w:p><w:p/><w:sectPr><w:footerReference w:type="default" r:id="rId44"/><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0"/><w:cols w:space="708"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/footer1.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"><pkg:xmlData><w:ftr xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:sdt><w:sdtPr><w:id w:val="349237360"/><w:docPartObj><w:docPartGallery w:val="Page Numbers (Bottom of Page)"/><w:docPartUnique/></w:docPartObj></w:sdtPr><w:sdtContent><w:p><w:pPr><w:pStyle w:val="Footer"/><w:jc w:val="center"/></w:pPr><w:fldSimple w:instr=" PAGE   \* MERGEFORMAT "><w:r><w:rPr><w:noProof/></w:rPr><w:t>9</w:t></w:r></w:fldSimple></w:p></w:sdtContent></w:sdt><w:p><w:pPr><w:pStyle w:val="Footer"/></w:pPr></w:p></w:ftr></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/endnotes.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml"><pkg:xmlData><w:endnotes xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:endnote w:type="separator" w:id="-1"><w:p><w:pPr><w:spacing w:after="0" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:separator/></w:r></w:p></w:endnote><w:endnote w:type="continuationSeparator" w:id="0"><w:p><w:pPr><w:spacing w:after="0" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:continuationSeparator/></w:r></w:p></w:endnote></w:endnotes></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/_rels/footnotes.xml.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="http://forums.java.net/jive/thread.jspa?threadID=411" TargetMode="External"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/footnotes.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml"><pkg:xmlData><w:footnotes xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:footnote w:type="separator" w:id="-1"><w:p><w:pPr><w:spacing w:after="0" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:separator/></w:r></w:p></w:footnote><w:footnote w:type="continuationSeparator" w:id="0"><w:p><w:pPr><w:spacing w:after="0" w:line="240" w:lineRule="auto"/></w:pPr><w:r><w:continuationSeparator/></w:r></w:p></w:footnote><w:footnote w:id="1"><w:p><w:pPr><w:pStyle w:val="FootnoteText"/></w:pPr><w:r><w:rPr><w:rStyle w:val="FootnoteReference"/></w:rPr><w:footnoteRef/></w:r><w:r><w:t xml:space="preserve"> </w:t></w:r><w:hyperlink r:id="rId1" w:history="1"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>http://forums.java.net/jive/thread.jspa?threadID=411</w:t></w:r></w:hyperlink></w:p></w:footnote><w:footnote w:id="2"><w:p><w:pPr><w:pStyle w:val="FootnoteText"/></w:pPr><w:r><w:rPr><w:rStyle w:val="FootnoteReference"/></w:rPr><w:footnoteRef/></w:r><w:r><w:t xml:space="preserve"> If you get the error 'Access restriction: The type</w:t></w:r><w:r><w:rPr><w:rStyle w:val="apple-converted-space"/></w:rPr><w:t> </w:t></w:r><w:r><w:rPr><w:rStyle w:val="underline"/></w:rPr><w:t xml:space="preserve">is not accessible due to restriction on required library rt.jar' (perhaps using some combination of Eclipse 3.4 and/or JDK 6 update 10?), you need to go into the Build Path for the project, Libraries tab, select the JRE System Library, and add an access rule, "Accessible, **". </w:t></w:r></w:p></w:footnote></w:footnotes></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/theme/theme1.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.theme+xml"><pkg:xmlData><a:theme name="Office Theme" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="1F497D"/></a:dk2><a:lt2><a:srgbClr val="EEECE1"/></a:lt2><a:accent1><a:srgbClr val="4F81BD"/></a:accent1><a:accent2><a:srgbClr val="C0504D"/></a:accent2><a:accent3><a:srgbClr val="9BBB59"/></a:accent3><a:accent4><a:srgbClr val="8064A2"/></a:accent4><a:accent5><a:srgbClr val="4BACC6"/></a:accent5><a:accent6><a:srgbClr val="F79646"/></a:accent6><a:hlink><a:srgbClr val="0000FF"/></a:hlink><a:folHlink><a:srgbClr val="800080"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Cambria"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface=" ゎシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="宋䜓"/><a:font script="Hant" typeface="新现明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Angsana New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font sc