JasperReports 用 Aspose.Slides
Aspose.Slides for JasperReports は JasperReports Library および JasperReports Server に PowerPoint エクスポーターを追加し、Java アプリケーションやレポートサーバーが Microsoft PowerPoint を使用せずに、入力済みレポートをプレゼンテーションとして保存できるようにします。
入力済みレポートを PPT および PPTX にエクスポートし、レポートページごとに 1 枚のスライドを作成します。また、PDF および HTML にもエクスポートできます。
初めてのエクスポート
この手順では、1 行のレポートをコンパイルし、データを埋め込み、Maven Central から取得した JasperReports 6.16.0 を使用して PPTX にエクスポートします。JDK 11 以降と Apache Maven が必要です。
-
ZIP を ダウンロードページ から取得し、解凍します。lib フォルダーには JasperReports のバージョン範囲ごとにサブフォルダーがあり、各フォルダーにその範囲の jar が格納されています。JasperReports 6.16.0 用には、lib/JasperReports 6.5.0 - 6.16.0 (JDK 1.6)/aspose.slides.jasperreports.library-26.6.jar を空のプロジェクトフォルダーにコピーします。
-
jar は ZIP 内に含まれており、Maven リポジトリから取得できないため、ローカルの Maven リポジトリにインストールします。プロジェクトフォルダーで次のコマンドを実行してください:
mvn install:install-file "-Dfile=aspose.slides.jasperreports.library-26.6.jar" "-DgroupId=com.aspose" "-DartifactId=aspose-slides-jasperreports" "-Dversion=26.6" "-Dpackaging=jar"
- pom.xml をプロジェクトフォルダーに保存します。これにより JasperReports 6.16.0 とインストールした jar が追加され、実行するクラスが指定されます。JasperReports 6.16.0 は Maven Central にないパッチが当てられた iText ビルドを宣言しているため、ファイルからそれを除外しています。Aspose エクスポーターはそれを必要としません。
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>hello-jasper-export</artifactId>
<version>1.0</version>
<properties>
<maven.compiler.release>11</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<exec.mainClass>HelloExport</exec.mainClass>
</properties>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.16.0</version>
<exclusions>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides-jasperreports</artifactId>
<version>26.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.15.0</version>
</plugin>
</plugins>
</build>
</project>
- hello.jrxml をプロジェクトフォルダーに保存します。タイトルバンドに 1 行のテキストを出力します:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Hello" pageWidth="595" pageHeight="842" columnWidth="555"
leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<title>
<band height="50">
<staticText>
<reportElement x="0" y="0" width="555" height="40"/>
<textElement>
<font size="24"/>
</textElement>
<text><![CDATA[Hello from JasperReports!]]></text>
</staticText>
</band>
</title>
</jasperReport>
- src/main/java/HelloExport.java としてこのコードを保存します。デザインをコンパイルし、空のレコードを 1 件で埋め、
ASPptxExporterを使用して結果をエクスポートします:
import java.util.HashMap;
import com.aspose.slides.jasperreports.ASPptxExporter;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
public class HelloExport {
public static void main(String[] args) throws Exception {
// レポートデザインをコンパイルし、1 件の空レコードで埋めます。
JasperReport report = JasperCompileManager.compileReport("hello.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(report, new HashMap<String, Object>(), new JREmptyDataSource());
// 埋め込まれたレポートを PPTX にエクスポートします。
ASPptxExporter exporter = new ASPptxExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "hello.pptx");
exporter.exportReport();
}
}
- プロジェクトフォルダーで次のコマンドを実行します:
mvn compile exec:java
プログラムはプロジェクトフォルダーに hello.pptx を保存し、レポートのテキストを含む 1 枚のスライドを作成します。コンパイラは、このコードが非推奨の API を使用していることを指摘します。エクスポーターは入力と出力を JRExporterParameter 経由で受け取りますが、 newer setExporterInput と setExporterOutput 設定は受け付けません。Linux 環境では fontconfig と少なくとも 1 つのフォントをインストールする必要があり、そうしないとレポートのフィリングが失敗します。ライセンスがない場合、各スライドの中央に評価用の透かしが入ります — 詳細は ライセンス を参照してください。PPT、PDF、HTML にエクスポートするには、PPT、PPTX、PDF および HTML エクスポート を参照してください。