Создание PDF-файлов с использованием TCPDF, который поддерживает все языки, особенно CJK - PullRequest
7 голосов
/ 24 февраля 2012

Может ли кто-нибудь собрать ясный и краткий пример того, как вы можете создать PDF с использованием TCPDF, который будет поддерживать текстовые строки на любом языке?

Похоже, что нет единого шрифта, который будет поддерживать все языки.Я предполагаю, что шрифт был бы слишком большим?

Я предполагаю, что правильным способом было бы определить язык строки и динамически установить тип шрифта для совместимого шрифта.Если это так, тогда становится очень сложно определить язык для каждой строки.

Большинство языков поддерживаются, если вы используете шрифт "freeserif".Однако он не поддерживает шрифты CJK.Я пробовал много шрифтов (kozminproregular, cid0jp, cid0kr, cid0jp, stsongstdlight), чтобы получить поддержку китайского, японского и корейского языков, но ни один из них не поддерживает все три языка.

Ответы [ 4 ]

1 голос
/ 17 июня 2014

Это отлично сработало для меня. Спасибо!

Чтобы убедиться, что сгенерированный PDF-файл не будет иметь большого размера, используйте FontSubsetting - у меня есть 10-страничный PDF-файл, созданный только с несколькими строчками на китайском (имена на дипломах)

$ pdf-> setFontSubsetting (истина); => PDF-файл немного больше 925 КБ против 755 КБ без китайских названий если вы используете $ Pdf-> setFontSubsetting (ложь); => PDF размер файла около 17,5 МБ ...

0 голосов
/ 03 октября 2017

I настройка:

$fontname = TCPDF_FONTS::addTTFfont(FCPATH . 'TCPDF/fonts/ARIALUNI.ttf', 'TrueTypeUnicode', '', 32);

....... // установка шрифта

$pdf->SetFont('dejavusans', '', 14);
$pdf->SetFont('cid0cs', '', 14);

Экспорт на японском работает хорошо

0 голосов
/ 01 февраля 2016

Я только что попробовал решение Etiennez0r, и оно не сработало для меня. Необходимо внести незначительные изменения, как показано ниже:

$fontname = TCPDF_FONTS::addTTFfont('../fonts/ARIALUNI.TTF', 'TrueTypeUnicode', '', 96);
0 голосов
/ 17 марта 2012

Решил эту проблему, сделав свой собственный шрифт из unicode arial ms с помощью этих шагов:

Во временной сценарий вставьте и выполните это
1. Поместите копию ARIALUNI.ttf в папку fonts при установке tcpdf (я взял свою копию из папки windows \ fonts.
2. создайте временный скрипт в папке примеров tcpdf и выполните его с помощью следующей строки:
$ fontname = $ pdf-> addTTFfont ('../ fonts / ARIALUNI.ttf', 'TrueTypeUnicode', '', 32);
3. установите новый шрифт в вашем скрипте генератора PDF:
$ pdf-> SetFont ('arialuni', '', 20);

Теперь PDF должен правильно показывать символы CJK.
Надеюсь, это поможет многим людям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...