Office.js формат HTML в ContentControl со встроенным CSS - PullRequest
0 голосов
/ 04 мая 2018

Я вставляю элемент управления содержимым следующим образом (пример ScriptLab):

$("#run").click(() => tryCatch(run));

var myHtml = '<div style="padding-left:2em; text-indent:-2em;">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</div>';

async function run() {
  await Word.run(async (context) => {
    var range = context.document.getSelection();
    var cc = range.insertContentControl();
    var ccRange = cc.insertHtml(myHtml, 'Replace');
    await context.sync();
  });
}

async function tryCatch(callback) {
  try {
    await callback();
  }
  catch (error) {
    OfficeHelpers.UI.notify(error);
    OfficeHelpers.Utilities.log(error);
  }
}

и ожидаемый визуальный вывод внутри Word будет таким: http://cssdeck.com/labs/ocplq2la (с висящим отступом). Однако встроенный css, похоже, игнорируется, и хотя текст правильно вставлен в элемент управления содержимым, в нем нет висящего отступа, как в приведенном примере.

Как правильно выполнить такой стиль с помощью Office.js? Это вообще возможно?

1 Ответ

0 голосов
/ 04 мая 2018

Существует известная ошибка со стилем в разметке, которая передается в insertHtml (). Обычно это можно решить, добавив в конце еще один элемент того же типа. Пожалуйста, попробуйте включить <div></div> в конце вашей разметки.

...