Как вставить содержимое файла в формате Rich Text Format (.rtf) в документ Word с помощью Word javascript API

Я использую word javaScript Api для разработки надстройки Word, мне нужно загрузить файл с сервера и вставить содержимое в документ, в настоящее время файлы .docx работают нормально и вставляются в документ, но когда я пытаюсь вставить файл . Содержимое файла формата rtf в документ, слово выдает следующую ошибку:

Error: {"name":"OfficeExtension.Error","code":"RunMustReturnPromise","message":"The batch function passed to the \".run\" method didn't return a promise. The function must return a promise, so that any automatically-tracked objects can be released at the completion of the batch operation. Typically, you return a promise by returning the response from \"context.sync()\".","traceMessages":[],"debugInfo":{},"stack":"RunMustReturnPromise: The batch function passed to the \".run\" method didn't return a promise. The function must return a promise, so that any automatically-tracked objects can be released at the completion of the batch operation. Typically, you return a promise by returning the response from \"context.sync()\".\n   at t.throwError (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:233250)\n   at Anonymous function (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:202009)\n   at yi (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.0

Я использую приведенный ниже код для вставки содержимого:

range.insertFileFromBase64(myBase64, Word.InsertLocation.start);

Пожалуйста, посоветуйте, как я могу вставить содержимое файла формата RTF в документ Word. Спасибо.


person Amit    schedule 16.03.2017    source источник
comment
Не могли бы вы опубликовать полный фрагмент кода?   -  person Michael Zlatkovsky - Microsoft    schedule 17.03.2017
comment
Я изучаю это. Между тем, файлы RTF, как правило, намного больше, чем эквивалентные файлы docx, и проблемы с синхронизацией могут повлиять на то, сможете ли вы избежать наказания за неправильную обработку вызовов context.sync(). Убедитесь, что Word.run, в котором вы вызываете insertFileFromBase64, имеет return context.sync() где-то после вызова insertFileFromBase64. Не забывайте, что возврат ключевого слова. Это должно быть там.   -  person Rick Kirkham    schedule 17.03.2017
comment
@RickKirkham-Microsoft Спасибо, я пропустил возвращение.   -  person Amit    schedule 17.03.2017


Ответы (1)


Вставка RTF-файлов сегодня не поддерживается в API, попробуйте форматы docx. Кстати, ваша ошибка, похоже, заключается в том, что вы не вызываете return context.sync().

person Juan Balmori    schedule 16.03.2017
comment
Спасибо, я пропустил return перед context.sync. Есть ли способ прочитать RTF и преобразовать RTF в DOCX или какие-либо предложения, как я могу управлять файлами RTF? - person Amit; 17.03.2017