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。
我有这段代码使用 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。