Как распечатать несколько раз одну страницу отчета

24.02.2022

Как распечатать несколько раз одну страницу отчета

Если вам нужно распечатать отдельные страницы отчета в нескольких экземплярах, то придется прибегнуть к кодированию. Вы можете настроить свойства печати из кода пользовательского приложения, а также вручную в диалоговом окне печати. А это позволяет выбрать конкретные страницы отчета и задать количество копий. Однако, есть нюанс - вы можете задать количество копий только для всех печатаемых страниц. Поэтому, чтобы достичь поставленной цели, нам придется разбить процедуру печати на этапы.

Допустим вам нужно напечатать вторую страницу отчета 3 раза, а все остальные - 1. Значит мы разобьем печать на два этапа: печать второй страницы и печать остальных страниц.

//Создали отчет
 var report = new Report();
//Создали источник данных
DataSet data = new DataSet();
//Загрузили данные из файла
 data.ReadXml("~/nwind.xml");
//Зарегистрировали источник данных в отчете
 report.RegisterData(data, "NorthWind");
//Загрузили шаблон отчета
 report.Load("~/Master-Detail.frx");
 
 //Подготовили отчет
 report.Prepare();
 //Выбираем вторую страницу отчета
 report.PrintSettings.PageNumbers = "2";
 //Настраиваем количество копий
 report.PrintSettings.Copies = 3;
 //Скрываем диалоговое окно печати
 report.PrintSettings.ShowDialog = false;
 //Отправляем отчет на печать
 report.Print();
 //Повторяем то же самое для остальных страниц отчета
 report.PrintSettings.PageNumbers = "1, 3, 4, 5";
 report.PrintSettings.Copies = 1;
 report.Print();

Таким образом, мы можем печатать нужные страницы отчета отдельно от всех остальных. Единственное неудобство приведенного выше кода - распечатанные страницы будут не по порядку. Если нужно все же по порядку, то придется разделять процедуру печати отчета на 3 этапа: печать первой страницы, печать второй страницы, печать остальных страниц отчета.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.