Автоматически обновлять номера страниц для оглавления в DOCX, сгенерированном с помощью OpenXML SDK

Мне удалось успешно создать текстовый документ (.docx) с помощью OpenXML SDK 2.5.

Можем ли мы напрямую обновить номера страниц в оглавлении сгенерированного документа с помощью OpenXML SDK. Я нашел несколько похожих запросов при переполнении стека.

[https://stackoverflow.com/questions/28348550/how-to-generate-table-of-contents-using-openxml-sdk-2-5]

[https://stackoverflow.com/questions/9762684/how-to-generate-table-of-contents-using-openxml-sdk-2-0/]

Один из способов — попросить пользователей щелкнуть «Да», чтобы обновить оглавление в модальном диалоговом окне, когда они открывают документ в первый раз. Есть ли способ избежать этого модального диалога и вмешательства пользователя, но при этом обновлять номера страниц при первом открытии документа?

Спасибо, Гаган


person Gags    schedule 05.02.2021    source источник


Ответы (1)


Поскольку номера страниц могут различаться в зависимости от того, как открывающее приложение отображает документ, я не думаю, что есть способ сделать это с помощью OpenXml-SDK.

Вы можете обновлять поля/содержание с помощью макроса или автоматизации: Как автоматически обновлять оглавление

person docsjoe    schedule 05.02.2021
comment
Я не хочу использовать автоматику. А для использования макроса мне нужен документ с поддержкой макросов с расширением docm'. Как мне это сделать в файле docx. - person Gags; 08.02.2021
comment
В этом случае, если вы не хотите рендерить документ самостоятельно, я полагаю, что вы используете какой-то сторонний инструмент (например, Aspose) для выполнения рендеринга. Возможно, будет плата за лицензию. - person docsjoe; 08.02.2021