C# ItextSharp字体图标(货币)- PDF

3

我遇到了一个问题,就是在 PDF 文件中导入图标(fontawesome-webfont.ttf)并显示它们 - 但我无法在 PDF 中显示它们,特别是货币图标(fa-money)。有些图标我能够从 CultureInfo 类中获取,如果我错过了其他东西,请告诉我。

chunkRows = new Chunk(val.ToString("C", new CultureInfo(strCulture)) + "  ", rowFont);

我可以帮你解决这个问题,需要帮助。
代码---
var fontAwesomeIcon = BaseFont.CreateFont(fontpath + "fontawesome-webfont.ttf", BaseFont.CP1252, BaseFont.EMBEDDED);

Font fontAwe = new Font(fontAwesomeIcon,8,Font.NORMAL,Color.BLACK);

chunkRows = new Chunk("\f0d6", fontAwe);

你为什么要使用 CP1252 - Bruno Lowagie
1个回答

1
请像这样调整您的代码:

请适应您的代码:

var fontAwesomeIcon = BaseFont.CreateFont(fontpath + "fontawesome-webfont.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font fontAwe = new Font(fontAwesomeIcon, 8);
chunkRows = new Chunk("\uf0d6", fontAwe);

结果将会像这样:

enter image description here


我仍然无法看到@BrunoLowagie的图标。 - raghava patnam
你使用的是哪个版本的iTextSharp?之前有人在StackOverflow上发布了类似的问题。在升级到iText Group NV认可的官方版本后,问题消失了。 - Bruno Lowagie
另外,我从你的问题中复制/粘贴了一些代码,但是现在我仔细查看后发现在 "\uf0d6" 中你省略了 u (你写成了 "\f0d6")。 - Bruno Lowagie
非常感谢。在我的项目中,我使用的是4.1.2.0版本,在添加"\uf0d6"后,我能够在我的虚拟项目版本(5.5.4)中看到图标,但如果我想要使其通用于所有图标类,我应该为所有图标类添加"u"(好奇)。 - raghava patnam
当您使用硬编码的UNICODE String时,需要使用\u符号。请升级到更高版本!由于代码基础存在多个技术和法律问题,iTextSharp 4.1.2.0不应在商业环境中使用。 - Bruno Lowagie
@JG'sSpark 对于一个超过3年的问题进行评论并不是一个好主意。如果您有问题,请发布一个新的问题。另外请注意,iText在过去几年中已经完全重写。在这个问题和答案中讨论的版本已经不再得到支持。当前版本是iText 7.1.3。 - Bruno Lowagie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接