我正在尝试在 java Web 应用程序中使用 iText(版本 5.4.0)创建 pdf 文档,但遇到了字体问题。
该网络应用程序是多语言的,因此用户可以用多种语言(例如英语、法语、立陶宛语、中文、日语、阿拉伯语等)将信息保存到系统中。
当我尝试配置 pdf 以输出一些示例日语文本时,它没有显示,因此我开始遵循官方“iText in Action”书中的示例。我遇到的问题是,当我尝试使用 BaseFont.IDENTITY_H 编码配置字体时,出现以下错误:
java.nio.charset.UnsupportedCharsetException: Identity-H
at java.nio.charset.Charset.forName(Charset.java:505)
at com.itextpdf.text.pdf.PdfEncodings.convertToBytes(PdfEncodings.java:186)
at com.itextpdf.text.pdf.Type1Font.<init>(Type1Font.java:276)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:692)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:615)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:450)
Run Code Online (Sandbox Code Playgroud)
书中或谷歌搜索都没有提到这个问题。
关于我可能错过了什么有什么建议吗?
我有包含一些英文字符和一些中文字符的字符串数据。我正在使用iTextSharp使用此数据创建pdf文件。创建pdf文件后,当我打开它时,pdf仅包含英文字符。它没有显示汉字。您能告诉我如何在pdf文件中显示汉字吗?请注意,即时通讯写入pdf的字符串数据包含动态语言字符,例如,有时是英语,有些是中文,有时是日语等。