Работая в Word 2013 (настольный компьютер) и office.js, мы видим некоторую функциональность, связанную с выбором пользователя (GetSelectedDataAsync
, SetSelectedDataAsync
), но ничего, что могло бы позволить вам просмотреть весь документ (OpenXML). Я что-то упускаю?
Получить весь документ Word в приложении панели задач / office.js
comment
У меня тот же запрос, API, похоже, не позволяет этого.
- person AHMED EL-HAROUNY   schedule 23.01.2015
Ответы (2)
Office.context.document.getFileAsync
позволит вам получить весь документ в одном из 3-х форматов:
- сжатый: возвращает весь документ (.pptx или .docx) в формате Office Open XML (OOXML) в виде массива байтов.
- 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;
});
}
person
Alex Sanséau
schedule
26.02.2015
Это не совсем то, о чем вы просили (это только тело документа), но это помогло мне... Поэтому я размещаю его здесь, поскольку именно здесь я оказался, когда искал свою проблему в Google.
Документация здесь: https://dev.office.com/reference/add-ins/word/body предполагает, что getOoxml() даст вам тело документа. Существует также текст свойства, который вернет вам текстовое содержимое.
То, как работает этот API, не слишком прямолинейно, однако примеры в онлайн-документе действительно помогают начать работу.
Всего наилучшего,
person
Leo
schedule
23.02.2017