본문 바로가기

오픈소스 가이드

[JasperReports] #1 Jasper studio

java 기반의 무료 문서생성 라이브러리. 디자인 툴을 제공하여 편리하게 문서 템플릿을 작성할 수 있다.

서버 기반의 pdf 렌더링이 가능하여 서버에서 특정 문서를 생성하여 클라이언트에 pdf 형태로 제공이 가능하다.

pdf 변환은 itext 를 이용하는데, 2. 버전을 사용하여 AGPL 라이센스 제약이 없는 것으로 보인다.

오즈의 경우, OZ e-form 을 통해 문서뷰어를 통해 입력과 출력이 모두 가능하지만 제스퍼는 문서뷰어를 통해 입력을 서버로 전달하는 기능은 없다.

jasperreports 구성요소

jasperReports server : 

jasperReports library : 자바 라이브러리

jasperReports studio : 디자인 개발도구, authoring tool

 

jasper studio 설치

https://community.jaspersoft.com/project/jaspersoft-studio

 

Jaspersoft® Studio

TIBCO Jaspersoft® Studio is editing software for TIBCO JasperReports®. It will help you design and run report templates; build report queries; write complex expressions; layout visual components like 50+ types of charts, maps, tables, crosstabs, and cust

community.jaspersoft.com

User guide

 

 

기본 구성요소 설명

1. Jasper project 생성

제스퍼 프로젝트로 생성하고 빌드를 하면 자동으로 jrxml 을 같이 빌드해준다.

src 폴더를 생성하고 source code 폴더로 프로젝트에 등록하면 해당 프로젝트도 빌드하면 bin 폴더를 생성하여 그 안에 class 를 만들어 준다.

jasperReports project : jrxml 을 빌드할 수 있는 프로젝트

jasperReports samples : 샘플이 엄청 많이 포함된 jasperReports project

 

2. Jasper design 요소

빈 Jasper report 파일을 생성하면 다음과 같이 섹션이 나뉘어있다.

기본적으로 1페이지의 템플릿을 작성하며 보고서 전체의 길이는 반복되는 섹션에 의해 자동으로 늘어나게 된다.

디자인 요소는 정적인 디자인 요소와 동적인 디자인 요소가 있는데, 동적인 요소는 Data adapter 에 의해 가져온 데이터를 바인딩 하여 보여주는 부분을 말한다.

반복되지 않는 영역 : Title, Summary

페이지마다 1개씩만 반복 : Page Header, Column Header, Column Footer, Page Footer

데이터마다 반복되는 영역 : Detail

 

3. parameters, fields, variables - 데이터 binding 할 수 있는 요소

 

 

 

parameters : 단건 데이터 전달 하는데 사용

fields : 여러건 데이터 전달 하는데 사용

variables : 페이지 속성 등 메타데이터 비슷한 것들이 있음

4. Data adapter

data source 에서 데이터를 가져오는 모듈

database, cvs, json, javaBean, 등 여러가지 data source과 연결할 수 있다.

random records 는 원하는 row 만큼 필드에 임의의 값을 채울 수 있다.

 

Data adapter 생성
random records 로  Data adapter 생성

 

5. Text Field element

parameter, field, variable 등과 연결하거나 java function 을 이용하여 값을 출력하는 element

텍스트 필드를 추가하고 더블클릭 하면 Expression Editor 가 나온다. 여기서 parameters 나 각종 function 을 더블클릭하면 자동으로 들어간다.

 

6. 미리보기

parameter 와 data adapter 를 입력하여 실제 report 를 출력

Preview 탭을 이용

data adapter 를 선택하면 동일한 이름의 field 를 기준으로 데이터를 채워준다.

 

7. 빌드

jrxml 파일을 jasper 파일로 빌드해준다.

별도의 리소스 파일은 필요로 한다. 이미지 파일이나 폰트 파일 등은 별도로 존재해야하며 경로가 일치해야 한다.

jrxml 파일은 jasperReports library 를 이용하여 별도로 컴파일 할 수 있다.