Как реализовать пользовательские шрифты в 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/ работал для меня.

Interesting Posts

Изменение по умолчанию app.config во время выполнения

Как поворачивать изображения автоматически, исходя из данных exif

Команда Batch для обнаружения всех возможных проблем с ping

Как я могу фильтровать строки при загрузке в функции Pandas read_csv?

Как получить текущий номер строки?

Как определить, была ли assembly .NET построена для x86 или x64?

Управление запуском команд командной строки Windows в новом окне

Как проверить, поддерживает ли мое оборудование 64-разрядную версию в Windows?

Несколько удаленных рабочих столов на одном сеансе

Почему scanf () вызывает бесконечный цикл в этом коде?

Ошибка MySQL 1153 – получен пакет, превышающий байты max_allowed_packet

Использование MAX () в Excel против списка дат с использованием нескольких критериев

Почему сетевой байтовый порядок определен как big-endian?

Можно ли перебирать документы, хранящиеся в индексе Lucene?

LINQ to SQL и общая сумма по упорядоченным результатам

Давайте будем гением компьютера.