老办法:
我找到了
solution buried in a github repo
从DCgithub21,您可以像下面这样扩展和修改它。
正确扩展类后,可以在Fpdi中使用汉字
$pdf = new ChineseFpdi();
$template = public_path('template.pdf');
$pdf->setSourceFile($template);
$pdf->AddGBFont('arial');
$pdf->SetFont('arial', '', 9);
$pdf->Write(2, iconv("utf-8", "gbk", "ä¼å䏿"));
$pdf->Write(2, iconv("utf-8", "gbk", "Can write Latin"));
在正式回购中:
class Fpdi extends FpdfTpl {}
class FpdfTpl extends \FPDF {}
您需要做的是创建一个名为PdfChinese的桥接类,这样您的outlook将:
class Fpdi extends FpdfTpl {}
class FpdfTpl extends PDFChinese {}
class PdfChinese extends FPDF {}
正确的方法:
显然,tFPDF是一种更好的方法。参考:
https://www.setasign.com/products/fpdi/demos/tfpdf-demo/
define("_SYSTEM_TTFONTS", public_path('fonts/'));
$pdf = new \setasign\Fpdi\Tfpdf\Fpdi();
$template = public_path('template.pdf');
$pdf->setSourceFile($template);
$pdf->AddFont('Code200365k','','Code200365k.ttf', true);
$pdf->SetFont('Code200365k','',42);
$pdf->Write(2, "ä¼å䏿");