Aspose.Slides for JasperReports

Aspose.Slides for JasperReports

Aspose.Slides for JasperReports는 JasperReports Library와 JasperReports Server에 PowerPoint 내보내기를 추가하여 Java 애플리케이션과 보고서 서버가 Microsoft PowerPoint 없이도 채워진 보고서를 프레젠테이션으로 저장할 수 있도록 합니다.

채워진 보고서를 PPT 및 PPTX(페이지당 한 슬라이드)로, 또한 PDF와 HTML로 내보냅니다.



첫 번째 내보내기

다음 단계는 한 줄 보고서를 컴파일하고, 데이터를 채운 뒤, Maven Central의 JasperReports 6.16.0을 사용해 PPTX로 내보냅니다. JDK 11 이상과 Apache Maven이 필요합니다.

  1. ZIP 파일을 download page에서 다운로드하고 압축을 풉니다. 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 를 빈 프로젝트 폴더에 복사합니다.

  2. 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"
  1. 이 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>
  1. 이 보고서 디자인을 hello.jrxml 파일로 프로젝트 폴더에 저장합니다. 제목 밴드에 한 줄 텍스트를 출력합니다:
<?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>
  1. 이 코드를 src/main/java/HelloExport.java 로 저장합니다. 디자인을 컴파일하고, 빈 레코드 하나로 채운 뒤 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 {
        // 보고서 디자인을 컴파일하고 빈 레코드 하나로 채웁니다.
        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();
    }
}
  1. 프로젝트 폴더에서 다음 명령을 실행합니다:
mvn compile exec:java

프로그램은 프로젝트 폴더에 hello.pptx 를 저장하며, 보고서 텍스트가 포함된 하나의 슬라이드를 생성합니다. 컴파일러는 코드가 더 이상 사용되지 않는 API를 사용한다고 알립니다: 내보내기는 JRExporterParameter를 통해 입력과 출력을 받으며, 최신 setExporterInput 및 setExporterOutput 설정을 지원하지 않습니다. Linux에서는 fontconfig와 최소 하나의 글꼴이 설치되어 있어야 보고서 채우기가 성공합니다. 라이선스가 없으면 각 슬라이드 중앙에 평가 워터마크가 표시됩니다 — 라이선스을 참고하세요. PPT, PDF 또는 HTML로 내보내려면 PPT, PPTX, PDF 및 HTML 내보내기를 참조하십시오.