Qu'est-ce que le format de fichier JASPER ?
Un fichier .jasper est un modèle de rapport JasperReports compilé - l'artefact binaire produit lorsque le moteur JasperReports compile un fichier de conception de rapport .jrxml. Cette relation reflète la compilation Java : le .jrxml est la source, le .jasper est la sortie compilée, de manière analogue à un fichier .class compilé à partir d'une source .java.
Techniquement, un fichier .jasper est un flux d'objets sérialisés Java standard avec les octets magiques AC ED 00 05, contenant un objet net.sf.jasperreports.engine.JasperReport sérialisé. Ce graphe d'objets inclut le bytecode des expressions Groovy ou Java compilées, les structures de bandes de rapport, les définitions de style, les déclarations de paramètres et les mappages de champs. Étant donné que le format repose sur la sérialisation d'objets intégrée de Java, l'UID de sérialisation est lié à la version de la bibliothèque JasperReports - un fichier .jasper compilé avec JR 6.x peut échouer au chargement sous JR 7.x et doit être recompilé à partir de la source .jrxml d'origine.
Un fichier .jasper ne peut pas produire de sortie par lui-même. Il nécessite le moteur JasperReports pour le remplir de données, puis l'exporter vers un format de diffusion tel que PDF, XLSX ou HTML. Les rapports sont conçus dans Jaspersoft Studio (qui a remplacé iReport, abandonné en 2014) et exécutés au sein de JasperReports Server ou de toute application Java intégrant la bibliothèque JasperReports.
JasperReports a été créé en 2001. Jaspersoft a été acquis par TIBCO en 2014, et TIBCO a ensuite été acquis par Cloud Software Group en 2022.
Sécurité et sûreté
RISQUE : MEDIUMLes fichiers .jasper contiennent du bytecode Java compilé intégré (classes d'expression). Un fichier .jasper conçu de manière malveillante pourrait exploiter les vulnérabilités de désérialisation Java (le format de sérialisation Java est historiquement sujet aux attaques ; voir CVE-2015-4852 et les chaînes de gadgets associées). Ne chargez des fichiers .jasper que provenant de sources fiables dans des environnements contrôlés. JasperReports 6.3+ a atténué certains risques ; maintenez la bibliothèque à jour.
Détails du format
en brefProgrammes qui ouvrent les fichiers JASPER
Détails techniques
spécifications approfondies| Type de format | Flux d'objets sérialisés Java binaires (modèle de rapport compilé) |
| Octets magiques | AC ED 00 05 (en-tête de flux de sérialisation d'objet Java) |
| Ordre des octets | Big-endian (spécification de sérialisation Java) |
| Encodage | Binaire (format Java ObjectOutputStream) |
| Classe sérialisée racine | `net.sf.jasperreports.engine.JasperReport` |
| Taille de fichier typique | 10 Ko - 5 Mo (dépend des ressources de sous-rapport intégrées) |
| Format source | Compilé à partir de `.jrxml` (conception de rapport XML) |
| Compatibilité de version | UID de sérialisation lié à la version de la bibliothèque JasperReports ; une incompatibilité de version majeure nécessite une recompilation à partir du `.jrxml` |
| Contenu intégré | Bytecode d'expression Groovy/Java compilé, structures de bandes, définitions de style, descripteurs de paramètres et de champs |
| Exigence d'exécution | Moteur JasperReports - remplissage avec JasperFillManager, export avec JasperExportManager |
| Cibles d'exportation | PDF, XLSX, HTML, DOCX, CSV, ODS, et plus via JasperExportManager |
| Plateforme | Windows, Linux, macOS (toute plateforme JVM) |
| Publié | 2001 (JasperReports 0.1) |
| Dernière version | JasperReports 7.x (2024) |
| Spécification | jasperreports.sourceforge.net |
Conversions JASPER
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers JASPER.