fop 한글 truetype 관련 에러 해결책 좀...
글쓴이: 세벌 / 작성시간: 화, 2010/03/09 - 8:13오전
fop에 한글글꼴 써서 pdf 변환 하려고 합니다.
http://xmlgraphics.apache.org/fop/0.95/fonts.html#truetype-metrics
참고해서 아래와 같이 했는데 에러가 납니다.
C:\fop\fop-0.95>java -cp build\fop.jar;lib\avalon-framework-4.20.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar org.apache.fop.fonts.apps.TTFReader d:\ttf\nGulim.ttf d:\ttf\nGulim.xml TTF Reader for Apache FOP 0.95 Parsing font... Reading d:\ttf\nGulim.ttf... Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlgraphics/fonts/Glyphs at org.apache.fop.fonts.truetype.TTFFile.initAnsiWidths(TTFFile.java:444) at org.apache.fop.fonts.truetype.TTFFile.readFont(TTFFile.java:493) at org.apache.fop.fonts.apps.TTFReader.loadTTF(TTFReader.java:209) at org.apache.fop.fonts.apps.TTFReader.main(TTFReader.java:164) Caused by: java.lang.ClassNotFoundException: org.apache.xmlgraphics.fonts.Glyphs at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 4 more
Forums:
저 클래스 파일이 있나 확인해보세여
org/apache/xmlgraphics/fonts/Glyphs
이 파일이 없어서 그런거 같은데여
애 클래스 파일이 있는 jar파일을 cp에 추가해보새여
즐린
즐린
여전히 한글은 안 나오네요.
인터넷 찾아가면서 한 걸음씩 나가다가 막혔습니다....
실제로는 한줄인데 보기 편하라고 줄 나누었음.
이렇게 nGulim.xml 만들었고...
cfg.xml 만들고
이렇게 해 보았는데 한글이 # 로 나오네요.
첨부파일 확장자 제한때문에 파일이름 끝에 .txt 를 붙여서 첨부합니다.
세벌 https://sebuls.blogspot.kr/
일단 성공!
fop.bat 그대로 쓰면 OutOfMemoryError
fop.bat 열어서 마지막 줄에 -cp 바로 전에 -Xmx256m 추가
fop.xconf를 적당한 곳에 복사하여 이름을 바꾸고 예를 들어 cfghan.xml
cfghan.xml 의 font 항목을 아래아 같이 편집
fo file 만듦. 예: fohan.fo
아래와 같이 실행
세벌 https://sebuls.blogspot.kr/
fop 똑같이 적용했는대...ㅠㅠ
'nGulim,normal,400' not found. Substituting with 'any,normal,400'.
이런 에러가 나면서 적용이 안되고 ### 으로 처리가 안되네요
답변좀 해주시면 안될가요? 혹시 이런 문제 있으셧나여?
사용하신 .xml .fo 파일 올려 주셔요.
이런 식으로 하셨겠죠?
cfg.xml 에
이런 식으로 추가 또는 편집 하시고
a.fo 에
이런 식으로 두 파일에 nGulim이라는 문자열이 서로 맞아야 됩니다. 대소문자도 구별하니 맞게 써 줘야 되고요...
http://start.linuxstudy.pe.kr/wiki/wiki.php/fop 참고하시고...
그래도 잘 안 되면 이때 사용한 .xml .fo 파일 둘 다 올려주셔요. 분석해서 해결책 알려 드리겠습니다.
세벌 https://sebuls.blogspot.kr/
댓글 달기