![](/img/trans.png)
[英]Java - Chinese characters are not displaying in generated (.rtf) document
[英]Surrogate Chinese Characters Not Displaying iText Java
使用Maven存储库中的iText 5.5.11 https://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.11
public class test {
public static void main(String[] args) throws DocumentException, IOException {
final String text = "BMP: \u6d4b \u8bd5 Surrogate: \uD841\uDF0E \uD841\uDF31 \uD859\uDC02";
BaseFont baseFont = BaseFont.createFont("C:\\Windows\\Fonts\\arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(baseFont, 6.8f);
Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream("out.pdf"));
doc.open();
Paragraph p = new Paragraph();
p.add(new Phrase(text, font));
doc.add(p);
doc.close();
}
}
基本多语言平面中的非代理字符会在生成的pdf上呈现,但代理字符不会。
编辑:也尝试使用编码为“ UniGB-UCS2-H”的字体“ STSong-Light”(如书中的示例)。 结果相同-缺少替代字符。
Edit2:可以使用“ SimSun-ExtB”字体
这通常表明使用的字体(在本例中为Arial)没有字符的字形。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.