В отчёте формируются две TfrxReportPage. На первой странице выводятся данные для лицевой стороны листа, на второй - для обратной. Для печати в дуплексе необходимо выводить поочерёдно лицевую и обратную сторону. Как это можно реализовать?
Question: В отчёте формируются две TfrxReportPage. На первой странице выводятся данные для лицевой стороны листа, на второй - для обратной. Для печати в дуплексе необходимо выводить поочерёдно лицевую и обратную сторону. Как это можно реализовать?
Answer:
Вы можете пересортировать страницы превью после формирования отчёта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var i, j: integer; page : TfrxReportPage; begin frxReport1.PrepareReport(); j := frxReport1.PreviewPages.Count div 2; page := TfrxReportPage.Create(nil); for i := 0 to j - 2 do begin page.AssignAll(frxReport1.PreviewPages.Page[j + i]); frxReport1.PreviewPages.AddEmptyPage(i * 2 + 1); frxReport1.PreviewPages.ModifyPage(i * 2 + 1, page); frxReport1.PreviewPages.DeletePage(j + i + 1); end; page.Free; frxReport1.ShowPreparedReport; end; |