> SI사업 > 커뮤니티
 
작성일 : 14-04-28 11:47
웹페이지를 문서로 변환하는 iReport Designer ① 소개
 글쓴이 : 임희준
조회 : 3,427  

1.png

iReport Designer 소개


많은 웹 개발자들은 웹 페이지를 문서로 변환해서 출력할 때 어려움을 느낀다. 단순히 종이로 인쇄하는 것도 그렇지만, 특히 PDF파일형식으로 문서를 유지하고 관리하려면 더 많은 코드가 들어가야 하기 때문이다. 자바가 인쇄에 필요한 광범위한 API를 제공하지만, 여전히 각 문서 형식에 대한 특정 코드를 작성 할 일이 많이 남아있다. 이 문제에 대한 해결책은 리포팅 라이브러리를 사용하는 것인데, 그 중에서 JasperReports 라이브러리는 세계에서 가장 인기있는 오픈 소스 자바 리포팅 라이브러리이며 iReport Designer JasperReports를 위한 리포트 설계 프로그램이다. 이 라이브러리로 리포트를 생성해 화면에 보여주거나 PDF, 오픈 오피스, DOCX 등의 파일 형식으로 내보내거나 프린터로 출력할 수 있다. 


Report 생성과정


리포트의 생성과정을 보면 먼저 문서 레이아웃에 대한 정의가 담겨있는 XML 문서인 JRXML 파일을 만든다. 레이아웃은 시각적인 방법으로 설계되기 때문에 JRXML 파일의 실제 구조는 정확히 파악하지 않아도 된다그 다음 JRXML파일은 Jasper파일이라는 2진 객체로 컴파일한다. 리포트실행은 Jasper파일과 데이터 소스를 JasperReports에 전달하여 수행된다데이터 소스에는 많은 종류가 있으며 대표적으로 JSON, SQL 쿼리, XML 파일, CSV 파일, HQL(Hibernate Query Language) 쿼리, JavaBeans 컬렉션 등으로 Jasper파일을 채울 수 있다. 만약 적절한 데이터 소스를 찾을 수 없다면 사용자 정의 데이터 소스를 작성할 수도 있다. 이렇게 Jasper파일과 데이터 소스를 가지고 JasperReports는 원하는 형식으로 최종 문서를 생성 할 수 있다. 또한 iReport Designer는 데이터 소스를 구성하고 이것으로 리포트를 테스트할 수 있고 대부분 데이터 기반 마법사를 사용하면 더 빨리 보고서를 디자인할 수 있다. 마지막으로 iReport Designer 안에는 JasperReports 엔진을 포함하고 있어서 리포트 결과물을 미리보며 편집할 수 있다.

http://community-static.jaspersoft.com/sites/default/files/static/images/compilation_process.png


JasperReports Library 기능


JasperReports 라이브러리는 실제 리포트를 만들어내는 Java reporting engine 역할을 담당한다. 시스템 요구사항은 Java JDK 1.6 이상, RDBMS를 사용하는 경우 JDBC 2.1 driver가 필요하며 .jar 파일로 되어있어서 다른 필수 JAR 파일과 함께 자바 클래스패스에 추가하면 된다. 라이브러리 옵션을 구성할 글로벌 설정은 JasperReports Library.properties 파일 안에서 하고, 리포트단계에서는 JRXML 안에서 적절한 설정을 한다. 많은 사람들이 JasperReports 라이브러리에 쓰이는 JRXML 만들고 수정할 XML 편집기를 사용하지만, JasperReports 라이브러리를 처음 사용한다면 대부분의 경우 iReport Designer 안에서 작업하는 것이 훨씬 효과적이다.

1.png


1. 레이아웃 상호작용적인 대화형 기능들

·       웹 페이지 또는 인쇄를 위해서 모든 측면에서 정확한 치수의 비율로 정의된 그래픽 (Pixel-perfect page) 중심의 페이지와 연속 출력 기능

·       한 화면에서 다양한 정보를 중앙 집중적으로 관리하고 찾을 수 있도록 하는 사용자 인터페이스 기능(dashboards), 테이블, 교차분석(crosstabs), 차트, 위젯

·       하위 보고서(Subreports ) 기능은 복잡한 레이아웃을 쉽게 처리가능

·       통합 바코드 지원

·       시각적인 텍스트 회전

·       스타일 라이브러리

·       PDF 책갈피에 대한 지원을 포함하여 문서탐색 / 하이퍼 텍스트 링크,

·       복잡한 레이아웃을 위한 대화형 테이블 요소와 하위 보고서

·       다양한 조건의 인쇄

 

2. 유연한 배치 및 출력

·       PDF, XML, HTML, CSV, XLS, RTF, TXT의 리포트 출력

·       전세계적인 사용을 위한 국제적이면서 지역적인 기능

 

3. 모든 데이터 소스 연결

JasperReports는 거의 모든 타사 응용 프로그램에 리포트 기능을 확장 할 수 있도록 모든 데이터 소스 공급자를 사용한다. 만약 JDBC를 통해 데이터에 액세스 할 수 없거나 JasperReports를 데이터베이스와 바로 연결하고 싶지 않을 때는 사용자 정의 데이터 소스를 구현할 수 있다. 또한 모든 리포트는 여러 종류로 이루어져있는 다양한 데이터 소스에서 나온 데이터를 사용할 수 있다.

·       Database JDBC connection

·       XML file data source

·       JavaBeans set data source

·       Custom JRDataSource

·       File CSV data source

·       JRDataSourceProvider

·       Hibernate connection

·       Spring-loaded Hibernate connection

·       EJBQL connection

·       Mondrian OLAP connection

·       Query Executor mode

·       Empty data source

·       Custom iReport connection

·       XMLA server connection


 iReport Designer, JasperReports와 관련된 더 자세한 설명은 Jaspersoft 커뮤니티 http://community.jaspersoft.com/project/ireport-designer 참고