diff --git a/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java b/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java index 8e2de556fb7183b87a0ae33a90497fa08bccf5c3..37a59fd576651cca99f2bd6f3b280cc852a92214 100644 --- a/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java +++ b/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java @@ -1120,7 +1120,7 @@ public class OpenXMLDocument { //picture information Node nvPicPrEl = picEl.appendChild(document.createElement("pic:nvPicPr")); Element cNvPrEl = (Element)nvPicPrEl.appendChild(document.createElement("pic:cNvPr")); - cNvPrEl.setAttribute("id", "0"); + cNvPrEl.setAttribute("id", generateSimpleId()); cNvPrEl.setAttribute("name", filename); Node cNvPicPrEl = nvPicPrEl.appendChild(document.createElement("pic:cNvPicPr")); Element picLocksEl = (Element)cNvPicPrEl.appendChild(document.createElement("a:picLocks")); @@ -1196,7 +1196,7 @@ public class OpenXMLDocument { //picture information Node nvPicPrEl = picEl.appendChild(document.createElement("pic:nvPicPr")); Element cNvPrEl = (Element)nvPicPrEl.appendChild(document.createElement("pic:cNvPr")); - cNvPrEl.setAttribute("id", "0"); + cNvPrEl.setAttribute("id", generateSimpleId()); cNvPrEl.setAttribute("name", filename); Node cNvPicPrEl = nvPicPrEl.appendChild(document.createElement("pic:cNvPicPr")); Element picLocksEl = (Element)cNvPicPrEl.appendChild(document.createElement("a:picLocks")); @@ -1293,8 +1293,11 @@ public class OpenXMLDocument { DocReference backgroundImageRef = registerImage(backgroundImage); OpenXMLSize emuSize = backgroundImageRef.getEmuSize(); - Element drawingEl = document.createElement("w:drawing"); - + Element alternateContentEl = document.createElement("mc:AlternateContent"); + Element choiceEl = (Element)alternateContentEl.appendChild(document.createElement("mc:Choice")); + choiceEl.setAttribute("Requires", "wpg"); + Element drawingEl = (Element)choiceEl.appendChild(document.createElement("w:drawing")); + //anchor Element anchorEl = (Element)drawingEl.appendChild(document.createElement("wp:anchor")); anchorEl.setAttribute("distT", "0"); @@ -1405,7 +1408,7 @@ public class OpenXMLDocument { appendGraphicElementEl(grpSpEl, emuSize, element); } - return drawingEl; + return alternateContentEl; } /* @@ -1643,10 +1646,22 @@ public class OpenXMLDocument { return filename; } + /** + * Generate an identifier in the form of rId7. The number + * is unique. + * + * @return + */ protected String generateId() { return "rId" + (++currentId); } + /** + * Generate an identifier which is a number. The number is + * unique. + * + * @return + */ protected String generateSimpleId() { return Integer.toString(++currentId); }