使用iTextpdf无法显示某些中文字体
Some Chinese font can't be displayed using iTextpdf
在下面的代码中:
static public void main(String[] args) throws Exception {
Document document = new Document();
FileOutputStream os = new FileOutputStream(new File("PDF_FILE"));
PdfWriter.getInstance(document, os);
document.open();
BaseFont STXiHei = BaseFont.createFont("STXiHei.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
BaseFont SongTi = BaseFont.createFont("SongTi.ttc,6", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
document.add(new Paragraph("华文细黑", new Font(STXiHei)));
document.add(new Paragraph("宋体", new Font(SongTi)));
document.close();
}
只有第二种字体宋体
会显示,如果我想使用第一种字体华文细黑
怎么办?这是编码错误造成的吗?
虽然我还没有完全理解原因,但我的问题是通过使用 Windows 中的 STXihei.ttf
而不是 Mac 中的那个来解决的。希望这些信息对您有所帮助。
在下面的代码中:
static public void main(String[] args) throws Exception {
Document document = new Document();
FileOutputStream os = new FileOutputStream(new File("PDF_FILE"));
PdfWriter.getInstance(document, os);
document.open();
BaseFont STXiHei = BaseFont.createFont("STXiHei.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
BaseFont SongTi = BaseFont.createFont("SongTi.ttc,6", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
document.add(new Paragraph("华文细黑", new Font(STXiHei)));
document.add(new Paragraph("宋体", new Font(SongTi)));
document.close();
}
只有第二种字体宋体
会显示,如果我想使用第一种字体华文细黑
怎么办?这是编码错误造成的吗?
虽然我还没有完全理解原因,但我的问题是通过使用 Windows 中的 STXihei.ttf
而不是 Mac 中的那个来解决的。希望这些信息对您有所帮助。