我正在使用FPDF库生成一些订单确认,它工作得很好。但现在我需要在文档中使用一些中文字符。我已经找了好几个小时了,还没有找到可行的解决方案。是否可以使用FPDF支持中文字符,或者是否有支持它的FPDF的替代方案?
所有字符都与常规文本混合在一起,并存储在MySQL数据库中。PDF文档仅在打印中文字符时显示unicode。
发布于 2015-05-22 01:35:59
有像Big5或GBK这样的中文编码格式。但是,您尝试输入的文本很可能是Unicode格式的。存在tFPDF,它提供Unicode支持。我将测试打印以下传统汉字:中國。对于那些不了解中国的读者来说,这意味着中国。
// Remember to copy msjh.ttf to [path to tFPDF]/font/unifont/ directory
// Initialize tFPDF
require('tfpdf.php');
$pdf = new tFPDF();
$pdf->AddPage();
// Add a Unicode font like MSJH
$pdf->AddFont('MSJH','','msjh.ttf',true);
$pdf->SetFont('MSJH','',42);
// Output Chinese string to PDF
$pdf->Text(12,42,"中國");
// Output PDF document
$pdf->Output();
发布于 2018-05-08 23:31:38
另一种选择是Code200365k TTF。
$pdf->AddFont('Code200365k','','Code200365k.ttf',true);
我只将它用于中文字符,如下所示:
if (preg_match("/[\x{4e00}-\x{9fa5}]+/u", $my_value)){
$pdf->SetFont('Code200365k','',12);
}
$pdf->Cell(130,9,$my_value,1,1,'L');
$pdf->SetFont('Arial','',11);
https://stackoverflow.com/questions/30358439
复制相似问题