首页 > 解决方案 > PHP mPDF:无法在 PDF 中显示意第绪语

问题描述

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

mPDF 输出

虽然我写的内容是:

意第绪语内容

这是我的代码:

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

还有什么我可以更改它以使其适用于所有语言或主要是这种意第绪语。谢谢!

标签: phpcodeignitermpdf

解决方案


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

删除SetFont呼叫并使用

$mpdf->autoLangToFont = true;

与您的希伯来语/意第绪语文本一起lang="yi"lang="he"在 adiv或 a中。span

您还可以在自动字体 mPDF 示例文件中找到示例代码。


推荐阅读