FontFactory (lowagie), Java, получая UnsupportedEncodingException при попытке использовать UniJIS-UCS2-H (для японского) - PullRequest
2 голосов
/ 23 августа 2011

Я использую 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 Ответ

3 голосов
/ 01 сентября 2011

Вам нужно iTextAsian.jar. Это дает поддержку CJK.

смотри ...

http://itextpdf.sourceforge.net/ для более ранних версий iText или

http://sourceforge.net/projects/itext/files/extrajars/ для более поздней версии iText. (Extrajars.zip содержит iTextAsian.jar)

...