In TCPDF, there are only a few fonts to choose from, to create pdf files. I want to set Tahoma
as my pdf font. How can I include Tahoma
in TCPDF??
The latest TCPDF version automatically convert fonts into TCPDF format using the addTTFfont() method. For example:
// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = TCPDF_FONTS::addTTFfont('/path-to-font/FreeSerifItalic.ttf', 'TrueTypeUnicode', '', 96);
// use the font
$pdf->SetFont($fontname, '', 14, '', false);
For further information and examples, please check the TCPDF Fonts documentation page.
NOTE: Once the font has been converted, TCPDF no longer requires the TTF file or the above call to addTTFfont()
!
I have discovered a very good tool online. The only thing you need to do is to upload your .ttf file and then download the files and copy then into the /fonts folder.
http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf
The addTTFfont method is not available on TCPDF main class so following worked for me.
// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = TCPDF_FONTS::addTTFfont('pathto/arial.ttf', 'TrueTypeUnicode', '', 96);
// use the font
$pdf->SetFont($fontname, '', 14, '', false);
Hope this helps!
I don't know anything about tcpdf or php, but I found this:
http://www.tcpdf.org/examples/example_033.phps
Apparently you just use the font's name, not the file name.
Strike one!
Okay, how about this page. To prep a font to be used by TCPDF, you have to run the file through a command line utility and a PHP script.
$ ttf2ufm -a -F myfont.ttf
And then:$ php -q makefont.php myfont.ttf myfont.ufm
orMakeFont(string $fontfile, string $fmfile [, boolean $embedded [, $enc="cp1252" [, $patch=array()]]])
ttf2ufm is distributed with TCPDF in the TCPDF/fonts directory.
the below lines will generate 3 files in ur fonts folder 1.rotisserifi56.php 2.rotisserifi56.ctg 3.rotisserifi56.rar
use this to generate the required php and other files
$fontname = $this->pdf->addTTFfont('D:/wamp/www/projectname/sites/all/modules/civicrm/packages/tcpdf/fonts/Rotis Serif Italic 56.ttf', 'TrueTypeUnicode', '', 32);
// use the font
$this->pdf->SetFont($fontname, '', 14, '', false);
Now,
use the fonts like this:
$this->pdf->AddFont('rotisserifi56', '', 'rotisserifi56.php');
$this->pdf->SetFont('rotisserifi56');
--hope this helps some one :)
I found the addTTFfont method a little finicky (ok, probably didn't try very hard) and the online tool mentioned above works for FPDF but misses the ctg.z file that TCPDF requires.
This one - http://fonts.snm-portal.com/ - generates the 3 required files (.php, .z and .ctg.z) for TCPDF. Convert the TTF, upload the three files to your fonts folder and you're good to go.
First create .php ,.afm,.z from http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf and move all three in same directory containing .ttf file. then Use This :
$pdf->AddFont(path-to/universe.ttf','',path-to/universe.php');
$pdf->SetFont(path-to/universe.ttf','',10);
Latest TCPDF supports custom fonts.
Documentation about using custom fonts with TCPDF can be read here.
the best way i have been tried and worked 100%
put your TTF
font in fonts folder and then use this constant K_PATH_FONTS + FONT NAME
$font1 = $this->pdf->addTTFfont(K_PATH_FONTS . 'arial.ttf', 'TrueTypeUnicode', '', 8);
$this->pdf->SetFont($font1, '', 15, '', false);
There is no point in using addTTFfont() if you don't have the .ttf file.
And the whole point is: if there is NO ttf file, how can someone use addTTFfont() function?
For example, there is no cid0cs file in font/ directory (TCPDF 6.0.20), only cid0cs.php, which is NOT a font file.
I wasn't able to find addTTFFont() in the latest release of tcpdf.
However, I was able to include a custom TTF file by myself. Within the tcpdf folder is a folder named tools
which include a PHP file called tcpdf_addfont.php
.
I symlinked it to my home directory (you can omit this step) and run it like this:
shell
./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf
That's it, it will dump something similar to this: ```
Converting fonts for TCPDF: *** Output dir set to /Users/pascalraszyk/XXX/XXX/pdf/vendor/tecnick.com/tcpdf/fonts/ +++ OK : /Users/pascalraszyk/XXX/XXX/pdf/myfont.ttf added as myfont Process successfully completed! ```
Note: There are more examples within the tools
folder for various font types.
I used composer to checkout tcpdf.
As long as you put your font definition files in the tcpdf/fonts
folder you should be good to go!
I used HTML2PDF which uses tcpdf under the hood and it worked like a charm.
I had this problem despite having all the right files. I had to change the file names to all lower case
When was not possible convert font GothamRounded standard way, I was looking for another tool and only this one http://fonts.snm-portal.com/ worked for me.
来源:https://stackoverflow.com/questions/5263588/how-to-implement-custom-fonts-in-tcpdf