gpt4 book ai didi

java - fop pdf generation with font awesome 图标

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:10 24 4
gpt4 key购买 nike

请帮帮我,我对fop pdf生成有两个疑惑

  1. 如何在基于 FOP 的 pdf 生成中包含超棒的字体图标或 utf 字符

  2. 根据值应用颜色。

请帮帮我

接受任何建议。

最佳答案

您可以使用 Font Awesome就像任何其他字体一样:

  1. 在 FO 文件中,在 fo:block(或 fo:inline,...)上设置 font-family 属性包含 Unicode entities for the icons你需要
  2. 创建/编辑 FOP 配置文件以将 font-family 值映射到 Font Awesome 发行版中包含的 TrueType 字体文件
  3. 告诉 FOP 使用你的配置文件

至于颜色,您可以使用属性colorbackground-color 来设置字形字体颜色和背景颜色。

使用 FOP 2.0 测试的示例:

FO 片段

<fo:block>
Icons:
<fo:inline font-family="FontAwesome">
&#xf13d; &#xf242; &#xf02d; &#xf27b;
</fo:inline>
</fo:block>
<fo:block>
Coloured icons:
<fo:inline font-family="FontAwesome" color="#AA0000">
&#xf13d; &#xf242; &#xf02d; &#xf27b;
</fo:inline>
</fo:block>
<fo:block>
Coloured icons with background:
<fo:inline font-family="FontAwesome" color="#FFFFFF" background-color="#AA0000">
&#xf13d; &#xf242; &#xf02d; &#xf27b;
</fo:inline>
</fo:block>

FOP配置片段:

<renderer mime="application/pdf">
...
<fonts>
<font embed-url="/Users/furini/font-awesome-4.4.0/fonts/fontawesome-webfont.ttf">
<font-triplet name="FontAwesome" style="normal" weight="normal"/>
</font>
...
</fonts>
...
</renderer>

输出:

PDF output screenshot

请注意,您会收到一条警告,但无需担心(它只是告诉您 Font Awesome 没有默认连字字符的字形,但无论如何您都不会对图标使用连字!):

25-ott-2015 13.31.38 org.apache.fop.fo.properties.CommonHyphenation getHyphChar
WARNING: Substituted specified hyphenation character (0x2d) with 0x20 because the font doesn't have the specified hyphenation character: FontAwesome,normal,400

(this old answer of mine 提供了有关字体配置和您可能收到的错误/警告的更多详细信息)

(披露:我是 FOP 开发人员,虽然现在不是很活跃)

关于java - fop pdf generation with font awesome 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33326408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com