Вставить шрифты в TCPDF - PullRequest
0 голосов
/ 10 апреля 2019

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

В TCPDF:

$pdf->SetFont('times', '', 10);

PDF-файлы, которые я создаю, выглядят потрясающе. Просто BarnesAndNoble говорит, что мой представленный PDF не содержит «встроенных шрифтов». Киндл говорит то же самое, но что они потом встраивают их для меня. Затем я пробую LuLu, но сначала хочу разобраться с BN.com.

Пример подсказывает:

$fontname = $pdf->addTTFfont('/fonts/arial.ttf', '', '', 32);

... но не говорит, что делать с "$ fontname". Ни то, что конкретно означает «32», или есть ли лучшие варианты для этого «32». Или, если это делает встраивание шрифтов!

Мой веб-хост говорит, что мой путь к шрифту:

/usr/share/fonts/default/Type1

... может быть тогда (с учетом регистра ??):

/usr/share/fonts/default/Type1/Helvetica

Мне нужно правильно встроить свои шрифты!

1 Ответ

0 голосов
/ 31 мая 2019

TCPDF просто автоматически встраивает добавленные вами шрифты. Я вполне уверен, что предполагается, что большинство всех ОС уже имеют доступ к Times, Helvetica и Courier, и поэтому TCPDF их не встраивает. Так что в вашем случае, если вы добавляете шрифт TTF, TCPDF должен распознавать, когда он используется, и автоматически вставлять определение шрифта.

Кроме того, вам нужно будет выполнить $fontname = $pdf->addTTFfont('/fonts/arial.ttf', '', '', 32); только один раз, чтобы вы могли запустить скрипт один раз, а затем закомментировать эту строку.


Прямая Из документации ;

AddFont( $family, $style = '', $fontfile = '', $subset = 'default' )

Импортирует шрифт TrueType, Type1, core или CID0 и делает его доступным. Сначала необходимо создать файл определения шрифта (прочитайте /fonts/utils/README.TXT). Файл определения (и сам файл шрифта при встраивании) должен присутствовать либо в текущем каталоге, либо в том, который указан K_PATH_FONTS, если константа определена. Если его не удалось найти, генерируется ошибка «Не удалось включить файл определения шрифта».

Параметры

$ семья - Семейство шрифтов. Название можно выбрать произвольно. Если это стандартное семейное имя, оно переопределит соответствующий шрифт.

$ style - Стиль шрифта. Возможные значения (без учета регистра):

  • пустая строка: обычная (по умолчанию)
  • B: полужирный
  • Я: курсив
  • BI или IB: полужирный курсив

$ fontfile - файл определения шрифта. По умолчанию имя строится из семейства и стиля в нижнем регистре без пробелов.

$ subset - если true, встраивать только подмножество шрифта (хранит только информацию, связанную с используемыми символами); если ложь встраивать полный шрифт; если 'default' использует значение по умолчанию, установленное с помощью setFontSubsetting (). Эта опция действительна только для шрифтов TrueTypeUnicode. Если вы хотите разрешить пользователям изменять документ, установите для этого параметра значение false. Если вы измените шрифт, у человека, получающего ваш PDF, должен быть такой же шрифт, чтобы вносить изменения в ваш PDF. Размер файла PDF также будет меньше, поскольку вы встраиваете только часть шрифта.

Returns - массив, содержащий данные шрифта, или false в случае ошибки.

С 1,5 Увидеть TCPDF :: SetFont (), TCPDF :: setFontSubsetting () Открытый


...