我正在尝试生成一个包含乌尔都语文本的pdf文件。我尝试过几种字体,如:jameel noori nastaleeq、alvi nastaleeq、arial unicode等,但有些字符无法正确显示。当我从pdf复制文本并将其粘贴到另一个程序(如记事本)时,文本显示正确。我正在使用此代码将.ttf文件转换为tcpdf格式。
require_once('TCPDF/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$fontname = TCPDF_FONTS::addTTFfont('includes/Fonts/JameelNooriNastaleeqRegular.ttf', 'TrueTypeUnicode', '', 32);""
该代码创建了三个文件:jameelnoorinastaleq.php、jameelnoorinastaleq.z、jameelnoorinastaleq.ctg.z。
然后在php页面中,这是我的代码:
require('TCPDF/tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set some language dependent data:
$lg = Array();
$lg['a_meta_charset'] = 'UTF-8';
$lg['a_meta_dir'] = 'rtl';
$lg['a_meta_language'] = 'fa';
$lg['w_page'] = 'page';
// set some language-dependent strings (optional)
$pdf->setLanguageArray($lg);
// ---------------------------------------------------------
// set font
$pdf->SetFont('jameelnoorinastaleeq','',12);
// add a page
$pdf->AddPage();
// Urdu content
$htmlurdu = '<span color="#660000">Urdu example:</span><br />احساسات: اکساہٹ(جوش۔تحریک)؛اعصابی؛
<br />احساسات: اُوپر تک کھدائی کا؛"سوراخ کرنا(نقب لگانا)بل کھودنےیا بنانے کا۔؛جڑ سے اکھاڑنے۔کھود کر نکالنےکا""احساس؛"<br />احساسات: اکڑن(سختی)؛اعضاء(بازو اور ٹانگوں)کے جوڑوں کا؛(بے ڈھنگے پن(اناڑی پن)کا؛)
<br />احساسات: اینٹھن(مروڑ۔کھچاؤ)؛بیرونی(خارجی)طورپر؛';
$pdf->WriteHTML($htmlurdu, true, 0, true, 0);
//Close and output PDF document
$pdf->Output('testUrdu.pdf', 'I');
乌尔都语文本如下所示:
???????: ??????(?????????)????????
我曾尝试使用外部网站将jameelnoorinastaleq.ttf文件转换为tcpdf格式。我用过这个网站http://fonts.palettize.me/ 然后将生成的文件复制到tcpdf/fonts目录,但无法运行。乌尔都语文本仍未正确显示。
我花了几个小时试图解决这个问题。显示英文字符时没有任何问题,但乌尔都语不起作用。有时显示“?”有时显示空格。
请帮帮我!
暂无答案!
目前还没有任何答案,快来回答吧!