簡體   English   中英

嘗試將圖像插入 wordML 時出錯

[英]Error while trying to insert image in to wordML

需要幫助。

我收到此錯誤

{"The xml has invalid content and cannot be constructed as an element.\r\nParameter name: outerXml"}

像這樣將構造的 xml 傳遞給 DocumentFormat.OpenXml.Office.Drawing.Drawing() 構造函數時

DocumentFormat.OpenXml.Office.Drawing.Drawing d = new DocumentFormat.OpenXml.Office.Drawing.Drawing(img);

這是傳入的xml

<w:drawing xmlns:w="http://schemas.openxmlformats.org/drawingml/2006/main">
                <wp:anchor distT="0" distB="0" distL="114300" distR="114300" simplePos="0" relativeHeight="251658240" behindDoc="0" locked="0" layoutInCell="1" allowOverlap="1" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing">
                  <wp:simplePos x="0" y="0"/>
                  <wp:positionH relativeFrom="column">
                    <wp:align>right</wp:align>
                  </wp:positionH>
                  <wp:positionV relativeFrom="paragraph">
                    <wp:align>top</wp:align>
                  </wp:positionV>
                  <wp:extent cx="400" cy="400"/>
                  <wp:effectExtent l="19050" t="0" r="0" b="0"/>
                  <wp:wrapSquare wrapText="bothSides"/>
                  <wp:docPr id="1" name="image"/>
                  <wp:cNvGraphicFramePr>
                    <a:graphicFrameLocks noChangeAspect="1" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
                  </wp:cNvGraphicFramePr>
                  <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
                    <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
                      <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
                        <pic:nvPicPr>
                          <pic:cNvPr id="0" name="image"/>
                          <pic:cNvPicPr>
                            <a:picLocks noChangeAspect="1" noChangeArrowheads="1"/>
                          </pic:cNvPicPr>
                        </pic:nvPicPr>
                        <pic:blipFill>
                          <a:blip r:embed="rIdImg4" cstate="print" xmlns:r="http://schemas.openxmlformats.org/drawingml/2006/relationships"/>
                          <a:stretch>
                            <a:fillRect/>
                          </a:stretch>
                        </pic:blipFill>
                        <pic:spPr bwMode="auto">
                          <a:xfrm>
                            <a:off x="0" y="0"/>
                            <a:ext cx="400" cy="400"/>
                          </a:xfrm>
                          <a:prstGeom prst="rect">
                            <a:avLst/>
                          </a:prstGeom>
                          <a:noFill/>
                          <a:ln w="9525">
                            <a:noFill/>
                            <a:miter lim="800000"/>
                            <a:headEnd/>
                            <a:tailEnd/>
                          </a:ln>
                        </pic:spPr>
                      </pic:pic>
                    </a:graphicData>
                  </a:graphic>
                </wp:anchor>
              </w:drawing>

謝謝,基留

您從 XML 創建的元素位於 Drawing 命名空間內。 (經常看到使用“a:”前綴。)從 OuterXml 字符串創建這些元素時,根節點必須與正在創建的對象的類型相對應。 (在本例中為 DocumentFormat.OpenXml.Office.Drawing.Drawing)。 這里的問題是 XML 根節點用於不同的元素。

嘗試創建 DocumentFormat.OpenXml.WordProcessing.Drawing() 對象: http : //msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.drawing.aspx

找到合適的級別來注入drawingML 可能很困難。 拿出OpenXmlSDK工具看看在哪些節點下有效。 祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM