2017-02-05 3 views
0

Я использую Novacode DocX для создания документа Word (DocX) на C#. В какой-то момент кода у меня есть ссылка на объект абзаца, и я хотел бы знать, на какой странице этот пункт включен. К сожалению, нет параметра Pargraph.PageNumber или чего-то подобного.novacode docx найти номер страницы

Есть ли обходной путь для этого?

+0

Я не думаю, что это было бы возможно, так как информация вызова не включена внутри документа docx его можно вычислить только при рендеринге docx, и я не думаю, что Novacode знает, как визуализировать docx. – edi9999

+0

Я понимаю, что вы имеете в виду, спасибо за ваш ответ. Теперь я придумал способ имитировать одно и то же поведение, используя Оглавление (поскольку в нем используются заполнители для номеров страниц). Однако, когда я редактирую документ, ToC не обновляется автоматически. Вы знаете, можно ли использовать Novacode DocX для принудительного обновления ToC или создать новый, только с определенным уровнем заголовка? – Wouter

ответ

0

Чтобы создать таблицу контента, который вы можете использовать этот код:

DocX myDocument = DocX.Load(FilePath); 

TableOfContents ToC = fullReportDocument.InsertTableOfContents(
     title : "Your Title", 
     switches : TableOfContentsSwitches.O | TableOfContentsSwitches.H | TableOfContentsSwitches.Z | TableOfContentsSwitches.U, 
     headerStyle : null, 
     maxIncludeLevel : 2 
); 

maxIncludeLevel, вероятно, параметр, который вы хотите