JasperReports
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Programming
Jasperreports란 #
- Jasperreports는 오픈 소스로 다양한 컨텐츠를 PDF, HTML, XLS, CSV 파일 등으로 출력하는 리포팅 툴이다. 전체적으로 자바로 쓰여졌으며, 다양한 어플리케이션에서 사용되어 다양한 포맷으로 컨텐츠를 생성할 수 있다. XML 포맷으로 리포트 디자인을 작성하여 컴파일 한 후 RDBMS와 JDBC를 통해 데이터를 바인딩함으로써 최종적으로 다양한 리포트을 생성할 수 있다.
- JasperReports 특징을 살펴보면 다음과 같다. :
- 다양한 Reporting Output 형태(PDF, HTML, XLS, CSV 등) 제공
- 다양한 Data Source를 이용하여 Reporting 데이터를 구성할 수 있음
- 다양한 레이아웃으로 Reporting이 가능하며 Chart 및 Graphical한 화면 요소 제공
- Graphical한 Report Designer 제공(여러 종류의 유/무료 툴 사용 가능)
기본환경 #
* Tomcat7
* 프레임워크 : 전자정부프레임워크
* JasperReports 6.2.0
(http://community.jaspersoft.com/download)
* PDF뷰어 : PDFJS
* JasperReports용 font : 맑은 고딕(malgun.ttf)
설정사항 #
- 아래내용은 본인이 실제 경험을 근거로 작성하였다.
-
우선 jasperreport의 jar파일과 관련 jar파일을 다운받는다. 본인은 Maven을 사용하였다.
<dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>5.0.0</version> </dependency> <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports-fonts</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.google.code.maven-play-plugin.org.apache.commons</groupId> <artifactId>commons-javaflow</artifactId> <version>1590792</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils-core</artifactId> <version>1.8.3</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-digester3</artifactId> <version>3.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.4.0</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.1.1</version> </dependency>
-
폰트설정
-
다운받은 폰트를 WEB-INF하위에 위치시킨다. 그 후 폰트가 위치한 폴더를 CLASSPATH로 잡아준다.
-
eclipse에서는 server->open launch configuration->Classpath->Advanced로 접근하여 폴더를 추가한다.
- eclipse환경이 아는 war배포시라면 해당 컴퓨터의 server가 리눅스라면 catalina.sh 윈도우라면 catalina.bat을 실행하여 "CLASSPATH=$CLASSPATH:$CATALINA_HOME/webapps/LIMS/WEB-INF/font"를 추가한다.
-
-
.properties파일 설정
-
.jrxml파일이나 .jasper파일을 프로젝트에 업로드하고 이를 연결할 수 있는 .properties파일을 작성한다. 본인은 supreport를 4개를 활용한다. supreport의경로는 mainreport의 경로를 참고하는 듯하다. 특별히 위치를 지정할 필요가 없다. 하지만, DataKeys는 모두 지정해준다.
multiformat-view.(class)=org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView multiformat-view.url=/WEB-INF/reports/rcppReport.jrxml multiformat-view.reportDataKey=rcppReport multiformat-view.subReportDataKeys=rcppReport_preStep multiformat-view.subReportDataKeys=rcppReport_distinStep multiformat-view.subReportDataKeys=rcppReport_preStep multiformat-view.subReportDataKeys=rcppReport_preStep
-
-
dispatcher-servlet 설정
-
이제 위에 만든 .properties파일의 위치를 지정해주기 위해 dispatcher-servlet.xml의 아래 내용을 추가해준다.
<bean id="viewMappings" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename" value="config/jasper-views" /> <property name="order" value="0" /> </bean>
-