Определить частичные атрибуты стиля шрифта текста в Word API - PullRequest
0 голосов
/ 16 октября 2018

Есть ли способ определить частичный стиль шрифта диапазонов в Word?

В следующем примере кода показан стиль шрифта выделения

$("#test1").click(() => tryCatch(test1));
async function test1() {
  await Word.run(async(context) => {
    console.log('run test1');
    var thisDocument = context.document;
    var range = thisDocument.getSelection();
    range.load('style');
    range.load('font');
    await context.sync();

    console.log(range.font.toJSON());

  });
}

с выводом на консоль:

bold 
null 

color 
"#222222" 

doubleStrikeThrough 
false 

highlightColor 
null 

...

Если выделение содержит частичное форматирование, как здесь:

He lloWor ld

атрибут, выделенный жирным шрифтом, показывает null,Есть ли способ прочитать частичное выделение или перебрать каждый символ, чтобы определить правильное форматирование?

1 Ответ

0 голосов
/ 17 октября 2018

Это было бы сложно сделать.Вот некоторые мысли, пока кто-нибудь не сможет дать лучший ответ.

Любая строка должна быть объектом диапазона, прежде чем вы сможете прочитать ее форматирование.Вы можете искать в документе строку, но нет API, где можно искать строки с определенным форматированием;и нет возможности искать места, где меняется форматирование.

Если бы вы могли получить ссылку на первую букву исходной строки в качестве объекта Range, то вы могли бы попытаться использовать Range.getNextTextRange (или Range.getNextTextRangeOrNullObject), чтобы пройти через каждыйписьмо.Первый параметр этого метода принимает массив строк, чтобы отметить возможную конечную точку «следующего» диапазона, который вы ищете.Посмотрите, что произойдет, если вы поместите каждый символ в алфавите и каждый знак пунктуации в виде строки в этом массиве.Если это поможет вам пройти каждую букву, вы можете прочитать свойства форматирования каждого из этих диапазонов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...