无法更改粗体文字颜色,“黑色边框”仍然存在

时间:2014-05-21 07:56:37

标签: pdf fonts flying-saucer

当我更改文本的颜色时,我得到以下结果:

是什么创造了这个黑色边框?

当我使用飞碟生成PDF,使用嵌入式字体,并尝试更改h1,h2等颜色时会出现此问题。如果我转储html飞碟用于生成PDF到磁盘并在Chrome中打开它,颜色变化正确应用,没有奇怪的黑色边框。

1 个答案:

答案 0 :(得分:4)

字体程序包含绘制一组字形所需的所有路径构造运算符。使用字体中的字形时,这些绘图指令将与路径绘制操作符一起执行。默认情况下,路径绘制操作符是" fill"运营商。没有绘制边框,只使用当前填充颜色填充形状。这称为默认渲染模式

其他渲染模式例如" stroke"它使用当前笔触颜色绘制字形的轮廓,但不填充它。或者"填充和描边"使用默认笔触颜色绘制轮廓并使用默认填充颜色填充路径。还有渲染模式"隐形"在这种情况下,没有任何东西被抚摸,没有任何东西被填满。

查看你的图像,似乎使用的渲染模式用灰色填充字形并使用黑色描边(并且线条宽度看起来很厚)。如果我不得不猜测,我会说你试图模仿"大胆"。以粗体绘制文本的最佳方法是从常规字体(例如arial.ttf)切换到粗体字体(例如arialbd.ttf)。不幸的是,并非每种字体都有粗体对应物(例如,有arialuni.ttf,但没有arialunibd.ttf)。在这种情况下,通过将渲染模式更改为"填充和描边"来模仿粗体。并且更改线宽以使字形具有粗体外观。这可能就是你的情况。

检查您的HTML:您是否有机会谈论以粗体显示的文字?如果是这样,也许你应该改变字体和颜色。这样,您就可以使用 true 粗体字体而不是假字体。

免责声明:我不知道飞碟,我也不想知道。 Flying Saucer正在使用iText进行PDF生成。 iText是我写的一个图书馆,但Flying Saucer正在使用它而没有与我运营的公司iText Group NV建立业务关系。因此,飞碟创作者有责任支持他们的软件。