Springframework에서 AbstractPdfView를 상속받아서 한글을 출력했더니 깨졌다.
블로그를 검색하고 해도 안되더니 5버전때 약간 바뀌었군.
한글 테스트를 해볼겸 해서 나의 윈도우에 있는 Font를 모두 출력해보았다.
BaseFont.IDENTITY_H 해당 encoding로 해야함.
int i = FontFactory.registerDirectory("C:\\Windows\\Fonts\\");
System.out.println("Result = " + i);
Set<String> set= FontFactory.getRegisteredFonts();
Iterator<String> it = set.iterator();
document.setPageSize(PageSize.A4);
Font font;
String fontname="";
String font_arr[] = new String[]{
//BaseFont.CP1250, BaseFont.CP1252, BaseFont.CP1257,
BaseFont.IDENTITY_H
//BaseFont.IDENTITY_V ,
//BaseFont.WINANSI
};
Chapter chapter = new Chapter(new Paragraph("Hello Pdf 가나다라마바사!!!!."), 1);
while(it.hasNext()){
fontname = it.next();
for(i=0; i < font_arr.length; i++) {
try {
System.out.println(fontname + "::" + font_arr[i]);
font = FontFactory.getFont(fontname, font_arr[i]);
font.setSize(10);
chapter.add(new Paragraph("FontName=" + fontname + " Style=" + font_arr[i] + "Hello Pdf!!! 한글!@#$11", font));
}catch (Exception e) {
e.printStackTrace();
}
}
}
document.add(chapter);
document.close();
pom.xml 해당 itext dependency
<!-- Pdf , license 살펴보기 -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
참고 사이트
http://api.itextpdf.com/itext/