我遇到TCPDF问题。使用writeHTML时,我的自定义字体(以及任何其他包含的字体)不起作用。
$tcpdf = tcpdf_get_instance();
$fontname = $tcpdf->addTTFfont('/antiquariat/sites/default/files/fonts/tstar-regular-webfont.ttf', 'TrueTypeUnicode', '', 32);
$tcpdf->SetFont('tstarwebfont', '', 16);
$tcpdf->writeHTML($html);
字体不会改变,即使我使用" helvetica"或任何其他字体。 第二件事是,自定义字体根本没有生成,但首先我很难使用,甚至没有使用任何其他字体。
答案 0 :(得分:3)
这就是我使用TCPDF的方式:
将您的字体添加到pdf对象:
$pdf->AddFont('yourfont1'); //custom font
$pdf->AddFont('yourfont2'); //custom font
现在,在writeHTML中使用它:
$html = '
<style>
h1 {
font-family: yourfont1;
font-size: 40pt;
text-align:center;
}
</style>
<h1>Testing FONT</h1>
';
$pdf->writeHTML($html, true, false, true, false, '');
答案 1 :(得分:0)
由于没有人回答我并且我没有按照需要得到它,所以我切换到目前为止工作正常的DOMPDF!这不是我想要的解决方案,而是一个有效的解决方案!
答案 2 :(得分:0)
我有TCPDF 6.2.6。
我发现添加字体是一次性操作,应该使用tools / tcpdf_addfont.php脚本完成。将字体转换并保存到fonts目录中,然后您可以在文档中按名称引用字体。
答案 3 :(得分:0)
对于任何被Google吸引到这里的人:为了使这项工作有效,我使用了以下代码:
$josefin = TCPDF_FONTS::addTTFfont('pdf/JosefinSans-Light.ttf', 'TrueTypeUnicode', '', 96); // echo $josefin;
$pdf->AddFont('josefinsanslight');
在我的CSS中,我使用了:
h2 {font-family: "josefinsanslight"; font-weight:300; color: #611c67; }
使用 addTTFfont 部分可以在tcpdf字体文件夹中生成所需文件后被跳过。
似乎字体名称是从文件名派生的,跳过所有非字母数字字符并转换为小写。
答案 4 :(得分:0)
不要问TCPDF复杂的事情。这样可以很好地工作。
$total= <<<HTML
<table style="width:100%;border:1px solid grey;">
<tr>
<td>Total </td>
<td align="right" style="font-size:12pt;font-family: 'Times New Roman', Times, serif;"><b>$value</b></td>
</tr>
</table>
HTML;
$pdf->writeHTML($total, true, false, false, false, '');