0

PDF 파일을 생성하는 데 fop 및 xslt를 사용하는 응용 프로그램이 있습니다. §£?ÐÅÆ과 같은 특수 문자는 ????으로 PDF에 나타납니다.weblogic 서버가있는 Solaris에서 특수 문자 인코딩 문제

weblogic 서버가 solaris 시스템에서 실행 중입니다. 이미 weblogic.xml에서

<charset-params> 
    <input-charset> 
     <resource-path>/*</resource-path> 
     <java-charset-name>UTF-8</java-charset-name> 
    </input-charset> 
    <charset-mapping> 
    <iana-charset-name>UTF-8</iana-charset-name> 
    <java-charset-name>UTF-8</java-charset-name> 
</charset-mapping>  
</charset-params> 

으로 노력했다.

나는 또한

transformer.setOutputProperty(OutputKeys.METHOD, "xml"); 
      transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); 
      transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
      transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); 

아무것도 시도 저기 작동하는 것 같군.

답변

0

해당 문자가있는 글꼴을 찾으려면 fop을 설정 했습니까? 예를 들어, 솔라리스 11 에 (하지 웹 로직과 함께하지만) 나는 맵시 꾼-conf.xml에서 글꼴 경로를 설정했다 FOP를 사용하여 :

<?xml version="1.0"?> 
<!-- NOTE: This is the version of the configuration --> 
<fop version="1.0"> 
    <renderers> 
    <renderer mime="application/pdf"> 
     <fonts> 
     <!-- register all the fonts found in a directory --> 
     <directory>/usr/share/fonts/TrueType/core/</directory> 
     <directory>/usr/share/fonts/TrueType/dejavu/</directory> 
     <directory>/usr/share/fonts/TrueType/liberation/</directory> 
     <directory>/usr/share/fonts/TrueType/unifont/</directory> 

     <!-- register all the fonts found in a directory and all of its sub directories (use with care) --> 
     <!-- directory recursive="true">C:\MyFonts2</directory --> 

     <!-- automatically detect operating system installed fonts --> 
     <auto-detect/> 
     </fonts> 
    </renderer> 

    <renderer mime="application/postscript"> 
     <fonts> 
     <directory>/usr/share/fonts/X11/Type1/</directory> 
     <directory>/usr/share/ghostscript/fonts/</directory> 
     <directory>/usr/share/fonts/TrueType/core/</directory> 
     <directory>/usr/share/fonts/TrueType/dejavu/</directory> 
     <directory>/usr/share/fonts/TrueType/liberation/</directory> 
     <directory>/usr/share/fonts/TrueType/unifont/</directory> 
     </fonts> 
    </renderer> 
</renderers> 
</fop> 

(글꼴 경로가 솔라리스의 이전 버전에 따라 달라질 수 있습니다.)

자세한 내용

, 참조 :

+0

제 서버는 Solaris 5.10 sparc입니다. 이 길은 괜찮을까요? 그렇지 않은 경우, 적절한 글꼴 경로를 얻는 방법. 또한 웹 응용 프로그램에서이 파일에 대한 참조를 제공하는 방법을 알려주십시오. 이 파일을 web.xml의 어딘가에 등록해야하거나 이것을 사용하기 위해 일부 Java 코드를 추가해야합니다. – saurabh

+0

나는 FOP에 익숙하지 않아서 이것에 대해별로 생각하지 않는다. 나는 fopFactory.setUserConfig (새로운 파일 (servletContext.getRealPath ("/ xml/fo/fop-conf.xml"))); 내 PDF 생성기 클래스 및 위의 XML을 사용하지만이 작동하지 않았다. – saurabh

+0

다음은 내 코드입니다 .... – saurabh