Использование свойства PrintOnPreviousPage с бесконечными страницами

18.08.2017

В этой статье я хочу рассмотреть свойство PrintOnPreviousPage объекта ReportPage. Как оно работает? В случае, если у вас две страницы в отчете, вы можете установить это свойство в true для второй страницы, и тогда, если при печати первой страницы осталось свободное место, объекты второй страницы, частично или полностью будут перенесены на первую. Таким образом можно экономить бумагу при печати отчетов или же просто улучшить вид отчета, если пусто место на странице вызывает у вас диссонанс. Все это прекрасно работает с обычными страницами отчета. Однако, если вы используете свойство UnlimitedHeight или UnlimitedWidth, то для того, чтобы страницы соединились нужно соблюсти некоторые ограничения:

  • Страницы должны иметь включенное свойство UnlimitedHeight или UnlimitedWidth;
  • Если обе страницы имеют включенное свойство UnlimitedHeight, то они должны иметь одинаковую ширину, либо включенное свойство UnlimitedWidth;
  • Для страницы, которая должна сливаться с предыдущей должно быть включено свойство PrintOnPreviousPage.

Если не соблюсти эти ограничения, слияния страниц не произойдет.

Функционал по слиянию безразмерных страниц стал доступен с версии 2017.1.13.

А теперь немного практики. Создаем отчет с двумя страницами:

И:

Страницы имеют одинаковую ширину 21см. Для обеих страниц включено свойство UnlimitedHeight. Для второй страницы включено свойство PrintOnPreviousPage.

Запускаем отчет:

Страницы соединились в одну. А теперь для одной из страниц изменим ширину листа с 21 на 22:

Страницы не соединились.

А теперь, включим для обеих страниц свойство UnlimitedWidth:

Страницы снова соединены. Для третьей страницы требования будут такими же, как и для второй. Если мы отключим у второй страницы свойство PrintOnPreviousPage, а у третьей оставим. То соединятся только вторая и третья страницы:

Таким образом, теперь можно использовать свойство PrintOnPreviousPage и для «безлимитных» страниц, что превращает отчет с разделенными по логике страницами в действительно одностраничный.

.NET FastReport .NET FastReport
26 октября 2026

TfrImageComboBox: выпадающий список с изображениями и текстовыми подписями в FastReport VCL

TfrImageComboBox из FastEditors VCL: выпадающий список с иконками и подписями для FastReport VCL. Свойства, события и примеры использования в Delphi.
26 октября 2026

Прогресс-бар в Delphi: компоненты TfrProgressBar и TfrxProgressBar из FastReport VCL

Разбираем компоненты TfrProgressBar и TfrxProgressBar из FastReport VCL: настройка шкалы прогресса, пороги и маркеры, привязка к данным и пример на Delphi.
23 октября 2026

FastGrid изнутри: объект View, колонки и события компонента сетки Delphi

Внутреннее устройство FastGrid: объект View, свойство Appearance, колонки, события и режимы работы с данными DB и Unbound в Delphi. Разбор на примере демо-проекта GridDemo.dpr.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»