我想在 iTextPDf 中显示特殊字符印度卢比符号,
我的代码:
Font fontRupee = FontFactory.GetFont("Arial", "₹", true, 12);
Chunk chunkRupee = new Chunk(" ₹ 5410", font3);
最佳答案
在源代码中存储诸如 ₹ 之类的 Unicode 字符绝不是一个好主意。如果你这样做,很多事情都会出错:
从您的代码示例中,很明显您不熟悉称为编码的概念。创建
Font
时对象,您将卢比符号作为编码传递。实现您想要的正确方法如下所示:
BaseFont bf =
BaseFont.CreateFont("c:/windows/fonts/arial.ttf",
BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 12);
Chunk chunkRupee = new Chunk(" \u20B9 5410", font3);
请注意,卢比符号有两种可能的 Unicode 值(来源 Wikipedia ):\u20B9 是您要查找的值;替代值是\u20A8(看起来像这样:₨)。
我已经用 arialuni.ttf 和 arial.ttf 对此进行了测试。令人惊讶的是,MS Arial Unicode 只能呈现 ₨;它无法呈现 ₹。普通的 arial 能够渲染这两个符号。检查您使用的字体是否知道如何绘制符号非常重要。如果没有,您的页面上将不会显示任何内容。
关于asp.net-mvc-3 - 如何在 MVC3 中的 iText PDF 中显示印度卢比符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465183/