Как реализовать пользовательские шрифты в TCPDF

в TCPDF, есть только несколько шрифтов на выбор, чтобы создать pdf-файлы. Я хочу установить Tahoma как мой шрифт pdf. Как я могу включить Tahoma в 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/ работал на меня.