如何在html2pdf中的同一行显示阿拉伯语和英语文本

时间:2015-12-23 07:11:45

标签: php internationalization pdf-generation arabic html2pdf

我需要使用像

这样的html2pdf以pdf格式编写表格文本
<div><span> - English Translation 1 :   </span><span> :      Arabic Translation 1</span></div> 
<div><span> - English Translation 2:   </span><span> :      Arabic Translation 2</span></div> 
<div><span> - English Translation 3:   </span><span> :      Arabic Translation 3</span></div> 

我从https://github.com/iafan/html2pdf/blob/master/_tcpdf_5.9.206/examples/example_018.php得到了一个例子,但这似乎适用于页面页面。

到目前为止我做了以下代码。

$finder = new Zend_Dom_Query($htmlContent);
$classname = "intl-text";
$nodes = $finder->query("*[class~=\"$classname\"]");

foreach($nodes as $node) {
    foreach($features as $feature) {
        $engText = $feature->getEnglishText();
        $arbText = $feature->getArabicText();

        $div = $dom->createElement("div");

        $span = $dom->createElement("span");
        $span->nodeValue = "- ".$engText;
        $div->appendChild($span);
        $span = $dom->createElement("span");
        $span->setAttribute("style", "direction: rtl;");
        //$span->setAttribute("dir", "rtl");
        $span->nodeValue = ":   ".$arbText;
        $div->appendChild($span);

        //$div->nodeValue = "- ".$engText.":   ".$arbText;

        $node->appendChild($div);
    }
}   

$content = $nodes->getDocument()->saveHTML();

$html2pdf->writeHTML($content, false);
$html2pdf->Output(__DIR__.'Output.pdf', 'F');

1 个答案:

答案 0 :(得分:1)

经过更多搜索后,我会通过以下更改来解决问题。

$span->setAttribute("style", "direction: rtl;display: inline-block;font-family:dejavusanscondensed;");

css中的字体系列完成了这个技巧,文本现在以pdf格式显示在阿拉伯语中。但是它没有正确对齐。但我怀疑这可能需要一些html修复。

来自:Indian currency symbol not show when convert html2pdf in php