Как сделать экспорт нескольких отчетов в один PDF файл

08.01.2020

Темой для этой статьи послужил один из вопросов пользователей генератора отчетов List & Label на форуме тех. поддержки.

I need to create a package of documents into 1 PDF file. So far I am able to create individual PDF file but I am not sure how to combine them. Can LL21 do this or I need to find different method to do this outside LL engine?

Как вы поняли из вопроса, пользователь хочет получить один PDF файл на основе нескольких отчетов.

К сожалению, штатного решения в L&L для этого случая не предусмотрено.

Как правило, отчеты распространяются в популярных форматах данных. Например, в PDF, DOC, или XLS. И, если вам нужно передавать много отчетов одной партией, приходится делать экспорт каждого из них в нужный формат. С другой стороны, тем кто получит эти файлы, придется открыть каждый и распечатать. Гораздо удобнее было бы все отчеты поместить в один документ. Так и отправлять, и распечатывать проще.

Давайте рассмотрим, как в FastReport.Net можно реализовать эту функциональность. Формировать отчеты нужно из кода пользовательского приложения.

1
2
3
4
5
6
7
8
9
10
11
Report report = new Report();
 DataSet data = new DataSet();
 data.ReadXml("K:/My documents/nwind.xml");
 report.RegisterData(data);
 report.Load("K:/My documents/Master-Detail.frx");
 report.Prepare();
 report.Load("K:/My documents/Box.frx");
 report.Prepare(true);
 //report.ShowPrepared();
 FastReport.Export.Pdf.PDFExport exp = new FastReport.Export.Pdf.PDFExport();
 report.Export(exp, "K:/My documents/exp.pdf");

Идея очень проста. В один объект отчета, мы загружаем и строим последовательно несколько отчетов. В итоге, подготовленные отчеты копятся в одном объекте, а когда нам нужно, отображаем их (ShowPrepared) или сразу экспортируем (Export).

В результате получаем последовательное отображение отчетов в PDF документе:

Таким образом мы можете, к примеру, в цикле формировать все отчеты из определенной папки.

20 ноября 2024

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

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

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

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

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

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