2

在 Word 2013(桌面)和 office.js 中工作,我们看到一些围绕用户选择 ( GetSelectedDataAsync, SetSelectedDataAsync) 的功能,但没有任何东西可以让您查看整个 (OpenXML) 文档。我错过了什么吗?

4

2 回答 2

5

Office.context.document.getFileAsync将让您以 3 种格式选择整个文档:

  • 压缩:将 Office Open XML (OOXML) 格式的整个文档(.pptx 或 .docx)作为字节数组返回
  • pdf:以字节数组的形式返回 PDF 格式的整个文档
  • text:仅将文档的文本作为字符串返回。(仅限文字)

这是取自MSDN的示例:

var i = 0;
var slices = 0;

function getDocumentAsPDF() {

    Office.context.document.getFileAsync("pdf", { sliceSize: 2097152 }, function (result) {
        if (result.status == "succeeded") {
            // If the getFileAsync call succeeded, then
            // result.value will return a valid File Object.
            myFile = result.value;
            slices = myFile.sliceCount;
            document.getElementById("result").innerText = " File size:" + myFile.size + " #Slices: " + slices;

            // Iterate over the file slices.
            for (i = 0; i < slices; i++) {
                var slice = myFile.getSliceAsync(i, function (result) {
                    if (result.status == "succeeded") {
                        doSomethingWithChunk(result.value.data);
                        if (slices == i) // Means it's done traversing...
                        {
                            SendFileComplete();
                        }
                    }
                    else
                        document.getElementById("result").innerText = result.error.message;
                });
            }
            myFile.closeAsync();
        }
        else
            document.getElementById("result2").innerText = result.error.message;
    });
}
于 2015-02-26T13:39:35.850 回答
0

这不完全是您要求的(它只是文档的正文),但它帮助了我......所以我把它贴在这里,因为它是我在谷歌搜索我的问题时登陆的地方。

此处的文档:https ://dev.office.com/reference/add-ins/word/body 建议 getOoxml() 将为您提供文档的正文。还有属性 text 将返回纯文本内容。

这个 API 的工作方式并不太直接 - 但是在线文档中的示例确实有助于入门。

一切顺利,

于 2017-02-23T17:33:52.113 回答