Pregunta

¿Usted sabe qué información básica debe incluir un párrafo (<w:p/>) en document.xml dentro de un documento * .docx, que especifica una imagen? Yo sé que debe ser:

<a:blip r:embed="rId4" /> 

especificando el identificador de relación, pero ¿qué más? Es muy difícil de encontrar en Google y experimentando con cortar las etiquetas de un documento preparado o lectura de la memoria tarda mucho tiempo.

Un ejemplo con todas las etiquetas requerida sería muy apreciada.

¿Fue útil?

Solución

Palabra es bastante exigente en relación con la entrada XML proporcionado. Para insertar una imagen, usted tiene que proporcionar bastante información. Aquí está un ejemplo sencillo:

document.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" 
            xmlns:v="urn:schemas-microsoft-com:vml" 
            xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" 
            xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    <w:p>
      <w:r>
        <w:drawing>
          <wp:inline distT="0" distB="0" distL="0" distR="0">
            <wp:extent cx="5943600" cy="3717290"/>
            <wp:docPr id="1" name="Picture 0" descr="vlcsnap-325726.png"/>
            <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="myImage.png"/>
                    <pic:cNvPicPr/>
                  </pic:nvPicPr>
                  <pic:blipFill>
                    <a:blip r:embed="rId4"/>
                    <a:stretch>
                      <a:fillRect/>
                    </a:stretch>
                  </pic:blipFill>
                  <pic:spPr>
                    <a:xfrm>
                      <a:off x="0" y="0"/>
                      <a:ext cx="5943600" cy="3717290"/>
                    </a:xfrm>
                    <a:prstGeom prst="rect">
                      <a:avLst/>
                    </a:prstGeom>
                  </pic:spPr>
                </pic:pic>
              </a:graphicData>
            </a:graphic>
          </wp:inline>
        </w:drawing>
      </w:r>
    </w:p>
  </w:body>
</w:document>

document.xml.rels

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <!-- other relationships go here -->
  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/>
</Relationships>

Y, por supuesto, la imagen debe ser añadido al paquete en la ubicación correcta (media / image1.png)

Dado que todo esto es bastante complicado Yo te recomiendo utilizar el SDK OpenXML 2.0 proporcionados por Microsoft u otra biblioteca, por ejemplo, OpenXML4J . Estas bibliotecas, especialmente el de Microsoft pueden hacer su trabajo mucho más fácil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top