这是正确的Open Office XML吗?

时间:2016-04-13 09:22:40

标签: ms-word ms-office office365 openxml

        <?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字时,它一直给我错误“格式无效”。 错误是 错误消息:指定数据对象的格式无效。 错误代码:2006

这是插入代码的buttonw的click事件......

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

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

2 个答案:

答案 0 :(得分:6)

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

现在,我可以使用office.js嵌入视频

答案 1 :(得分:1)

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

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

  

如果您无法通过上述任何方法插入内容,并且如果您使用的是Word 2013,则可以通过插入OOXML节点直接更改文档的结构。快速复杂 - 请参阅Apps for Office CustomXmlNode APIs以获取更多信息。

(我特别喜欢“这快速复杂”......确实让我兴奋地使用那个API!)