當我改變我得到以下結果文本的顏色:無法更改粗體文字的顏色,「黑邊」仍然
什麼是創建這個黑色邊框?
當我使用飛碟,嵌入字體生成PDF並嘗試更改h1,h2等顏色時發生此問題。如果我轉儲html飛碟用於生成PDF到磁盤並在Chrome中打開它,顏色更改正確應用,沒有奇怪的黑色邊框。
當我改變我得到以下結果文本的顏色:無法更改粗體文字的顏色,「黑邊」仍然
什麼是創建這個黑色邊框?
當我使用飛碟,嵌入字體生成PDF並嘗試更改h1,h2等顏色時發生此問題。如果我轉儲html飛碟用於生成PDF到磁盤並在Chrome中打開它,顏色更改正確應用,沒有奇怪的黑色邊框。
字體程序包含繪製一組字形所需的所有路徑構建操作符。當您使用字體中的字形時,這些繪圖指令將與路徑繪製運算符一起執行。默認情況下,路徑繪製運算符是一個「填充」運算符。不繪製邊框,只使用當前填充顏色填充形狀。這稱爲默認渲染模式。
其他渲染模式例如是「筆畫」,它使用當前筆畫顏色繪製字形輪廓,但不填充它。或者是「填充和描邊」,它使用默認筆觸顏色繪製輪廓,並使用默認填充顏色填充路徑。還有一種渲染模式「隱形」,在這種情況下,沒有任何東西被撫摸,沒有任何東西被填充。
看着你的圖像,它似乎像使用的渲染模式填充灰色的字形,並使用黑色筆觸(和線寬似乎很厚)。如果我不得不猜測,我會說你試圖模仿「大膽」。以粗體顯示文本的最佳方式是從常規字體(例如arial.ttf)切換爲粗體字體(例如arialbd.ttf)。不幸的是,並不是每個字體都有一個大膽的對應字體(例如,有arialuni.ttf,但沒有arialunibd.ttf)。在這種情況下,通過將渲染模式更改爲「填充和筆畫」來模擬粗體,並且更改線寬以使字形具有大膽的外觀。這可能是你的情況發生了什麼。
檢查您的HTML:你是否有機會談論粗體文本?如果是這樣,也許你應該改變字體和顏色。這樣,您將使用真加粗字體,而不是假假字體。
免責聲明:我不知道飛碟,我不想知道它。 Flying Saucer使用iText生成PDF。 iText是我寫的一個圖書館,但Flying Saucer沒有與iText Group NV建立業務關係,而是我運營的公司。因此飛碟的創造者有責任支持他們的軟件。
我已更新我的問題以反映此問題僅出現在粗體文本(特別是h1,h2等元素)中。公司字體沒有大膽的對應字體。這是否意味着我運氣不好,還是可以更改渲染模式設置以保存一天? – expez
我不知道飛碟是如何工作的,但現在,你正在改變填充顏色。如果你能以某種方式改變筆畫顏色,那麼你很幸運。如果不是的話,你可能運氣不好。您正在使用哪種版本的iText? –
我使用的是itext 4.2.1。我已經開始獲取適當的字體粗體版本的過程。很容易保持原樣,以確保我們實際獲得正確的字體,而不僅僅是一些解決方法。 – expez