【问题标题】:I can't add the ₺ (Turkish Lira) icon to the file with Java PDFWriter我无法使用 Java PDFWriter 将₺(土耳其里拉)图标添加到文件中
【发布时间】:2025-12-19 03:30:11
【问题描述】:
BaseFont bfSpecial = BaseFont.createFont("get_font/verdana.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

Font my_font = new Font(bfSpecial, 9, Font.BOLD, BaseColor.BLACK);
    
document.add(new Paragraph("\n",my_font));
document.add(new Paragraph("*(₺₺₺₺₺)*",my_font));
document.add(new Paragraph("\n",my_font));

我的输出

如何查看 PDF 上的 ₺(土耳其里拉)符号?

【问题讨论】:

  • 这能回答你的问题吗? Unicode characters in iText PDF
  • 非常感谢您的建议,但我已经全部审核过了,很遗憾它们并不合适。 @KarlKnechtel
  • 您的代码看起来像是使用 itext 作为 pdf 库,而不是一些核心 JRE 类来创建 pdf。
  • 非常真实。您想建议不同的路径吗? @mkl

标签: java pdf itext pdf-writer


【解决方案1】:

我终于解决了这个问题。我只需要使用字体“DejaVuSerif.ttf”来解决问题。 you can download the font here

BaseFont bfSpecial = BaseFont.createFont("get_font/DejaVuSerif.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bfSpecial, 9, Font.NORMAL, BaseColor.BLACK);

【讨论】:

  • 换句话说,您的 verdana.ttf 根本不包含 ₺(土耳其里拉)图标的字形,解决方案是使用包含的字体。
  • 我可以在 JTable 中显示带有 verdana.ttf 的 ₺(土耳其里拉)图标。但我无法在 PDF 中查看它。 @mkl
  • JTable 显然使用了另一种字体的替换。另一方面,Itext 只是按照您的指示去做。