FontFactory(lowagie),Java,在尝试使用UniJIS-UCS2-H时获取UnsupportedEncodingException(对于日语)

时间:2011-08-23 17:59:34

标签: java pdf unicode fonts itext

我正在使用com.lowagie.text.FontFactory生成PDF文件,并尝试使用自定义字体KozMinPro-Regular,它提供对日文字符的支持,因为我们需要支持这一点。我发现搜索中的示例显示了如何执行此操作,类似于我在下面的操作,这些示例假设支持UniJIS-UCS2-H编码,但是当我尝试这个时,我得到下面的例外,说这个编码不是支持的。如果有人对此有任何了解,我将不胜感激。感谢

FontFactory.register("/usr/share/fonts/truetype/KozMinPro-Regular.ttf", "JapaneseCompatible");
contentFont = FontFactory.getFont("JapaneseCompatible", "UniJIS-UCS2-H", true, 11, Font.BOLD);
headerFont = FontFactory.getFont("JapaneseCompatible", "UniJIS-UCS2-H", true, 11, Font.BOLD);

我得到的例外:

 Exception: [.ReportPdfView] Exception caught during generation of pdf file. Cause: UniJIS-UCS2-H
ExceptionConverter: java.io.UnsupportedEncodingException: UniJIS-UCS2-H
    at java.lang.StringCoding.encode(StringCoding.java:286)
    at java.lang.String.getBytes(String.java:954)
    at com.lowagie.text.pdf.PdfEncodings.convertToBytes(Unknown Source)
    at com.lowagie.text.pdf.TrueTypeFont.<init>(Unknown Source)
    at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)
    at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)
    at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)
    at com.lowagie.text.FontFactoryImp.getFont(Unknown Source)
    at com.lowagie.text.FontFactoryImp.getFont(Unknown Source)
    at com.lowagie.text.FontFactory.getFont(Unknown Source)
    at com.lowagie.text.FontFactory.getFont(Unknown Source)

1 个答案:

答案 0 :(得分:3)

您需要iTextAsian.jar。它给予了CJK支持。

...见

对于早期版本的iText或

http://itextpdf.sourceforge.net/

http://sourceforge.net/projects/itext/files/extrajars/用于更高版本的iText。(extrajars.zip包含iTextAsian.jar)