DocumentPaginator
довольно сложно. Вот несколько шагов, которые помогли мне правильно оценить размеры страниц и обеспечить отсутствие пустых страниц:
Переопределите два свойства IsPageCountValid
и PageCount
как:
public override bool IsPageCountValid
{
get { return true; }
}
и
public override int PageCount
{
get
{
if (pageCount == 0)
{
this.ComputePageCount();
}
return pageCount;
}
}
Используйте приватную функцию ComputePageCount для расчета размера страницы (разбивая вашу страницу на точное количество страниц в соответствии с указанным размером страницы).
Ключ ко всем вычислительным возможностям подсчета страниц, установленный здесь
IsPageCountValid
= правда
, который всегда будет гарантировать, что Paginator использует ваши переопределенные методы для расчета количества страниц.
Один размер страницы можно указать, установив свойство DocumentPaginator.PageSize.
Учитывать все колонтитулы на каждой странице. В основном пустые / меньшие страницы являются результатом неправильных расчетов PageCount.