2017-04-27 51 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

相關問題