В комментариях к статье «Создание PDF файла в Windows и Linux» читатели рассказали о использовании для создания документов в формате PDF генератора отчетов FastReport. У меня уже был подобный опыт, и я даже писал об этом 10 лет тому назад. Сейчас я не стал приводить пример с FastReport, так как моя статья была написана еще до выхода FastReport FMX версии 2.8, в которой была добавлена поддержка FmxLinux.
Сегодня я сделал несколько первых экспериментов с FastReport FMX под Ubuntu Desktop 20.04. Он действительно работает под Linux! Запускать мой тест экспорта в PDF я решил, как и в прошлой статье, не под Ubuntu Desktop, а под Ubuntu Server.
Беглый взгляд на исходный текст модуля FMX.frxExportPDF позволяет сделать вывод, что класс TfrxPDFExport рассчитан на экспорт наследников класса TfrxView. Класс TfrxView является базовым для объектов, которые можно разместить на странице шаблона FastReport. Это значит, что использовать TfrxPDFExport отдельно от генератора отчетов не получится.
Отчеты FastReport (Печать данных БД)
Сделаем тестовый шаблон для FastReport (для этого я воспользовался демо-программой из инсталлятора FastReport).
И напишем небольшую программу, которая загрузит тестовый шаблон, сгенерирует отчет и экспортирует его в файл формата PDF.
Проверяем ее работоспособность под Windows. Затем компилируем версию под Linux, запускаем на Ubuntu Server и получаем ошибку:
Не работает. Но зато мы узнали, что FastReport под Linux для графического интерфейса пользователя использует GTK 3. Устанавливаем GTK 3:
sudo apt-get install libgtk-3-dev
Запускаем программу и получаем еще больше ошибок:
Теперь FastReport хочет Window. Точнее X Window. Воспользуемся Xvfb (X virtual framebuffer). Xvfb – это виртуальный X11-сервер, который реализует поддержку протокола X Window и выполняет все графические операции в памяти без вывода на экран. С точки зрения GUI-клиента он ничем не отличается от обычного X11-сервера. Устанавливаем Xvfb:
sudo apt-get install xvfb
Запускаем программу с использованием Xvfb-сервера
xvfb-run ./frPdf
и получаем PDF-файл
Урок 5 Создание, экспорт и печать отчета (DELPHI FastReport) | Виктор Восонов
Для меня вывод очевиден. Если поставленная задача позволяет представить необходимый документ в виде шаблона, то вместо специальной библиотеки для создания документов в формате PDF, удобнее использовать генератор отчетов FastReport. Тем более, что теперь он кроссплатформенный и поддерживает Windows, Linux и MacOS.
Источник: it-blackcat.blogspot.com
Установка компонентов FastReport
Скачиваем дистрибутив с сайта разработчиков. Затем запускаем рекомпилятор «recompile.exe», он захочет, чтобы при его работе «Дельфи» была закрыта. Язык лучше выбирать английский, т.к. возможны потом глюки с отображением названий элементов.
Рис. 1. Рекомпилятор
Потом находим папку, которую он создал, что то типа «…LibD7», в ней находятся BPL -файлы. Для удобства их лучше перетащить поближе к «Дельфи», например, в папку «C:Program FilesBorlandDelphi7Lib FastReport 5».
Чтобы не было проблем нужно также в главном меню «Дельфи» перейти в раздел « Tools – Environment Options …» и на закладке « Library » добавить/выбрать путь к BPL -файлам « FastReport 5».
Рис. 2. Окно « Environment Options »
Далее нужно перейти в папку с BPL -файлами и перекликать их, откроется окно « Package ». В нем надо перейти в раздел « Options » и выбрать « Designtime and runtime ». После чего сначала нажать на кнопку « Compile », а потом на « Install ». Потом закрываем окно « Package » и на вопрос выбираем «Сохранить».
Рис. 3. Окно « Package »
После таких процедур, новые разделы с компонентами « FastReport » начнут появляться на панели инструментов.
Рис. 4. Панель инструментов
Источник: bd-subd.ru