01.JAVA/Java2008. 11. 19. 13:55
반응형




1. 폰트파일(nGulim.ttf)를 폰트 매트릭스 파일(nGulim.xml)로 바꾼다

java -cp D:\work\FopToPdf\WebContent\WEB-INF\lib\fop.jar;D:\work\FopToPdf\WebContent\WEB-INF\lib\avalon-framework.jar;D:\work\FopToPdf\WebContent\WEB-INF\lib\commons-logging.jar;D:\work\FopToPdf\WebContent\WEB-INF\lib\commons-io.jar org.apache.fop.fonts.apps.TTFReader D:\Temp\fop\nGulim.ttf D:\Temp\fop\nGulim.xml


2. 폰트파일과 폰트매트릭스 파일을 컨피그에 등록.

<font metrics-url="D:\Temp\fop\nGulim.xml" embed-url="D:\Temp\fop\nGulim.ttf" kerning="yes">
    <font-triplet name="NewGulim" style="normal" weight="normal"/>
    <font-triplet name="NewGulim" style="normal" weight="bold"/>
</font>

3. 컨피그를 사용하겠다고 알림

// 유저가 설정한 컨피그 파일을 사용한다. 밑에서 유저 에이전트를 생성하기 전에 컨피그 파일을 설정해야 폰트 등이 적용된다
fopFactory.setUserConfig(new File("d:/Temp/fop/mycfg.xml")); 


FOUserAgent foUserAgent = fopFactory.newFOUserAgent();

.

.

.


4. fo 파일을 EUC-KR로 사용, 사용할 폰트를 설정

<?xml version="1.0" encoding="EUC-KR"?>
<fo:root font-family="NewGulim" font-size="12pt" font-style="normal" font-weight="normal" text-align="center" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <fo:simple-page-master master-name='simpleA4' page-height='29.7cm' page-width='21cm' margin-top='2cm' margin-bottom='2cm' margin-left='2cm' margin-right='2cm'>
      <fo:region-body/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference='simpleA4'>
    <fo:flow flow-name='xsl-region-body'>
      <fo:block>안녕</fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

Posted by 1010