Генерация PDF с использованием японских шрифтов в Codeigniter с использованием TCPDF

Я столкнулся с проблемой для создания японского текста на основе PDF с использованием TCPDF. Ранее я работал в raw php, html и css, а tcpdf прекрасно работал со следующим кодом:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
if (@file_exists(APPPATH . 'libraries/tcpdf/examples/lang/eng.php')) {
require_once(APPPATH . 'libraries/tcpdf/examples/lang/eng.php');
$pdf->setLanguageArray($l);
}
if (@file_exists(APPPATH . 'libraries/tcpdf/examples/lang/jpn.php')) {
require_once(APPPATH . 'libraries/tcpdf/examples/lang/jpn.php');
$pdf->setLanguageArray($l);
}
$pdf->setLanguageArray($l);

$pdf->setPrintHeader(false);
$pdf->setFontSubsetting(true);

$pdf->SetFont('cid0jp', '', 11);
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Output('result.pdf', 'I');

который может генерировать мой желаемый PDF с японским текстом.

氏 名
(全 角 · 名字 と 名 前 の 間 に 字 ス ペ ー
ス)
название
(Фамилия Имя)

Но когда я попытался включить это в контроллер codeigniter, японские тексты показывают вопросительные знаки в сгенерированном pdf:

require_once(APPPATH . 'libraries/tcpdf/tcpdf.php');

Вывод в формате PDF выглядит следующим образом:

??
(?????????????????)
название
(Фамилия Имя)

Чего мне не хватает? Кто-нибудь может дать мне решение? Я буду очень признателен за помощь здесь.

1

Решение

Вы можете попробовать любой из перечисленных (потому что я не уверен, какой из них работает для вас): —
1) $pdf->SetFont('kozgopromedium', '', 11);
2) $pdf->SetFont('kozminproregular', '', 11);
3) $pdf->SetFont('cid0jp', '', 11);
4) $pdf->SetFont('arialunicid0', '', 11);
5) $pdf->SetFont('arialuni', '', 12);

Если у вас есть файл шрифта (.ttf) в вашей системе, вы можете указать путь также:
$pdf->addTTFfont('path/myfont.ttf', '', '', 11);

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]