logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • Статьи
  • Забыли пароль?
    • en
    • ru
    • pt
    • es
    • JP
    • ZH
  • Главная
  • /
  • Статьи
  • /
  • Как объединить несколько отчетов в один PDF файл в Delphi / Lazarus / С++ Builder
  • Как создать PDF из Delphi / C++Builder / Lazarus

    14 мая 2020 г.

    Довольно часто надо получить PDF-документ из приложения на Pascal - будь то Delphi или Lazarus.

    Подробнее
  • Как создать HTML/HTML5 Layered файл из Delphi / C++Builder / Lazarus.

    27 августа 2020 г.

    Вопрос "как сохранить из Delphi в HTML" "записать HTML 5 из Delphi" "сформировать HTML 5

    Подробнее
  • Как создать файл в Excel 97(2000, XP file) - XLS из Delphi / C++Builder / Lazarus?

    18 мая 2020 г.

    О, это вечная тема - сделать таблицу Эксель из Delphi.Таблицы Excel – сегодня один из

    Подробнее
  • Как создать файл в TEXT из Delphi / C++Builder / Lazarus?

    4 июня 2020 г.

    Файл формата TXT хранит в себе текстовые документы, информация в которых организована в виде строк.

    Подробнее
  • Как создать Microsoft PowerPoint 2007 XML из Delphi/C++Builder/Lazarus?

    27 июля 2020 г.

    Microsoft PowerPoint - программа подготовки презентаций и просмотра презентаций, являющаяся частью Microsoft Office и доступная

    Подробнее

Как объединить несколько отчетов в один PDF файл в Delphi / Lazarus / С++ Builder

3 сентября 2020 г.

Часто бывает нужно объединить несколько документов в один (например PDF). Это могут быть несколько глав документации, разделы каталогов и т.д. Строго говоря, это бывает нужно сделать не только для PDF, просто сам по себе формат не предполагает редактирования и “склеивания” без спецсредств, потому лучше бы его сразу “готовить правильно”.

Сегодня я расскажу, как это сделать в FastReport VCL и FMX. В нашем случае на входе будут несколько отчётов - а на выходе - один файл.

Итак, я полагаю, проект, использующий FastReport у нас уже есть, сами шаблоны подготовлены. В нашем примере это файлы, лежащие на диске, но ничего не мешает брать их из базы или каких-то ещё источников. Теперь осталось собрать из двух (или более) отчётов - один, но большой.

Для этого в FastReport есть средства, позволяющие “пристроить” новый отчет в дополнение к уже существующему. Метод TfrxReport.PrepareReport имеет один необязательный параметр ClearLastReport: Boolean, по умолчанию он равен True. Этот параметр определяет, надо ли очищать страницы ранее построенного отчета. Следующий пример показывает, как построить пакет из двух отчетов:

Pascal:
1
2
3
4
5
frxReport1.LoadFromFile('1.fr3');
frxReport1.PrepareReport;
frxReport1.LoadFromFile('2.fr3');
frxReport1.PrepareReport(False);
frxReport1.ShowPreparedReport;

 

C++:
1
2
3
4
5
frxReport1->LoadFromFile("1.fr3");
frxReport1->PrepareReport(true);
frxReport1->LoadFromFile("2.fr3");
frxReport1->PrepareReport(false);
frxReport1->ShowPreparedReport();

Мы загружаем первый отчет и строим его, не показывая на экране. Затем загружаем второй отчет в этот же объект TfrxReport и строим его с параметром ClearLastReport = False. При этом отчет добавляется к ранее построенному.

Предпоследние две строчки, очевидно, мы можем повторять с целью добавить ещё какие-то отчёты в наш “композитный комплексный отчёт”. И эта часть возможна только из кода.

А, когда мы все построили - можем увидеть объединенные отчеты в предпросмотре и через него легко сохранить в любой формат и место.

Сохранение в PDF формат объединенного отчета.

После того, как нам удалось совместить два отчета в один, просто экспортируем его в PDF формат (да в принципе, в любой формат), например, RTF-DOC-ODT или табличные не настолько проблематично объединить уже после экспорта, а для PDF это актуально Тут можно дать волю пользователю выбрать формат сохранения и настройки:

Кликаем в предпросмотре на значок сохранения.
Выберем нужный формат - PDF.

У нас высветилось окно с параметрами экспорта.

Настраиваем все, что нам требуется.

Подробнее о создании и настройке можно узнать в статье: 

А, когда закончили нажимаем ОК!


Ну или как-то так  “frxReport1.Export(frxPDFExport1);”

Подробнее параметры сохранения в различные форматы из кода Delphi, Lazarus, С++ Builder я расписывал в предыдущих статьях.

После создания можем открыть созданный документ. Открыв, увидим последовательное отображение наших отчетов в одном PDF документе.

Объединение двух отчетов PDF из Delphi, Lazarus, С++ Builder не так сложно, как казалось бы.

О продукте Скачать Купить
avatar
Michael Philippenko
Генеральный директор
VCL Export Lazarus PDF FastReport 6 Delphi

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • Онлайн поддержка
  • FAQ
  • Видео уроки
  • Форум
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • ВУЗам
  • Наша команда
  • Карьера
  • Контакты

© 1998-2021 ООО «Фаст Репортс»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой