【发布时间】:2017-05-10 22:50:49
【问题描述】:
有没有人知道如何让 itextpdf 使用西里尔符号?
I have code:
Font normal = FontFactory.getFont(String.valueOf(Font.FontFamily.HELVETICA), "CP1251", false, 13);
Document doc = new Document(PageSize.A4, 36, 36, 36, 65);
Paragraph paragraph = new Paragraph("ЗАПИСЬ!!!", normal);
doc.add(paragraph);
我看到 CP1251 工作良好,但对于单个字符 - 而对于文本 - (在我的示例中为“ЗАПИСЬ”)。它会显示所有相互重叠的字符。
我的代码有什么问题? 谢谢!
【问题讨论】:
-
使用支持这些字符的字体,例如 arial.ttf,采用 Unicode 编码。
-
@PauloSoares 评论顶部的额外说明:如果您使用 arial 以外的其他东西以确保它在任何地方都能正常工作,您可能还想嵌入您选择的 ttf 前端。
BaseFont bf_russian = BaseFont.createFont("location/of/your/font.ttf", "CP1251", BaseFont.EMBEDDED); Font normal = new Font(bf_russian, 12);