繁体   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