OfficeJS удаляет заголовки при загрузке - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть простой кусок кода, который загружает заголовки, а затем изменяет в них текст. Недавно сообщалось о проблеме удаления заголовков. Я проследил, что это происходит при загрузке заголовков для этих документов, и кажется, что в опциях заголовка выбрано « Ссылка на предыдущий ». Я не уверен, почему это приведет к его удалению, так как код до этого момента не вносит изменений. Даже этот простой фрагмент вызывает ту же проблему.

Word.run(function (context) {
    var sections = context.document.sections;
    context.load(sections);
    return context.sync().then(function() {
        if (sections !== null) {
            var headers = [];

            for (var i = 0; i < sections.items.length; i++) {
                var header = sections.items[i].getHeader('primary');
                context.load(header);
                headers.push(header);
            }                
            context.sync().then(function() {
                // when you get here all headers are deleted.
            });
        }
    }).then(context.sync);
});

1 Ответ

0 голосов
/ 05 сентября 2018

После некоторого тестирования на самом деле происходит то, что параметр LinkToPrevious удаляется. Когда это происходит, содержимое исходного заголовка удаляется из этого заголовка, который ничего не оставляет.

Я мог бы определить это, чередуя настройки от секции к секции (вкл / выкл).

LinkToPrevious не поддерживается в API Office JS, который я могу найти, что может объяснить, почему этот параметр не соблюдается. Я считаю это ошибкой.

Единственная возможность обойти это, что мне приходит в голову, - это работать над Word Open XML для заголовков.

...