Sabbir Rupom
Sabbir Rupom

Reputation: 43

PDF generation with Japanese fonts in Codeigniter using TCPDF

I am facing problem to generate japanese text based pdf using TCPDF. Previously I was working in raw php, html and css and tcpdf was working just fine with the following code:

$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');

which can generate my desired pdf with japanese text.

氏名 (全角・名字と名前の間に字スペー ス) Name (Last Name/First name)

But when I tried to include this in codeigniter controller, the japanese texts are showing question marks in the generated pdf:

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

The pdf output becomes like the following:

?? (?????????????????) Name (Last Name/First name)

What I am missing? Can anybody give me a solution? I will greatly appreciate a help here.

Upvotes: 2

Views: 1982

Answers (1)

Yash Parekh
Yash Parekh

Reputation: 1529

You can try any one from listed (because I'm not sure which one works for you):-
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);

If you have font file(.ttf) in your system, then you can give path also like :-
$pdf->addTTFfont('path/myfont.ttf', '', '', 11);

Upvotes: 1

Related Questions