Разработчикам веб-сайтов и мобильных приложений часто приходится заниматься подготовкой 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-файла.
Джасперсофт Студия — среда разработки на базе Eclipse со встроенной Java-библиотекой JasperReports, в которой разрабатываются динамические или статические PDF-файлы: например, билеты, квитанции, контракты, аналитические диаграммы и другие.
Джасперсервер — это серверное приложение, в котором файлы развертываются и сохраняются из JaspersoftStudio. Доступ к ним можно получить через мобильное или веб-приложение.
JasperServer имеет пользовательский интерфейс, с его помощью вы можете просматривать отчеты, создавать учетные записи для разных пользователей и предоставлять им соответствующий доступ.
Вы также можете настроить рассылку новостей по электронной почте (Планировщик).
Настройка рабочей среды и серверного приложения
Загрузить и установить приложения можно по ссылкам выше.После настройки двух приложений необходимо установить соединение производственной среды с серверным приложением.
Серверы → Создать подключение к серверу JasperReports → Укажите предпочитаемое имя сервера, URL-адрес , логин и пароль.
Нажмите Тестовое соединение чтобы проверить, установлено ли соединение с сервером.
Если вы видите надпись Успешный - Давайте двигаться дальше.
Создайте динамически заполняемый PDF-файл и опубликуйте его.
Мы установили среду разработки, сервер и установили связь между ними.
Теперь создадим примитивный динамически заполняемый PDF-файл, который при запуске (генерации) будет брать данные из PostgreSQL, и разворачивать их в серверном приложении.
Прежде всего, к рабочей среде следует прикрепить источник данных (в нашем случае PostgreSQL), из которого PDF будет брать данные.
Затем мы приступим к разработке нашего первого PDF-файла.
Адаптеры данных → Создать адаптер данных → Соединение JDBS с базой данных и укажите детали подключения:
- JDBC-драйвер - PostgreSQL (org.postgresql.Driver).
Если у вас нет драйвера для вашей СУБД, вы можете установить необходимый драйвер на вкладке Driver Classpath.
- URL-адрес JDBC — он состоит из хоста, порта и имени базы данных.
- Имя пользователя И пароль — logpass от вашей учетной записи СУБД.
Нажимаем на уже знакомую нам кнопку Тест и при успешном подключении к базе данных - Заканчивать .
Из этой базы PDF будет заполнен в рабочей среде.
Поскольку мы планируем развернуть наш первый PDF-файл на сервере, давайте подключим тот же источник данных к серверному приложению: Источники данных → Добавить ресурс → Источник данных и повторите все с пункта выше.
Теперь вы можете приступить к созданию PDF-файла.
Исходники в JasperReports хранятся в формате JRXML — это XML с жестко зашитыми тегами и атрибутами, с которыми работает API JasperReports. Нажмите Файл → Создать → Отчет Jasper → Пустой A4 → Укажите имя файла JRXML → Готово.
.
После создания нового проекта вы увидите следующую картину:
Семь разных блоков — каждый блок имеет свое поведение, отличное от других.
Подробнее об этом вы можете прочитать в документация .
Нажав на Source вы увидите структуру этих блоков:
Теги: #открытый код #java #разработка электронной коммерции #ИТ-статистика #отдых #pdf #jasperreports #ireport #reports<Эxml version="1.0" encoding="UTF-8"?> <jasperReport
-
10 Бесплатных И Крутых Шрифтов
19 Oct, 24 -
Стартапы, Команды И Продюсеры
19 Oct, 24 -
2-Гигапиксельная Фотография Эвереста.
19 Oct, 24