对于PHP中的报告生成,我使用的是HTML2PDF。
它适用于英语,但没有为日语提供正确的输出。
如何在hHTML2PDF库中设置utg8字符。
有没有办法在HTML2PDF库中实现这一点。 我是gettign输出像“???????????????”而不是日文文本
在我找到的文件后面的/ var / www / html / html2pdf / locale文件夹中 en.csv,fr.cvs,cs.csv,da.csv
我们也可以为日语获得这样的文件。
以下是我的代码
<?php
$content = ob_get_clean();
// convert to PDF
require_once('Classes/library/html2pdf.class.php');
try {
$html2pdf = new HTML2PDF('P', 'A4', 'en');
$html2pdf->pdf->SetDisplayMode('fullpage');
// $html2pdf->pdf->SetProtection(array('print'), 'spipu');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$filename = $filename .'_'.date('Ymd');
$html2pdf->Output($filename.'.pdf','D');//,'D'
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
答案 0 :(得分:4)
尝试使用指定字体而不是默认字体,试试这个
<?php
$html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8');
$html2pdf->setDefaultFont('arialunicid0'); //add this line
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, false);
$html2pdf->Output('japan.pdf');
?>
参考:http://community.impresscms.org/modules/newbb/viewtopic.php?post_id=43474#forumpost43474
答案 1 :(得分:1)
对于抛光标志帮助这一行:
$html2pdf->setDefaultFont('arialunicid0'); //add this line
用Word看,对我来说,Helvetica展示了正方形。字体更改问题消失后。
答案 2 :(得分:1)
我用这个函数解决了这个问题:
$ tpl_data = array_map('utf8_decode',$ datas);
答案 3 :(得分:0)
将编码设置为UTF-8
$html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8');
答案 4 :(得分:0)
$html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8', []);
$html2pdf->setDefaultFont('cid0jp'); //using this line
$html2pdf->writeHTML($html);
$html2pdf->pdf->SetTitle('PDFダウンロード');
$html2pdf->output('download.pdf');
我使用此代码并且正常运行!