Как реализовать пользовательские шрифты в TCPDF
13 ответов
последняя версия 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 недоступен в основном классе 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 fonts 1.rotisserifi56.РНР 2.rotisserifi56.КТГ 3.rotisserifi56.Рар
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 необходимых файла (.РНР. ,z и .КТГ.z) для TCPDF. Преобразуйте TTF, загрузите три файла в папку fonts, и вы хорошо пойдете.
создать .РНР., АСМ.,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, как кто-то может использовать функцию addTTFfont ()?
например, нет файла cid0cs в font / directory (TCPDF 6.0.20), только cid0cs.php, который является не файл шрифта.
я не смог найти addTTFFont() в последней версии tcpdf.
Тем не менее, я смог включить пользовательский файл TTF самостоятельно. В папке tcpdf находится папка с именем tools
которые включают PHP-файл с именем tcpdf_addfont.php
.
Я symlinked его в мой домашний каталог (вы можете опустить этот шаг) и запустить его так:
shell
./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf
вот именно, он сбросит что-то похожее на это: ``
преобразование шрифтов для TCPDF: *** Выход реж установить в /users/pascalraszyk/ХХХ/ХХХ/формат PDF/поставщика/tecnick.ком/Георгиев/шрифты/ + + + OK: / пользователи / pascalraszyk / XXX/XXX/pdf / myfont.ttf добавлен как myfont Процесс успешно завершен! ``
Примечание: есть больше примеров в tools
папка для различных типов шрифтов.
Я использовал composer для проверки tcpdf.
пока вы помещаете файлы определения шрифта в вы должно быть хорошо идти!
я использовал HTML2PDF, который использует tcpdf под капотом, и он работал как шарм.
У меня была эта проблема, несмотря на наличие всех правильных файлов. Мне пришлось изменить имена файлов в нижний регистр
когда не было возможности конвертировать шрифт gothamrounded стандартным способом, я искал другой инструмент и только этот http://fonts.snm-portal.com/ работал на меня.