【问题标题】:Fallback font with iTextSharp使用 iTextSharp 的后备字体
【发布时间】:2013-04-25 11:38:56
【问题描述】:

我正在使用 iTextSharp 创建 PDF:s。我有一个小问题,用户可以使用的某些字体中缺少一些字形。是否可以像在 CSS 中那样使用后备字体或字体堆栈?

【问题讨论】:

    标签: pdf fonts itextsharp


    【解决方案1】:

    我认为您正在寻找 FontSelector 类。

    有一个 Java 示例 here 和一个 C# 示例 here

    这个想法是创建一个FontSelector 对象,您可以使用AddFont() 方法向其中添加字体。现在,当您有一个 string 包含一种字体中缺少但以另一种字体存在的字形时,您可以使用 process() 方法创建一个由一系列 Chunk 对象组成的 Phrase不同的字体。

    将字体添加到选择器的顺序很重要。在检查string 中的字符时,将检查第一个字体是否存在与字符对应的字形。如果找到字形,则该字体将用于该字符;如果缺少字形,则将检查第二种字体。相同的字形可以出现在不同的字体中,但 iText 将始终首先查看添加到选择器的第一个字体,并在找到字形后立即忽略所有其他字体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多