在Java中添加对新的Rupee符号的支持到iTextPDF

时间:2012-12-28 04:16:59

标签: java pdf unicode itext

我的项目与计费应用程序有关,我正在使用iTextPdf库生成PDF文件。但是我的要求是在iTextPdf生成的PDF中显示新的Rupee符号,而不是“Rs。”。

我知道跟随Unicode \u20B9的是新的卢比符号。我使用以下代码进行格式化:

String formater(String a) {
  DecimalFormat formatter = new DecimalFormat("\u20B9 000");
  return formatter.format(Double.parseDouble(a));
}

但生成的PDF文件不显示任何卢比符号。那么如何在iTextPdf库中使用它呢?是否需要与库本身合并的其他字体?

2 个答案:

答案 0 :(得分:0)

在IDE中更改不是问题。 您的iTextPDF将以特定字符集将内容写入PDF。控制数据是否正确显示。

您可以尝试这两个链接

SO question for that contain how to check character set

iTextPdf site for how to correct character set

答案 1 :(得分:0)

感谢mkl,Naveen的帮助。

希望这可以帮助某人,我为此做了以下事情:

第1步:下载了具有卢比符号Unicode的字体(为此我更新了我的窗口(Windows Update并获得了带有卢比符号的arial字体)

第2步:使用iText我使用IDENTITY_H编码创建了嵌入式基本字体:

BaseFont baseFont = BaseFont.createFont(this.getClass().getResource("arial.ttf").toString(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(baseFont);

现在生成的pdf有新的卢比符号。