MPDF:无法显示 LTR 和 RTL 文本的混合

MPDF: Failed to display a mix of LTR and RTL text

我有这段代码使用 MPDF PHP 库将 HTML 文档转换为 PDF 文档,HTML 文档同时具有 LTR 和 RTL 语言:

    $mpdf = new mPDF;
    $content = '<div lang="he" style="direction: rtl;">רוחב: <span lang="en" style="direction: ltr; display: inline-block">483 mm (19")</span></div>';
    $mpdf->autoLangToFont = true;
    $mpdf->WriteHTML($content);
    $mpdf->Output();

$content 的 HTML 版本正确显示:

但在 PDF 版本中,我得到了这个

我尝试应用许多 CSS 样式,但找不到任何方法来解决这个问题。你有什么解决办法吗?谢谢!

P/S:我不会说希伯来语或任何 RTL 语言。

您的代码在 mPDF 5.7.4 中运行良好。

对于 mPDF 6.0,您需要使用 <bdo> element 而不是 css 属性 direction:

$content = '<div dir="rtl">רוחב: <bdo dir="ltr">483 mm (19")</bdo></div>';

有关 mPDF 6.0 的更多信息,请参阅 this reference