Решение С Открытым Исходным Кодом Для Автоматизации Отчетности

Разработчикам веб-сайтов и мобильных приложений часто приходится заниматься подготовкой PDF-страниц к печати или отправкой их клиентам по электронной почте.

PDF-файлы имеют полный контроль над тем, как текст и графика отображаются на странице.

К сожалению, библиотеки для создания динамически заполняемых PDF-файлов не включены в стандартный набор инструментов PHP, JS (Web), Java или Swift (Android и iOS соответственно).

В этой статье я хочу рассказать вам о решении с открытым исходным кодом для создания PDF-файлов.



Решение с открытым исходным кодом для автоматизации отчетности

ДжасперРепортс — это Java-библиотека с открытым исходным кодом для создания динамически заполняемых файлов.

Имеет множество инструментов для создания сложных форм отчетности, включая PDF, но доступны и другие форматы: RTF, DOCX, HTML, XLS, XLS, CSV и XML. Другими словами, достаточно разработать одну форму, сделать один макет — и вы сможете экспортировать ее в любой из вышеперечисленных форматов.

Существуют также хорошие библиотеки, такие как PDFLib (коммерческая версия) для PHP и ее версия с открытым исходным кодом PDFLib-Lite. Правда, библиотека достаточно дорогая, а облегченная версия распространяется только в исходном коде, и при установке ее в среду разработки это ограничение может стать проблемой.

PDFbox — еще одна Java-библиотека с открытым исходным кодом для работы с PDF-документами.

Он позволяет создавать новые PDF-документы, управлять существующими документами с возможностью извлечения из них контента.

Но у него нет пользовательского интерфейса (UI), в отличие от JasperReports. Я считаю, что JasperReports особенно полезен в крупных проектах, связанных с отчетностью, и не только в формате PDF. В нем есть все необходимое для реализации в вашем проекте: простое создание сложных форм отчетности, пользовательский интерфейс для удобной верстки, серверное приложение и простая интеграция с фронтальной.

В этой статье я затрону следующие темы:

  • Установка среды разработки и серверного приложения.

  • Создайте PDF-файл, автоматически заполняемый из базы данных.

  • Интеграция серверного приложения с интерфейсом для получения сгенерированного PDF-файла.

Чтобы начать использовать JasperReports в своем проекте, вам необходимо скачать два приложения: JaspersoftStudio — далее будем называть его рабочая обстановка - и JasperServer - мы позвоним серверное приложение .

Джасперсофт Студия — среда разработки на базе Eclipse со встроенной Java-библиотекой JasperReports, в которой разрабатываются динамические или статические PDF-файлы: например, билеты, квитанции, контракты, аналитические диаграммы и другие.

Джасперсервер — это серверное приложение, в котором файлы развертываются и сохраняются из JaspersoftStudio. Доступ к ним можно получить через мобильное или веб-приложение.

JasperServer имеет пользовательский интерфейс, с его помощью вы можете просматривать отчеты, создавать учетные записи для разных пользователей и предоставлять им соответствующий доступ.

Вы также можете настроить рассылку новостей по электронной почте (Планировщик).



Настройка рабочей среды и серверного приложения

Загрузить и установить приложения можно по ссылкам выше.

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

Серверы → Создать подключение к серверу JasperReports → Укажите предпочитаемое имя сервера, URL-адрес , логин и пароль.

Нажмите Тестовое соединение чтобы проверить, установлено ли соединение с сервером.

Если вы видите надпись Успешный - Давайте двигаться дальше.



Решение с открытым исходным кодом для автоматизации отчетности



Создайте динамически заполняемый PDF-файл и опубликуйте его.

Мы установили среду разработки, сервер и установили связь между ними.

Теперь создадим примитивный динамически заполняемый PDF-файл, который при запуске (генерации) будет брать данные из PostgreSQL, и разворачивать их в серверном приложении.

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

Затем мы приступим к разработке нашего первого PDF-файла.

Адаптеры данных → Создать адаптер данных → Соединение JDBS с базой данных и укажите детали подключения:

  1. JDBC-драйвер - PostgreSQL (org.postgresql.Driver).

    Если у вас нет драйвера для вашей СУБД, вы можете установить необходимый драйвер на вкладке Driver Classpath.

  2. URL-адрес JDBC — он состоит из хоста, порта и имени базы данных.

  3. Имя пользователя И пароль — logpass от вашей учетной записи СУБД.



Решение с открытым исходным кодом для автоматизации отчетности

Нажимаем на уже знакомую нам кнопку Тест и при успешном подключении к базе данных - Заканчивать .

Из этой базы PDF будет заполнен в рабочей среде.

Поскольку мы планируем развернуть наш первый PDF-файл на сервере, давайте подключим тот же источник данных к серверному приложению: Источники данных → Добавить ресурс → Источник данных и повторите все с пункта выше.

Теперь вы можете приступить к созданию PDF-файла.

Исходники в JasperReports хранятся в формате JRXML — это XML с жестко зашитыми тегами и атрибутами, с которыми работает API JasperReports. Нажмите Файл → Создать → Отчет Jasper → Пустой A4 → Укажите имя файла JRXML → Готово.

.



Решение с открытым исходным кодом для автоматизации отчетности

После создания нового проекта вы увидите следующую картину:

Решение с открытым исходным кодом для автоматизации отчетности

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

Подробнее об этом вы можете прочитать в документация .

Нажав на Source вы увидите структуру этих блоков:

   

<Эxml version="1.0" encoding="UTF-8"?> <jasperReport

Теги: #открытый код #java #разработка электронной коммерции #ИТ-статистика #отдых #pdf #jasperreports #ireport #reports
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.