insertInlinePictureFromBase64在Word2016中未定义

时间:2016-03-07 13:22:54

标签: office-js

我正在尝试使用以下方法将图像插入到word文档中: bodyObject.insertInlinePictureFromBase64,但我得到的错误是该方法未定义。 然而,枚举的其余方法here似乎可用,只有这一个缺失。如果这个真的不可用,我正在寻找一些许可吗?如果它现在不可用,那么它会在不久的将来出现吗?

2 个答案:

答案 0 :(得分:2)

这是一个很好的问题,奥斯卡感谢您的提问。我很确定您看到此问题的原因是因为在Word构建中您使用的Word 1.2要求集可能不受支持,您需要更新Word。为了检查这一点,请转到文件 - >帐户并确保您的构建是6568+(请查看下面的图片)。如果您没有6568.xxxx +确定更新您的Office。

enter image description here

现在,为了安全地使用此方法,您需要在运行时确保执行加载项的主机是否实际支持1.2要求集,并且通过" isSetSupported"方法。看这个例子:

 if (Office.context.requirements.isSetSupported("WordApi", "1.2")) {
         Word.run(function (context){
        var myBase64File = getDocumentAsBase64(); // assumes gets a docx file as base64
        context.document.body.insertFileFromBase64(myBase64File, "end");
        return context.sync();
    })
          .catch(function (myError) {
              //otherwise we handle the exception here!
              app.showNotification("Error", myError.message);
          })        }
    else {
        //if you reach this code it means that the Word executing this code does not yet support the 1.2 requirement set. in this case you can also insert a paragraph and then insert the document on the paragraph.

        app.showNotification("Error. This functionality requires Word with at least January update!! (check  builds 6568+)");   

    }

最后,要查看每个要求集支持哪些API,请参阅此page

我希望你发现这篇文章非常有帮助。

答案 1 :(得分:1)

...我还注意到你说你要插入一张图片。 insertFileFromBase64方法旨在插入整个Word文档。 (即docx文件)如果要插入图像,则需要使用Body.insertInlinePictureFromBase64(base64EncodedImage,insertLocation)方法。 go here for reference 这也是1.2要求集的一部分。