JASPER ファイル形式とは?
.jasperファイルは、コンパイルされたJasperReportsレポートテンプレートです。これは、JasperReportsエンジンが.jrxmlレポート設計ファイルをコンパイルしたときに生成されるバイナリアーティファクトです。この関係はJavaのコンパイルを反映しています。.jrxmlがソースであり、.jasperはコンパイルされた出力であり、.javaソースからコンパイルされた.classファイルに相当します。
技術的には、.jasperファイルはマジックバイトAC ED 00 05を持つ標準的なJavaシリアル化オブジェクトストリームであり、シリアル化されたnet.sf.jasperreports.engine.JasperReportオブジェクトを含んでいます。このオブジェクトグラフには、コンパイルされたGroovyまたはJava式のバイトコード、レポートバンド構造、スタイル定義、パラメータ宣言、およびフィールドマッピングが含まれます。この形式はJavaの組み込みオブジェクトシリアル化に依存しているため、シリアル化UIDはJasperReportsライブラリのバージョンに紐付けられています。JR 6.xでコンパイルされた.jasperファイルはJR 7.xでロードに失敗する場合があり、その場合は元の.jrxmlソースから再コンパイルする必要があります。
.jasperファイル単体で出力を生成することはできません。JasperReportsエンジンを使用してデータを入力し、PDF、XLSX、HTMLなどの配信形式にエクスポートする必要があります。レポートはJaspersoft Studio(2014年に廃止されたiReportの後継)で設計され、JasperReports ServerまたはJasperReportsライブラリを組み込んだJavaアプリケーション内で実行されます。
JasperReportsは2001年に作成されました。Jaspersoftは2014年にTIBCOによって買収され、その後TIBCOは2022年にCloud Software Groupによって買収されました。
セキュリティと安全性
リスク: MEDIUM.jasperファイルには、埋め込まれたコンパイル済みJavaバイトコード(式クラス)が含まれています。悪意を持って作成された.jasperは、Javaのデシリアライズの脆弱性を悪用する可能性があります(Javaのシリアル化形式は歴史的に攻撃を受けやすく、CVE-2015-4852および関連するガジェットチェーンを参照してください)。信頼できるソースからの.jasperファイルのみを、管理された環境でロードしてください。JasperReports 6.3以降では一部のリスクが軽減されています。ライブラリを最新の状態に保ってください。
形式の詳細
概要JASPER ファイルを開くプログラム
JasperFillManager.fillReport()を使用してデータを入力し、JasperExportManagerを介してPDF/XLSX/HTMLにエクスポートします。 技術的詳細
詳細仕様| 形式タイプ | バイナリJavaシリアル化オブジェクトストリーム(コンパイル済みレポートテンプレート) |
| マジックバイト | AC ED 00 05 (Java Object Serialization ストリームヘッダー) |
| バイト順序 | ビッグエンディアン (Javaシリアル化仕様) |
| エンコーディング | バイナリ (Java ObjectOutputStream 形式) |
| ルートシリアル化クラス | `net.sf.jasperreports.engine.JasperReport` |
| 一般的なファイルサイズ | 10 KB - 5 MB (埋め込まれたサブレポートリソースに依存) |
| ソース形式 | `.jrxml`(XMLレポート設計)からコンパイル |
| バージョン互換性 | シリアル化UIDはJasperReportsライブラリのバージョンに依存。メジャーバージョンの不一致には`.jrxml`からの再コンパイルが必要 |
| 埋め込みコンテンツ | コンパイルされたGroovy/Java式のバイトコード、バンド構造、スタイル定義、パラメータおよびフィールド記述子 |
| ランタイム要件 | JasperReportsエンジン - JasperFillManagerで入力、JasperExportManagerでエクスポート |
| エクスポート対象 | JasperExportManagerを介したPDF、XLSX、HTML、DOCX、CSV、ODSなど |
| プラットフォーム | Windows, Linux, macOS (すべてのJVMプラットフォーム) |
| リリース日 | 2001 (JasperReports 0.1) |
| 最新バージョン | JasperReports 7.x (2024) |
| 仕様書 | jasperreports.sourceforge.net |
JASPER の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。JASPER ファイルについて最初の質問をしてみましょう。
よくある質問
.jasperファイルを実行してPDFを取得するにはどうすればよいですか?
JasperFillManager.fillReport(jasperFile, params, dataSource)を呼び出し、次にJasperExportManager.exportReportToPdfFile(jasperPrint, outputPath)を呼び出します。Jaspersoft Studioにも組み込みのプレビュー/エクスポート機能があります。Javaなしで.jasperファイルを開くことはできますか?
JasperReportsのアップグレード後、.jasperファイルでシリアル化エラーが発生するのはなぜですか?
serialVersionUIDがバージョン間で変更された可能性があります。新しいJasperReportsバージョンを使用して、.jrxmlソースから再コンパイルしてください。.jrxmlと.jasperの違いは何ですか?
.java → .classのようなものです。