这是正确的 Open Office XML 吗?

Is this correct Open Office XML?

        <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <?mso-application progid="Word.Document"?>
    <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="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="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png" />
                </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 mc:Ignorable="w14 w15 wp14" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mc="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:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" 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:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">
                    <w:body>
                        <w:p w:rsidR="00AE3E50" w:rsidRDefault="00DE2072">
                            <w:r>
                                <w:drawing>
                                    <wp:inline distT="0" distB="0" distL="0" distR="0">
                                        <wp:extent cx="2194560" cy="1463040" />
                                        <wp:docPr id="1" name="My Video" />
                                        <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="1" name="" />
                                                        <pic:cNvPicPr />
                                                    </pic:nvPicPr>
                                                    <pic:blipFill>
                                                        <a:blip r:embed="rId2">
                                                            <a:extLst>
                                                                <a:ext uri="{28A0092B-C50C-407E-A947-70E740481C1C}">
                                                                    <a14:useLocalDpi val="0" xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main" />
                                                                </a:ext>
                                                                <a:ext uri="{C809E66F-F1BF-436E-b5F7-EEA9579F0CBA}">
                                                                    <wp15:webVideoPr embeddedHtml="&lt;iframe width=&quot;800&quot; height=&quot;600&quot; src=&quot;http://www.youtube.com/embed/qk51u8-4uo4&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;" w="800" h="600" xmlns:wp15="http://schemas.microsoft.com/office/word/2012/wordprocessingDrawing" />
                                                                </a:ext>
                                                            </a:extLst>
                                                        </a:blip>
                                                        <a:stretch>
                                                            <a:fillRect />
                                                        </a:stretch>
                                                    </pic:blipFill>
                                                    <pic:spPr>
                                                        <a:xfrm>
                                                            <a:off x="0" y="0" />
                                                            <a:ext cx="2194560" cy="1463040" />
                                                        </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>
            </pkg:xmlData>
        </pkg:part>
        <pkg:part pkg:name="/word/media/image1.png" pkg:contentType="image/png" pkg:compression="store">
            <pkg:binaryData>
                iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAHN6w8ZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
                jwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOxAAADsQBlSsO
                GwAAAAxJREFUGFdjYBgYAAAAeAABoRR6NAAAAABJRU5ErkJggg==
            </pkg:binaryData>
        </pkg:part>
    </pkg:package>

我不确定以上一个是否正确,但在使用编程添加到 MS word 时它一直给我错误 "Invalid format"”。 错误是 错误信息:指定数据对象的格式无效。 错误代码:2006

这是插入代码的 buttonw 的点击事件...

Office.context.document.setSelectedDataAsync
(
    xmlCode,
    { coercionType: "ooxml" }, 
    function (result)
    {
        console.log("test");
    }
);

变量 xmlCode 由作为字符串数据的 ooxml 代码组成。

我不完全确定 OOXML 数据应该是一个字符串。

Writing data from apps to Office documents 建议您应该使用 CustomXmlNode 对象:

In the event that you cannot insert content through any of the above methods, and if you are in Word 2013, you can directly alter the structure of the document by inserting OOXML nodes. This gets complicated fast—refer to the Apps for Office CustomXmlNode APIs for more information.

(我特别喜欢 "this gets complicated fast"...使用 API 确实让我很兴奋!)

现在已经解决了... 我犯的错误是,我将 ooxml 代码放在 <textarea> html 元素中。因此,当它在浏览器中呈现时,html 编码的 iframe 代码被转换为 HTML 标签,这导致了问题。我更新了我的代码,从 <textarea> 中删除了 ooxml 代码并将其作为字符串直接放置到变量 中,问题就解决了。

现在,我可以使用 office.js

嵌入视频