Что такое формат файла JRPRINT?
Файлы с расширением .jrprint связаны с JasperReports - библиотекой Java с открытым исходным кодом, предназначенной для создания отчетов. Файл .jrprint представляет собой окончательный отрисованный отчет: в нем хранится полностью заполненный результат - заголовки, нижние колонтитулы, макет страницы, текст и изображения - после того, как живые данные были объединены с дизайном отчета. Технически каждый файл представляет собой сериализованный объект Java (net.sf.jasperreports.engine.JasperPrint), записанный в стандартном формате сериализации объектов Java, который начинается с бинарных магических байтов 0xACED.
Взаимодействие файлов .jrprint и .jasper
Формат .jrprint находится в самом конце конвейера JasperReports. Дизайн отчета начинается как исходный файл .jrxml, который компилируется в бинарный шаблон .jasper. Во время выполнения движок JasperReports заполняет этот скомпилированный шаблон живыми данными и записывает результат в файл .jrprint. И .jasper, и .jrprint являются элементами пакета JasperReports, но им назначены разные функции: .jasper содержит скомпилированный шаблон дизайна, а .jrprint - это готовый к печати документ.
Конвертация и отображение файлов .jrprint
Использование библиотеки JasperReports позволяет конвертировать формат .jrprint в более распространенные форматы файлов, такие как PDF, HTML, XLS, CSV, RTF и XML. Альтернативная форма того же вывода, сериализованная в XML, сохраняется с расширением .jrpxml. Файлы .jrprint не имеют ограничений по операционным системам - их можно просматривать в средах Windows, macOS или Linux везде, где доступна совместимая среда выполнения Java Runtime Environment.
Безопасность и защита
РИСК: MEDIUMФайл .jrprint является сериализованным объектом Java, а десериализация ненадежных данных Java является известным риском безопасности (атаки через десериализацию объектов). Открывайте файлы .jrprint только из доверенных источников, используя инструменты JasperReports, и поддерживайте библиотеку в актуальном состоянии. Сам по себе файл ничего не запускает, но никогда не передавайте неизвестный .jrprint в пользовательский путь JRLoader в сервисе, обрабатывающем внешние входные данные.
Детали формата
в двух словахПрограммы, открывающие файлы JRPRINT
JRLoader.loadObject(file), затем используйте JasperExportManager.exportReportToPdfFile(...) для конвертации. JRLoader.loadObject(file), затем используйте JasperExportManager.exportReportToPdfFile(...) для конвертации. JRLoader.loadObject(file), затем используйте JasperExportManager.exportReportToPdfFile(...) для конвертации. Технические подробности
глубокая спецификация| Тип формата | Сериализованный объект Java - экземпляр net.sf.jasperreports.engine.JasperPrint, сохраненный в формате Java Object Serialization |
| Магические байты | 0xAC 0xED 0x00 0x05 - стандартный заголовок Java Object Serialization Stream со смещением 0 |
| MIME-тип | application/octet-stream |
| Разработчик | Jaspersoft (ныне Cloud Software Group, ранее TIBCO Jaspersoft) |
| Стадия конвейера | Конечный результат: создается после того, как движок JasperReports заполняет скомпилированный шаблон .jasper данными из источника |
| Читаемость человеком | Бинарный, не читается человеком; должен быть открыт через JasperReports API или Jaspersoft Studio |
| Сжатый вариант | Может быть записан как бинарный файл, сжатый GZIP; расширение .jrpxml обозначает эквивалентную форму того же содержимого, сериализованную в XML |
| Цели экспорта | PDF, HTML, XLS/XLSX, CSV, RTF, DOCX, ODS, XML, JSON и простой текст через встроенные реализации JRExporter |
| Зависимость от среды выполнения | Java Runtime Environment (JRE) с библиотекой JasperReports JAR в classpath |
| Чувствительность к версии | Тесно связан с версией библиотеки JasperReports, создавшей файл; файлы могут не читаться значительно более старыми или новыми версиями библиотеки |
| Хранимое содержимое | Полностью отрисованные страницы, включая текст, изображения, диаграммы, штрих-коды, линии, прямоугольники и точную геометрию макета |
| Кроссплатформенная поддержка | Работает на любой ОС с совместимой JRE: поддерживаются Windows, macOS и Linux |
| API экспорта | net.sf.jasperreports.engine.JasperExportManager, интерфейс JRExporter и его реализации |
| Связанные форматы | .jrxml (исходный код дизайна), .jasper (скомпилированный шаблон), .jrpxml (XML-сериализованный файл печати) |
| Выпущен | Early 2000s with the JasperReports library (first release 2001) |
| Спецификация | community.jaspersoft.com |
Конвертации JRPRINT
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах JRPRINT.
Часто задаваемые вопросы
Как открыть файл .jrprint?
Как конвертировать .jrprint в PDF?
JasperExportManager.exportReportToPdfFile(jasperPrint, "out.pdf"). PDF является наиболее распространенным форматом экспорта.В чем разница между .jrxml, .jasper и .jrprint?
.jrxml - это дизайн отчета (шаблон XML), .jasper - это скомпилированный шаблон, а .jrprint - это готовый отчет после заполнения данными, готовый к печати или экспорту.