2017-04-27 119 views
1

我有一个成功运行的脚本,它从SharePoint加载Word文件并将它们插入Word 2017(Office 365 Word本地客户端,不在线) 当前脚本读取备份这些文件使用Ajax和提取的base64文件,并使用是否有可能使用Office 2013 office api插入base64 Word文件

body.insertFileFromBase64(myBase64, end)

我现在需要扩展到支持Word 2013的功能(即使用Office.js而不是字的JavaScript API的)。因此,代码已更改为

Office.context.document.setSelectedDataAsync(file, someCoercionType)

我希望能够使用的

Office.context.document.setSelectedDataAsync(myBase64, {coercionType: Office.CoercionType.Ooxml}, function (

一个变种,但我得到一个错误回来“指定的数据对象的格式无效“,这是正确的,因为Office API假定base64文件是图像。

是否有可能在JavaScript中将Base64文件转换为XML?(在别处在我的代码解压缩的docx和提取书签,但仅从document.xml中缺乏所有格式和图像,页脚等)

回答

0

Base64是一个简单的二进制编码和一无所知底层内容类型。所以如果你的源代码内容是OOXML,解码它会让你回到OOXML。你不能做的是类型转换。例如,Base64编码的JPEG不能直接解码成BMP。要做到这一点,你需要先解码,然后使用其他工具从JPEG转换为BMP。

如果您正在寻找操纵或提取现有文档的内容,您可能需要查看Aspose.Words。 Aspose提供的工具可让您以编程方式使用Word文档(它们也有类似的工具可供其他文件类型使用)。使用这个,你可能能够提取你正在寻找的OOXML,然后你可以使用Office.js将它插入到Word中。

目前,唯一接受Base64编码内容的强制类型是Office.CoercionType.Image

相关问题