如何在eclipse中使用itext-asian库?

时间:2014-09-14 18:05:22

标签: itext

我的代码:

public static final String[] tempString = { "KozMinPro-Regular.otf", "UniJIS-UCS2-H", pharseString };
bf = BaseFont.createFont(tempString[0], tempString[1], BaseFont.NOT_EMBEDDED);

结果:

java.nio.charset.UnsupportedCharsetException: UniJIS-UCS2-H
    at java.nio.charset.Charset.forName(Unknown Source)
    at com.itextpdf.text.pdf.PdfEncodings.convertToBytes(PdfEncodings.java:186)
    at com.itextpdf.text.pdf.TrueTypeFont.<init>(TrueTypeFont.java:376)
    at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:705)
    at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:621)
    at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:456)
    at de.vogella.itext.write.Main.addTextJapanese(Main.java:145)
    at de.vogella.itext.write.Main.addContent(Main.java:134)
    at de.vogella.itext.write.Main.main(Main.java:254)

我的项目:

请参阅链接:http://upanh.in/Cmk

您对如何修复错误有任何建议吗?

1 个答案:

答案 0 :(得分:1)

你是在为自己的错误责备你的工具。

这没有意义:

public static final String[] tempString = { "KozMinPro-Regular.otf", "UniJIS-UCS2-H", pharseString };    
bf = BaseFont.createFont(tempString[0], tempString[1], BaseFont.NOT_EMBEDDED);

您有一个名为KozMinPro-Regular.otf的字体程序,或者您想使用字体KozMinPro-Regular

如果您有一个名为KozMinPro-Regular.otf的文件,则不需要iText-Asian.jar。只需使用该字体程序支持的编码的字体文件即可。该OpenType字体不支持UniJIS-UCS2-H

如果您想使用CJK字体(非嵌入字体且需要Adobe Reader中的字体包),您应该使用KozMinPro-Regular(不含otf)。

简而言之:您遇到 代码中的错误,而不是您正在使用的工具中的错误。您可能希望将来以不同的方式表达您的问题。