【问题标题】:C# ItextSharp Fontawesome Icons ( currency ) - PDFC# ItextSharp Fontawesome 图标(货币)- PDF
【发布时间】:2015-05-25 14:50:55
【问题描述】:

我在导入图标 (fontawesome-webfont.ttf) 并在 PDF 上显示它们时遇到问题 - 但我无法在 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

标签: c# pdf icons itextsharp


【解决方案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);

结果将如下所示:

【讨论】:

  • 我仍然看不到图标 @BrunoLowagie
  • 您使用的是哪个版本的 iTextSharp?不久前有人在 StackOverflow 上发布了类似的问题。升级到正式版 iTextSharp 后问题消失(而不是使用未经 iText Group NV 认可的版本)。
  • 另外:我从您的问题中复制/粘贴了一些代码,但现在我仔细查看了它,我发现您在"\uf0d6" 中省略了u(您有“\f0d6 ")。
  • 非常感谢 正确,在我的项目中,我使用的是 4.1.2.0,添加“\uf0d6”后,我可以在我的虚拟项目版本(5.5.4)中使用图标,但如果我必须使其对所有图标通用我应该为所有图标类添加“u”(好奇)
  • 当您使用硬编码的 UNICODE Strings 时,您需要使用 \u 表示法。请升级到更新的版本!由于代码库存在一些技术和法律问题,iTextSharp 4.1.2.0 不应在商业环境中使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
相关资源
最近更新 更多