我知道這個問題很老,但我有同樣的問題,並修復它。
你可以做什麼,但不應該做的是:
$pdf->SetFont('verdana_bold', 'B', 12);
$pdf->SetFont('verdana', '', 12);
什麼你基本上做的是在這裏定義2種字體。一個名爲verdana,一個名爲verdana_bold。 雖然您將B指定爲粗體,但無法找到此ttf。因爲TCPDF基本上檢查名爲verdana_boldb.ttf的字體目錄中的文件。 這不存在,所以它需要verdana_bold.ttf(乍一看似乎是正確的行爲)。
對於我來說,在我嘗試在表格中同時使用粗體和非粗體樣式之後,問題變得明顯,而且我只以粗體顯示整個表格或者以非粗體顯示整個表格(刪除或添加B樣式說明符沒有區別)。
你應該做的:
添加新字體類型:
$fontname = TCPDF_FONTS::addTTFfont($fontfile, 'TrueType', '', 32);
當你想使用的字體:
$pdf->SetFont('verdana', '', 10, '', false);
當你想在一個HTML粗體項目cell使用html b標記:
<b>myvalue</b>
如果您有verdanab.ttf文件,則可以檢查字體目錄。
$ ls fonts/verdanab.
verdanab.ctg.z verdanab.php verdanab.z
我希望這可以幫助別人:)
或者,使用PhantomJS並有使用WebKit渲染生成PDF。 http://phantomjs.org/ – starlocke
http://stackoverflow.com/questions/5263588/how-to-implement-custom-fonts-in-tcpdf –
如果從Linux系統運行PhantomJS,它仍然需要Freetype和Fontconfig。 http://phantomjs.org/download.html –