Проверьте, если документ имеет несколько страниц - PullRequest
0 голосов
/ 17 мая 2018

В MigraDoc я знаю, что могу добавить ссылку на количество страниц в документ, используя AddNumPagesField, но можно ли определить, есть ли несколько страниц?

Методы AddPageField и AddNumPagesField не содержат никакой полезной информации.

В принципе, я хочу сделать что-то вроде:

if(/* document has multiple pages*/) {
    //do something here
}

1 Ответ

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

С MigraDoc страницы не существуют, пока документ не будет отображен.

MigraDoc не создает никаких страниц при рендеринге в файл RTF. Страницы там не существуют.

MigraDoc создает страницы при рендеринге в PDF.

AddPageField и AddNumPagesField являются заполнителями. Они остаются заполнителями при рендеринге в RTF, они будут заменены реальными значениями при создании PDF - их значения невозможно определить, пока документ MigraDoc все еще создается.

Что вы можете сделать: предположите наиболее вероятный случай (например, несколько страниц) и создайте документ. Если он содержит только одну страницу, откажитесь от него и создайте его снова для случая с одной страницей.

Или, возможно, с помощью PDFsharp измените файл PDF, созданный MigraDoc, по мере необходимости, добавив теперь содержимое, зависящее от количества страниц.

...