是否可以将内容控件插入到Word文档中,然后获取内容控件的某种句柄或上下文,然后将HTML插入其中?
基本上,我尝试使用Office JavaScript API创建的方案是,根据用户的请求,插入富文本内容控件,然后使用HTML填充它。
我可以使用http://social.msdn.microsoft.com/Forums/en-US/appsforoffice/thread/8c4809c7-743c-4388-aef0-bc6a6855c882中建议的方法从JavaScript API插入内容控件。它需要一个oercml的强制类型。但是,我希望用ooxml填充的内容是基于HTML的。因此,当我尝试使用以下ooxml插入内容控件时:
...Boiler ooxml to create content control...
<w:r><w:t><h1>Test header</h1><h2>Test subheader</h2><p>Test paragraph text</p></w:t></w:r>
插入尝试失败。我假设那是因为你在使用oercml的coercionType将它插入文档时不能混合使用ooxml和html。
由于这种ooxml方法是您可以插入内容控件的唯一方法,因此如何使用HTML文本设置内容控件?我查看了http://msdn.microsoft.com/en-us/library/fp142295.aspx处的Document对象帮助内容,但我不确定如何仍然可以执行此操作,或者它是否可行。
由于
答案 0 :(得分:1)
虽然我没有用JS试过 - 但它应该是可能的。
尝试添加altChunk元素,它可以包含其他打开的xml或html。我成功地使用了几次。
关于此问题的一些链接: http://blogs.msdn.com/b/brian_jones/archive/2008/12/08/the-easy-way-to-assemble-multiple-word-documents.aspx http://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx
但是,你应该尝试使用“strict”-xml - 否则可能无法实现上述目标。我刚刚发现this example(它是德语,但也应该有英文版本)。其中使用的是coercionType:
Office.context.document.setSelectedDataAsync(
booksToRead,
{ coercionType: Office.CoercionType.Html },
function (result) {
// Access the results, if necessary.
});
这也可以解决问题。