CAFE

Jasper Report

자바 애플리케이션에 폰트 등록하기 예

작성자황정식|작성시간14.01.26|조회수4,594 목록 댓글 0

: 앞선 글에서 Jaspersoft Studio에 한글을 인식하기위해 폰트를 등록하는 예를 살펴보았다. 

이제 Jaspersoft Studio에서 컴파일되어 생성된 .jrxml 파일과 .jasper 파일을 자바 애플리케이션쪽에서 리포트 출력을 하기 위해서

추가로 폰트를 등록하는 방법을 살펴본다.


먼저, Jaspersoft Studio에서 생성한 .jrxml 파일과 .jasper 파일을 자바 애플리케이션 소스쪽으로 옮긴다.



다음으로, Jaspersoft Studio에서 폰트를 등록할때 사용한 폰트를 자바 애플리케이션쪽 소스에 복사를 한다.

--> fonts 패키지 하위에 폰트를 복사해서 붙여넣었다.



==== jasperreports_extensiong.properties ====

클래스 패스 root 경로에 jasperreports_extensiong.properties을 생성하여 다음과 같이 작성한다.

net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory

net.sf.jasperreports.extension.simple.font.families.fonts=fonts/fonts.xml


--> 프로퍼티의 키에서 노란색 텍스트는 키값을 지켜주어야 하며 분홍색으로 된 .fonts부터는 임의로 지정을 해도된다.

--> net.sf.jasperreports.extension.simple.font.families.fonts 키에 해당하는 값은 fonts 패키지내에 생성할 폰트 설정 파일이다.



==== fonts.xml ====

jasperreports_extensiong.properties 에 지정한 fonts.xml 파일을 다음과 같이 작성한다.

<?xml version="1.0" encoding="UTF-8"?>


<fontFamilies>


<!-- fontFamily name 속성에 입력하는 값는 Jasper Studio에서 폰트를 등록할때 지정한 폰트명과 동일해야한다. -->

<fontFamily name="맑은고딕">

<!-- fonts 패키지내에 등록된 트루타입 폰트 파일의 경로 -->

<normal>fonts/malgun.ttf</normal>

<bold>fonts/malgunbd.ttf</bold>

<!-- pdfEncoding 파입. Jasper Studio에서 폰트 한글 설정을 할때의 값과 동일하다. -->

<pdfEncoding>Identity-H</pdfEncoding>

<pdfEmbedded>true</pdfEmbedded>

<!-- 

<exportFonts>

<export key="net.sf.jasperreports.html">Gentium, 'Times New Roman', Times, serif</export>

<export key="net.sf.jasperreports.xhtml">Gentium, 'Times New Roman', Times, serif</export>

</exportFonts>

-->

</fontFamily>

<fontFamily name="HY견고딕">

<normal>fonts/HYGTRE.TTF</normal>

<!--

<bold>fonts/malgunbd.ttf</bold>

<italic>fonts/malgunbd.ttf</italic>

-->

<pdfEncoding>Identity-H</pdfEncoding>

<pdfEmbedded>true</pdfEmbedded>

<!-- 

<exportFonts>

<export key="net.sf.jasperreports.html">Gentium, 'Times New Roman', Times, serif</export>

<export key="net.sf.jasperreports.xhtml">Gentium, 'Times New Roman', Times, serif</export>

</exportFonts>

-->

</fontFamily>


</fontFamilies>


--> 여기서는 "맑은고딕"과 "HY견고딕" 2개의 폰트를 등록했다.


서버를 재가동하고, PDf를 생성하면 아래와 같이 등록한 폰트대로 PDF 리포트가 출력되는것을 볼 수 있다.




다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼