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

    14 мая 2020 г.

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

    Подробнее
  • Как в Delphi / Lazarus / С++ Builder получить отчет из нескольких Баз Данных

    11 декабря 2020 г.

    Скромно отмечу, что FastReport VCL является одним из самых удобных компонентов генерации отчетности любой сложности.

    Подробнее
  • Как создать штрих-коды CODE 39 и CODE 39 Extended с помощью Delphi / Lazarus

    23 октября 2020 г.

    CODE 39 - это штрих-код, разработанный Intermec Corporation в 1975 году, который может содержать в

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

    4 июня 2020 г.

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

    Подробнее
  • Создаём штрих-код ITF в Delphi / Lazarus / С++ Builder

    11 ноября 2020 г.

    Немного теории о штрих-кодах Сложно представить нашу жизнь без штрих-кодов особенно сейчас, когда мы их встречаем

    Подробнее

Как объединить несколько отчетов в один 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
Генеральный директор
Fast Reports Team: Michae Philippenko - VP at Fast Reports
VCL Export Lazarus PDF FastReport 6 Delphi

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

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

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