Как реализовать пользовательские шрифты в TCPDF - PullRequest
41 голосов
/ 10 марта 2011

В TCPDF есть только несколько шрифтов для создания PDF-файлов.Я хочу установить Tahoma в качестве моего шрифта PDF.Как я могу включить Tahoma в TCPDF ??

Ответы [ 13 ]

65 голосов
/ 02 октября 2011

Последняя версия TCPDF автоматически конвертирует шрифты в формат TCPDF с помощью метода addTTFfont ().Например:

// 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);

Для получения дополнительной информации и примеров перейдите на страницу документации Шрифты TCPDF .

ПРИМЕЧАНИЕ. После преобразования шрифта TCPDF больше не используется.требуется файл TTF или вышеуказанный вызов addTTFfont()!

23 голосов
/ 17 октября 2012

Я обнаружил очень хороший инструмент онлайн.Единственное, что вам нужно сделать, это загрузить свой файл .ttf, а затем загрузить файлы и скопировать их в папку / fonts.

http://www.xml -convert.com / en / convert-tff-font к АФМ-PFA-FPDF-TCPDF

8 голосов
/ 14 января 2015

Метод addTTFfont недоступен в основном классе TCPDF, поэтому у меня сработало следующее.

// 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);

Надеюсь, это поможет!

3 голосов
/ 23 октября 2013

в следующих строках будет сгенерировано 3 файла в папке ur fonts 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);

Теперь

использует такие шрифты, какэто:

 $this->pdf->AddFont('rotisserifi56', '', 'rotisserifi56.php');
$this->pdf->SetFont('rotisserifi56');

- надеюсь, это поможет кому-то:)

3 голосов
/ 11 марта 2011

Я ничего не знаю о tcpdf или php, но я нашел это:

http://www.tcpdf.org/examples/example_033.phps

Видимо, вы просто используете имя шрифта, а не имя файла.


Ударь один!

Хорошо, как на этой странице .Чтобы подготовить шрифт, который будет использоваться TCPDF, необходимо запустить файл с помощью утилиты командной строки и сценария PHP.

$ ttf2ufm -a -F myfont.ttf

И затем:
$ php -q makefont.php myfont.ttf myfont.ufm
или
MakeFont(string $fontfile, string $fmfile [, boolean $embedded [, $enc="cp1252" [, $patch=array()]]])

ttf2ufm распространяется вместе с TCPDF в каталоге TCPDF / fonts.

2 голосов
/ 19 июня 2015

Сначала создайте .php, .afm, .z из http://www.xml -convert.com / en / convert-tff-font-to-afm-pfa-fpdf-tcpdf и переместите все три в тот же каталог, содержащий файл .ttf. затем используйте это:

$pdf->AddFont(path-to/universe.ttf','',path-to/universe.php');
$pdf->SetFont(path-to/universe.ttf','',10);
2 голосов
/ 29 мая 2015

Я нашел метод addTTFfont немного привередливым (хорошо, вероятно, не очень старался), и упомянутый выше онлайн-инструмент работает для FPDF, но пропускает файл ctg.z, который требуется TCPDF.

Этот - http://fonts.snm -portal.com / - генерирует 3 необходимых файла (.php, .z и .ctg.z) для TCPDF. Преобразуйте TTF, загрузите три файла в папку со шрифтами, и все готово.

2 голосов
/ 09 апреля 2012

Последний протокол TCPDF поддерживает пользовательские шрифты.

Документацию по использованию пользовательских шрифтов с TCPDF можно прочитать здесь .

1 голос
/ 13 января 2013

лучший способ, которым меня судили и работали 100% поместите ваш TTF шрифт в папку шрифтов и затем используйте эту константу K_PATH_FONTS + FONT NAME

   $font1 = $this->pdf->addTTFfont(K_PATH_FONTS . 'arial.ttf', 'TrueTypeUnicode', '', 8);
   $this->pdf->SetFont($font1, '', 15, '', false);
0 голосов
/ 08 января 2017

Когда не было возможности конвертировать шрифт GothamRounded стандартным способом, я искал другой инструмент и только этот http://fonts.snm -portal.com / работал для меня.

...