Я столкнулся с проблемой для создания японского текста на основе 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) $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);
Других решений пока нет …