5
iText를 사용하여 중국어 문자로 PDF를 만듭니다. 내가 지정한 글꼴, 한자를 사용하여 PDF를 생성하는 iText
FontFactory.registerDirectory("c:/windows/Fonts/");
new Phrase("Asian 汉字/漢字 characters", FontFactory.getFont("MS Mincho", 16, Font.NORMAL));
이
아래 코드는 적절하게 (즉, 널되지 않음) MS 명조 글꼴을 검색, 내가 코드를 사용하여로드었던 그러나
FontFactory.getFont("MS Mincho", 16, Font.NORMAL)
, 생성 된 PDF MS 명조 만 ASCII 텍스트 "아시아 문자"를 표시합니다. 즉, 중국어 문자는 PDF에 표시되지 않습니다.
생성 된 PDF에서 중국어 문자가 누락 된 이유는 무엇입니까? 문제가, 코멘트를 여기에 해상도 해결 한 바와 같이
당신은 당신이) 적절한 [인코딩]와 글꼴을 사용하고 있는지 확인해야 사용 (http://itextpdf.com/themes/keyword.php?id=394) ('BaseFont.IDENTITY_H')와 b) [embed] (http://itextpdf.com/themes/keyword.php?id=71) 그것 ('BaseFont.EMBEDDED')을 포함하고 있습니다. [iText in Action - 2nd Edition] (http://itextpdf.com/book/chapter.php?id=11)의 샘플 [chaptrer 11] (http://itextpdf.com/book/)에서 영감을 얻어보십시오. . – mkl
감사합니다. 이제 생성 된 PDF에 한자가 제대로 표시됩니다. FontFactory.registerDirectory()를 호출 할 필요가 없습니다. BaseFont.createFont ("c : /windows/Fonts/MSMINCHO.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)를 사용하고 Font (BaseFont, size)를 인스턴스화하기 만하면됩니다. FontFactory.getFont ("MS Mincho")는 한자와 호환되지 않습니다. –
사실'FontFactory'는 적절하게 매개 변수화 된 글꼴 객체를 만드는 데에도 마찬가지로 사용할 수 있습니다. 그러나 사실, 당신은 그것을 필요로하지 않습니다. – mkl