PHP mPDF:无法以PDF显示意第绪语

时间:2018-10-28 12:27:41

标签: php codeigniter mpdf

我在codeigniter项目中使用了mPDF。它适用于英语和俄语,但是在意第绪语中仅显示点(。)和逗号(,),如下所示:

mPDF output

我要写的内容是:

Yiddish Content

这是我的代码:

    $mpdf = new \Mpdf\Mpdf();
    $mpdf->SetFont('avenirnext');
    $mpdf->SetTitle($title);
    $mpdf->SetAuthor('Blavatnik');
    $mpdf->WriteHTML($stylesheet, 1);
    $mpdf->WriteHTML($stylesheet2, 1);
    $mpdf->WriteHTML($stylesheet3, 1);
    $mpdf->setAutoTopMargin = 'stretch';
    $mpdf->SetHtmlHeader($header, 'OE');
    $mpdf->SetHTMLFooter($footer, 'OE');
    $mpdf->WriteHTML($html);
    if ($html2 != '' && $html3 != '') {
        $mpdf->SetHtmlHeader($secondHeader, 'OE');
        $mpdf->WriteHTML($html2);
        $mpdf->SetHtmlHeader($header, 'OE');
        $mpdf->WriteHTML($html3);
    }
    if ($transcriptHtml2 != '' && $transcriptHtml3 != '') {
        $mpdf->WriteHTML($transcriptHtml2);
        $mpdf->WriteHTML($transcriptHtml3);
    }
    $mpdf->Output($title . '.pdf', 'I');

我也尝试过使用以下解决方案:

$mpdf = new mPDF('utf-8');
$mpdf->SetDirectionality('rtl');

我还能对其进行哪些更改,以使其适用于所有语言或主要适用于该意第绪语。谢谢!

2 个答案:

答案 0 :(得分:1)

您必须使用支持希伯来字符的字体。此外,avenirnext不在标准发行版中,您还没有configured an additional font

删除SetFont呼叫并使用

$mpdf->autoLangToFont = true;

lang="yi"lang="he"中的divspan一起在希伯来语/意第绪语周围。

您还可以在autofont mPDF example file中找到示例代码。

答案 1 :(得分:0)

如果您使用$mpdf = new \Mpdf\Mpdf();

简单的解决方案是在其下面添加:

$mpdf->autoScriptToLang = true; 
$mpdf->autoLangToFont = true; 

仅此而已