▶ FOP 한글 변환 사용방법
FOP를 사용하면 FO 파일로부터 PDF 파일을 얻을 수 있습니다. 자세한 내용은 아파치 XML 프로젝트
홈페이지를 참고하도록 한다.
우선 FOP의 최신 버전을 받아혼다(0.18.1 이상). FOP도 자바 프로그램이지만 실행하기
편리하도록 만들어진 batch 파일과 쉘 스크립트 파일을 함께 만들도록 하자.
한글 PDF를 얻기 위해서는 한글 트루타입 폰트(.ttf)가 필요하며, WIN2000같은 경우
WINNT디렉토리 밑에 Fonts디렉토리에 폰트들이 준비되어 있는 것을 볼 수 있다.
폰트가 준비되었으면 다음과 같이 폰트로 부터 metrics 파일을 얻어낼 수 있는데
아래와 같은 절차를 밟도록 하자.
아래의 내용을 fontGen.bat란 파일이름으로 저장한다
@echo off
set FOP_HOME=D:\XML\fop-0.20.4rc
java -cp %FOP_HOME%\build\fop.jar;%FOP_HOME%\lib\batik.jar;%FOP_HOME%\lib\xalan-2.3.1.jar;
%FOP_HOME%\lib\xercesImpl-2.0.1.jar;%FOP_HOME%\lib\xml-apis.jar;
%FOP_HOME%\lib\avalon-framework-cvs-20020315.jar;%FOP_HOME%\lib\logkit-1.0.jar;
%FOP_HOME%\lib\jimi-1.0.jar org.apache.fop.fonts.apps.TTFReader %1 %2 %3 %4 %5 %6 %7 %8
FOP홈을 당신의 FOP가 설치된 디렉토리로 바꾸도록 하여야 함은 물론이다
아래와 같이 실행을 하도록 한다.
Fop> fopGen NGULIM.TTF ngulim.xml
한글 트루타입 폰트로부터 만들어진 metrics 파일에는 폰트의 이름 부분에 �과
같은 문자들이 포함되어질 수 있는데 이부분을 직접 편집기로 열어서 해당부분의 내용을
지워주어야 한다.
이제 FOP/conf/userconfig.xml 파일을 편집한다. 다음과 같이 폰트와 해당 metrics 파일의 경로,
폰트 이름을 정확히 적어주어야 한다.
< fonts>
< font metrics-file="ngulim.xml" kerning="yes"
embed-file="c:\WINNT\Fonts\NGULIM.TTF">
< font-triplet name="NewGulim" style="normal" weight="normal"/>
< font-triplet name="Times Roman" style="italic" weight="normal"/>
< font-triplet name="Times Roman" style="normal" weight="bold"/>
< font-triplet name="Helvetica" style="normal" weight="normal"/>
< font-triplet name="Helvetica" style="italic" weight="normal"/>
< font-triplet name="Helvetica" style="normal" weight="bold"/>
< font-triplet name="Courier" style="normal" weight="normal"/>
< font-triplet name="Courier" style="italic" weight="normal"/>
< font-triplet name="Courier" style="normal" weight="bold"/>
< font-triplet name="monospace" style="normal" weight="normal"/>
< font-triplet name="monospace" style="italic" weight="normal"/>
< font-triplet name="monospace" style="normal" weight="bold"/>
< /font>
< /fonts>
이렇게 하면 모든 경우에 한가지 폰트만 사용하게 되며, Times Roman이나 Helvetica 혹은 italic이나
bold에 각각 다른 폰트를 대응시키면 여러 폰트를 쓸 수 있게 된다.
아래의 예가 그 경우이다.
< fonts>
< font metrics-file="\fop\A.xml" kerning="yes"
embed-file="\fop\A.ttf">
< font-triplet name="Times Roman" style="normal" weight="normal"/>
< font-triplet name="Times Roman" style="italic" weight="normal"/>
< font-triplet name="Times Roman" style="normal" weight="bold"/>
< /font>
< font metrics-file="\fop\B.xml" kerning="yes"
embed-file="\fop\B.ttf">
< font-triplet name="Helvetica" style="normal" weight="normal"/>
< font-triplet name="Helvetica" style="italic" weight="normal"/>
< font-triplet name="Helvetica" style="normal" weight="bold"/>
< /font>
< font metrics-file="\fop\C.xml" kerning="yes"
embed-file="\fop\C.ttf">
< font-triplet name="Courier" style="normal" weight="normal"/>
< font-triplet name="Courier" style="italic" weight="normal"/>
< font-triplet name="Courier" style="normal" weight="bold"/>
< font-triplet name="monospace" style="normal" weight="normal"/>
< font-triplet name="monospace" style="italic" weight="normal"/>
< font-triplet name="monospace" style="normal" weight="bold"/>
< /font>
< /fonts>
이제 FOP로 FO파일을 PDF로 변환해보자. -c 옵션으로 userconfig.xml 파일을 적용시켜야 한다.
> FOP -c /fop/conf/userconfig.xml -fo test.fo -pdf test.pdf
FOP에는 xerces와 xalan도 포함되어 있어서 다음과 같이 하면 한번에 XML 파일로부터
PDF 파일을 얻을 수 있을 것이다.
> FOP -c /fop/conf/userconfig.xml -xml resume.xml -xsl resume.xsl -pdf resume.pdf
FOP를 사용하면 FO 파일로부터 PDF 파일을 얻을 수 있습니다. 자세한 내용은 아파치 XML 프로젝트
홈페이지를 참고하도록 한다.
우선 FOP의 최신 버전을 받아혼다(0.18.1 이상). FOP도 자바 프로그램이지만 실행하기
편리하도록 만들어진 batch 파일과 쉘 스크립트 파일을 함께 만들도록 하자.
한글 PDF를 얻기 위해서는 한글 트루타입 폰트(.ttf)가 필요하며, WIN2000같은 경우
WINNT디렉토리 밑에 Fonts디렉토리에 폰트들이 준비되어 있는 것을 볼 수 있다.
폰트가 준비되었으면 다음과 같이 폰트로 부터 metrics 파일을 얻어낼 수 있는데
아래와 같은 절차를 밟도록 하자.
아래의 내용을 fontGen.bat란 파일이름으로 저장한다
@echo off
set FOP_HOME=D:\XML\fop-0.20.4rc
java -cp %FOP_HOME%\build\fop.jar;%FOP_HOME%\lib\batik.jar;%FOP_HOME%\lib\xalan-2.3.1.jar;
%FOP_HOME%\lib\xercesImpl-2.0.1.jar;%FOP_HOME%\lib\xml-apis.jar;
%FOP_HOME%\lib\avalon-framework-cvs-20020315.jar;%FOP_HOME%\lib\logkit-1.0.jar;
%FOP_HOME%\lib\jimi-1.0.jar org.apache.fop.fonts.apps.TTFReader %1 %2 %3 %4 %5 %6 %7 %8
FOP홈을 당신의 FOP가 설치된 디렉토리로 바꾸도록 하여야 함은 물론이다
아래와 같이 실행을 하도록 한다.
Fop> fopGen NGULIM.TTF ngulim.xml
한글 트루타입 폰트로부터 만들어진 metrics 파일에는 폰트의 이름 부분에 �과
같은 문자들이 포함되어질 수 있는데 이부분을 직접 편집기로 열어서 해당부분의 내용을
지워주어야 한다.
이제 FOP/conf/userconfig.xml 파일을 편집한다. 다음과 같이 폰트와 해당 metrics 파일의 경로,
폰트 이름을 정확히 적어주어야 한다.
< fonts>
< font metrics-file="ngulim.xml" kerning="yes"
embed-file="c:\WINNT\Fonts\NGULIM.TTF">
< font-triplet name="NewGulim" style="normal" weight="normal"/>
< font-triplet name="Times Roman" style="italic" weight="normal"/>
< font-triplet name="Times Roman" style="normal" weight="bold"/>
< font-triplet name="Helvetica" style="normal" weight="normal"/>
< font-triplet name="Helvetica" style="italic" weight="normal"/>
< font-triplet name="Helvetica" style="normal" weight="bold"/>
< font-triplet name="Courier" style="normal" weight="normal"/>
< font-triplet name="Courier" style="italic" weight="normal"/>
< font-triplet name="Courier" style="normal" weight="bold"/>
< font-triplet name="monospace" style="normal" weight="normal"/>
< font-triplet name="monospace" style="italic" weight="normal"/>
< font-triplet name="monospace" style="normal" weight="bold"/>
< /font>
< /fonts>
이렇게 하면 모든 경우에 한가지 폰트만 사용하게 되며, Times Roman이나 Helvetica 혹은 italic이나
bold에 각각 다른 폰트를 대응시키면 여러 폰트를 쓸 수 있게 된다.
아래의 예가 그 경우이다.
< fonts>
< font metrics-file="\fop\A.xml" kerning="yes"
embed-file="\fop\A.ttf">
< font-triplet name="Times Roman" style="normal" weight="normal"/>
< font-triplet name="Times Roman" style="italic" weight="normal"/>
< font-triplet name="Times Roman" style="normal" weight="bold"/>
< /font>
< font metrics-file="\fop\B.xml" kerning="yes"
embed-file="\fop\B.ttf">
< font-triplet name="Helvetica" style="normal" weight="normal"/>
< font-triplet name="Helvetica" style="italic" weight="normal"/>
< font-triplet name="Helvetica" style="normal" weight="bold"/>
< /font>
< font metrics-file="\fop\C.xml" kerning="yes"
embed-file="\fop\C.ttf">
< font-triplet name="Courier" style="normal" weight="normal"/>
< font-triplet name="Courier" style="italic" weight="normal"/>
< font-triplet name="Courier" style="normal" weight="bold"/>
< font-triplet name="monospace" style="normal" weight="normal"/>
< font-triplet name="monospace" style="italic" weight="normal"/>
< font-triplet name="monospace" style="normal" weight="bold"/>
< /font>
< /fonts>
이제 FOP로 FO파일을 PDF로 변환해보자. -c 옵션으로 userconfig.xml 파일을 적용시켜야 한다.
> FOP -c /fop/conf/userconfig.xml -fo test.fo -pdf test.pdf
FOP에는 xerces와 xalan도 포함되어 있어서 다음과 같이 하면 한번에 XML 파일로부터
PDF 파일을 얻을 수 있을 것이다.
> FOP -c /fop/conf/userconfig.xml -xml resume.xml -xsl resume.xsl -pdf resume.pdf
'IT_Programming > XML' 카테고리의 다른 글
Virtual Universal Server (0) | 2006.03.14 |
---|---|
Dom 프로그래밍 (0) | 2006.03.14 |
About JDOM & JDOM Programming with Java (0) | 2006.01.31 |
자바가 바라보는 XML (0) | 2006.01.31 |
XMLBeans를 이용한 xml binding (0) | 2006.01.31 |