Co to jest format pliku JASPER?
Plik .jasper to skompilowany szablon raportu JasperReports - binarny artefakt powstający, gdy silnik JasperReports kompiluje plik projektu raportu .jrxml. Relacja ta odzwierciedla kompilację w języku Java: .jrxml jest źródłem, a .jasper jest skompilowanym wynikiem, analogicznie do pliku .class skompilowanego ze źródła .java.
Technicznie plik .jasper to standardowy strumień zserializowanych obiektów Java z magicznymi bajtami AC ED 00 05, zawierający zserializowany obiekt net.sf.jasperreports.engine.JasperReport. Ten graf obiektów zawiera skompilowany kod bajtowy wyrażeń Groovy lub Java, struktury sekcji raportu, definicje stylów, deklaracje parametrów i mapowania pól. Ponieważ format opiera się na wbudowanej w Javę serializacji obiektów, identyfikator UID serializacji jest powiązany z wersją biblioteki JasperReports - plik .jasper skompilowany w JR 6.x może nie załadować się w JR 7.x i musi zostać ponownie skompilowany z oryginalnego źródła .jrxml.
Plik .jasper nie może samodzielnie wygenerować danych wyjściowych. Wymaga silnika JasperReports do wypełnienia go danymi, a następnie wyeksportowania do formatu docelowego, takiego jak PDF, XLSX lub HTML. Raporty są projektowane w Jaspersoft Studio (które zastąpiło wycofane iReport w 2014 roku) i wykonywane w ramach JasperReports Server lub dowolnej aplikacji Java osadzającej bibliotekę JasperReports.
JasperReports powstał w 2001 roku. Jaspersoft został przejęty przez TIBCO w 2014 roku, a TIBCO zostało następnie przejęte przez Cloud Software Group w 2022 roku.
Bezpieczeństwo
RYZYKO: MEDIUMPliki .jasper zawierają osadzony, skompilowany kod bajtowy Java (klasy wyrażeń). Złośliwie przygotowany plik .jasper mógłby wykorzystać luki w deserializacji Java (format serializacji Java jest historycznie podatny na ataki; patrz CVE-2015-4852 i powiązane łańcuchy gadżetów). Należy ładować pliki .jasper wyłącznie z zaufanych źródeł w kontrolowanych środowiskach. JasperReports 6.3+ ograniczył niektóre ryzyka; należy dbać o aktualność biblioteki.
Szczegóły formatu
w pigułceProgramy otwierające pliki JASPER
JasperFillManager.fillReport() w kodzie Java, aby wypełnić raport danymi, a następnie wyeksportuj do PDF/XLSX/HTML za pomocą JasperExportManager. JasperFillManager programowo. Szczegóły techniczne
specyfikacja| Typ formatu | Binarny strumień zserializowanych obiektów Java (skompilowany szablon raportu) |
| Magiczne bajty | AC ED 00 05 (nagłówek strumienia Java Object Serialization) |
| Kolejność bajtów | Big-endian (specyfikacja serializacji Java) |
| Kodowanie | Binarne (format Java ObjectOutputStream) |
| Główna zserializowana klasa | `net.sf.jasperreports.engine.JasperReport` |
| Typowy rozmiar pliku | 10 KB - 5 MB (zależy od osadzonych zasobów podraportów) |
| Format źródłowy | Skompilowany z `.jrxml` (projekt raportu XML) |
| Kompatybilność wersji | UID serializacji powiązany z wersją biblioteki JasperReports; niezgodność wersji głównej wymaga rekompilacji z `.jrxml` |
| Zawartość osadzona | Skompilowany kod bajtowy wyrażeń Groovy/Java, struktury sekcji, definicje stylów, deskryptory parametrów i pól |
| Wymagania wykonawcze | Silnik JasperReports - wypełnianie przez JasperFillManager, eksport przez JasperExportManager |
| Cele eksportu | PDF, XLSX, HTML, DOCX, CSV, ODS i inne przez JasperExportManager |
| Platforma | Windows, Linux, macOS (dowolna platforma JVM) |
| Wydano | 2001 (JasperReports 0.1) |
| Najnowsza wersja | JasperReports 7.x (2024) |
| Specyfikacja | jasperreports.sourceforge.net |
Konwersje JASPER
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki JASPER.
Najczęściej zadawane pytania
Jak uruchomić plik .jasper, aby otrzymać PDF?
JasperFillManager.fillReport(jasperFile, params, dataSource), a następnie JasperExportManager.exportReportToPdfFile(jasperPrint, outputPath). Jaspersoft Studio posiada również wbudowaną funkcję podglądu i eksportu.Czy mogę otworzyć plik .jasper bez Javy?
Dlaczego mój plik .jasper zgłasza błąd serializacji po aktualizacji JasperReports?
serialVersionUID klasy JasperReport mogła ulec zmianie między wersjami. Skompiluj ponownie plik ze źródła .jrxml, używając nowej wersji JasperReports.