Как реализовать пользовательские шрифты в TCPDF
В TCPDF есть только несколько шрифтов, чтобы создавать PDF-файлы. Я хочу установить Tahoma
качестве своего PDF-шрифта. Как включить Tahoma
в TCPDF?
Последняя версия 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()
!
Я нашел очень хороший инструмент онлайн. Единственное, что вам нужно сделать, это загрузить файл .ttf, а затем загрузить файлы и скопировать их в папку / fonts.
http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf
Метод addTTFfont недоступен в основном classе 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);
Надеюсь это поможет!
Я ничего не знаю о 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.
ниже строки будут генерировать 3 файла в папке шрифтов ur 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');
– Надеюсь, это поможет кому-то 🙂
Я нашел метод addTTFfont немного утонченным (хорошо, наверное, не очень старался), и онлайн-инструмент, упомянутый выше, работает для FPDF, но пропускает файл ctg.z, который требуется TCPDF.
Этот – http://fonts.snm-portal.com/ – генерирует 3 требуемых файла (.php, .z и .ctg.z) для TCPDF. Преобразуйте TTF, загрузите три файла в папку с вашими шрифтами, и вам будет хорошо.
Сначала создайте .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);
Последний TCPDF поддерживает пользовательские шрифты.
Документацию об использовании пользовательских шрифтов с TCPDF можно прочитать здесь .
лучший способ, которым я был опробован и работал на 100%, помещал ваш шрифт TTF
в папку шрифтов, а затем использовал эту константу K_PATH_FONTS + FONT NAME
$font1 = $this->pdf->addTTFfont(K_PATH_FONTS . 'arial.ttf', 'TrueTypeUnicode', '', 8); $this->pdf->SetFont($font1, '', 15, '', false);
Нет смысла использовать addTTFfont (), если у вас нет файла .ttf.
И все дело в том, что если нет файла ttf NO , как кто-то может использовать функцию addTTFfont ()?
Например, нет файла cid0cs в font / directory (TCPDF 6.0.20), только cid0cs.php, который НЕ является файлом шрифта .
Мне не удалось найти addTTFFont () в последней версии tcpdf. Однако я смог включить собственный файл TTF. Внутри папки tcpdf находится папка с именами tools
которые include файл PHP, называемый tcpdf_addfont.php
.
Я привязал его к своему домашнему каталогу (вы можете опустить этот шаг) и запустить его следующим образом: shell ./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf
Вот и все, он сбрасывает что-то похожее на это: “ `
Преобразование шрифтов для TCPDF: *** Выходной каталог установлен в /Users/pascalraszyk/XXX/XXX/pdf/vendor/tecnick.com/tcpdf/fonts/ +++ OK: / Пользователи / pascalraszyk / XXX / XXX / pdf / myfont .ttf добавлен как myfont Process успешно завершен! “ `
Примечание. В папке tools
есть несколько примеров для различных типов шрифтов. Я использовал композитора для проверки tcpdf.
Пока вы помещаете файлы определений tcpdf/fonts
папку tcpdf/fonts
вам должно быть хорошо идти!
Я использовал HTML2PDF, который использует tcpdf под капотом, и он работал как шарм.
У меня была эта проблема, несмотря на наличие всех необходимых файлов. Мне пришлось изменить имена файлов на все строчные буквы
Когда не было возможности конвертировать шрифт GothamRounded в стандартный путь, я искал другой инструмент, и только этот http://fonts.snm-portal.com/ работал для меня.