Adding a custom font to TCPDF
Last updated:This is what you need to do when you try to use a font but it's not available; this is most likely the case when you get the following error message on TCPDF:
(using, for example, arial font)
Old way
use TCPDF's
addTTFfont
and send as parameter a TTF (possibly another type too):$font = $this->addTTFfont("filename.ttf");
use the fontname when you need it...
$this->SetFont($font,'',10);
New way
Since a few versions back, there's a new file in tools/tcpdf_addfont.php
, which can be used for this very purpose. It's easier to use this tool rather than the old method (from a quick look at it, I think it's a wrapper script for calling addTTFfont
behind the scenes).
Either way, from now on you just need to call it like this (replace /path/to/tcpdf
with the location where you've installed this library and /path/to/fonts
with the location where you keep your custom fonts)
For example, to add an Arial TTF source file:
$ /path/to/tcpdf/tools/tcpdf_addfont.php -i /path/to/fonts/arial.ttf
If everything works as expected, you'll see this:
>>> Converting fonts for TCPDF:
*** Output dir set to /path/to/tcpdf/fonts/
+++ OK : /path/to/fonts/arial.ttf added as arial
>>> Process successfully completed!
To add Multiple Font Files:
$ /path/to/tcpdf/tools/tcpdf_addfont.php -i /path/to/fonts/arialb.ttf,/path/to/fonts/arialbi.ttf,/path/to/fonts/ariali.ttf
On success, you'll see this:
>>> Converting fonts for TCPDF:
*** Output dir set to /path/to/tcpdf/fonts/
+++ OK : /path/to/fonts/arialb.ttf added as arialb
+++ OK : /path/to/fonts/arialbi.ttf added as arialbi
+++ OK : /path/to/fonts/ariali.ttf added as ariali
>>> Process successfully completed!