> SI사업 > 커뮤니티
 
작성일 : 14-04-28 16:50
웹페이지를 문서로 변환하는 iReport Designer ③ 리포트 디자인
 글쓴이 : 임희준
조회 : 12,090  
   prtUser.jrxml (31.7K) [124] DATE : 2014-04-29 10:37:01

사용자 인터페이스 개요


iReport Designer는 리포트를 디자인 할 수 있는 최적의 환경이다. 리포트는 처음부터 또는 바로 사용가능한 다양한 템플릿 중 하나로 설계 할 수 있다. iReport Designer는 리포트 생성의 모든 단계에서 도움을 주는데 예를 들면 JRXML 디자인, Jasper 편집, 리포트 실행, 문서의 출력과 시각화 등이 있다. 기본 사용자 인터페이스의 구성 요소는 다음과 같다.

1.png

·       Report Designer 드래그로 각 elements의 위치정렬크기를 조정하여 보고서를 시각적으로 디자인하는 곳이다.

·       Report Inspector는 objects(필드파라미터변수 등)문서를 분할하는 bands, elements(텍스트 필드이미지차트 등)로 구성되는 리포트의 전체 구조를 보여준다.

·       Elements Palette는 elements를 가지고 있는데이것들을 band안으로 드래그를 하면 데이터를 나타낼 수 있다.

·       Property Sheet는 리포트에서 현재 선택한 구성 요소(필드, elements, bands, 그룹 등)의 속성을 설정하는 데 사용된다.


1.png

상단에는 데이터 소스 선택창이 있는데 현재 연결한 connection을 표시하고 리포트를 실행하는 데 사용된다.

리포트 디자이너 도구 모음은 디자인에서 미리보기 모드로 쉽게 전환하는 세 가지 버튼이 있다. 미리보기 버튼을 클릭하면, iReport Designer는 현재 연결한 connection을 사용하여 리포트를 실행하고 내부 뷰어를 사용하여 결과를 표시한다.  자동으로 브라우저 나 PDF 뷰어 등의 특정 형식으로 문서를 보낸 후, 적절한 뷰어를 열도록 구성 할 수도 있다.


Band - 수평으로 구분되어 일정한 영역과 고유한 이름을 가지고 화면을 나누는 개념

1.jpg


·       Title band
가장 먼저 나타나는 제목이 위치하는 곳이다.
·       Page Header
페이지 상단에 헤더를 정의할 수 있다. 디자인단에서 정의된 위치와 크기로 페이지마다 반복적으로 출력된다.
·       Column Header
각 detail column의 시작부분에 인쇄된다. 보통 테이블속성의 칼럼이름을 포함하는 라벨들이 위치한다.
·       Group Header
0개 이상을 만들 수 있고, 그룹화된 detail 항목들을 나열할 수 있다. 
·       Detail
대부분의 인쇄되는 요소들이 위치하는 곳으로 데이터소스로 수집한 항목들을 나열하며 여러개를 만들 수 있다.
·       Group Footer
그룹을 마무리짓는 곳으로 특정부분의 합계나 선같은 분리된 그래픽 요소들이 위치한다.
·       Column Footer
column 끝부분에 위치하며 런타임시 크기 조절이 되지 않는다.
·       Page Footer
page header가 있는 모든 페이지에 나타난다. 런타임시 크기 조절이 되지 않는다.
·       Last Page Footer
전체 페이지중 마지막에만 다른 footer를 넣고 싶을 때 사용한다.
·       Summary
맨 마지막 페이지에 총합계나 다른 것들을 넣고 싶을 때 사용한다.



*.jrxml 파일 편집 (참고: prtUser.jrxml)


1) ireport를 실행하고, Report query 아이콘을 눌러 Query Language를 json으로 바꿔준다.

1.png

1.png


2) 여백을 선택 -> 오른쪽창에 Properties에서 Language JavaScript로 바꿔준다.

1.png


3) Palette에서 항목을 선택한 뒤 화면으로 드래그해서 사용한다. 대표적으로 Static Text는 칼럼제목, Text Field는 칼럼 내용, Rectangle은 선이 있는 상자, List는 배열로 담겨있는 리스트필드를 추가할 때 사용한다.

1.png


4) JSON형태로 datasource를 만든 경우 필드를 하나씩 추가를 해줘야 한다. 마스터 필드는 필드항목에서 오른쪽 버튼으로 추가를 하고, 오른쪽 창의 속성 부분에서 이름을 바꾼 다음 화면으로 드래그한다.

1.png

1.png

1.png


5-1) 리스트필드를 입력하려면 Dataset을 추가하고 Fields를 추가한다.

1.png

1.png


5-2) XML탭에서 subDataset이 만들어진걸 확인한다.

1.png


5-3) List Detail에 추가하고 칼럼을 List로 드래그한다.

1.png

1.png

1.png


5-4) xml탭에서 jr:list 하위부분에 있는 dataSourceExpression에 다음과 같은 코드를 넣어주고  subDataSource에는 해당 json파일의 키값을 직접 넣어준다.

1.png


6) 데이터가 다음 페이지까지 넘어갈 때 칼럼을 반복하려면, 반복할 칼럼들을 선택한 뒤 오른쪽창 properties에서 <Print when detail overflows> 항목을 true로 체크한다.

1.png


7) Preview 버튼을 누르면 미리보기가 가능하며 jrxml이 저장된 폴더에 *.jasper 파일이 생긴다.

1.png


8) PDF 파일에 한글이 나오게 하려면 xml 편집에서 앞쪽의 property영역 다음에 style을 추가한다.

1.png

1.png

 


김우석 14-07-03 10:08
답변 삭제  
* 비밀글 입니다.