PHP原生代码生成pdf---解决中文乱码问题

github地址

尝试了使用composer下载FPDF或者FPDI,但是无法解决中文乱码问题。只有使用这个github上的中文包才可以,那俩没必要下。

直接上代码(这里并没有使用任何框架)

	require('./fpdf/chinese.php');
	//生成pdf
    $pdf = new PDF_Chinese();
    $pdf->AddPage();
    $pdf->AddGBFont('songti');
    $pdf->SetFont('songti', '', 13);
    $pdf->Write(0, iconv("UTF-8", "gbk", "客户名:" . $_POST['customer_name']) . " ");
    $pdf->Ln(8);
    $pdf->Write(0, iconv("UTF-8", "gbk", "客户手机号:") . $_POST['tel'] . " ");
    $pdf->Ln(8);
    $pdf->Write(0, iconv("UTF-8", "gbk", "客户地址:" . $_POST['address']) . " ");
    $pdf->Ln(8);
    //换行
    $pdf->Write(0, iconv("UTF-8", "gbk", "面积:") . $_POST['area'] . " ");
    $pdf->Ln(8);
    $pdf->Write(0, iconv("UTF-8", "gbk", "客户等级:" . $level_name) . " ");
    $pdf->Ln(8);
    $pdf->Write(0, iconv("UTF-8", "gbk", "备注:" . $_POST['remark']) . " ");
    $pdf->Ln(8);

    //换行
    $pdf->Write(0, iconv("UTF-8", "gbk", "客厅图片:"));
    $pdf->Ln(5);
    $pdf->Image($_POST['room_pic1'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');
    $pdf->Ln(83);
    $pdf->Image($_POST['room_pic2'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');
    $pdf->Ln(83);
    $pdf->Image($_POST['room_pic3'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');
    $pdf->AddPage();
    $pdf->Ln(3);
    $pdf->Write(0, iconv("UTF-8", "gbk", "客厅备注:" . $_POST['room_remark']));

    //换行
    $pdf->Ln(5);
    $pdf->Write(0, iconv("UTF-8", "gbk", "卧室图片:"));
    $pdf->Ln(3);
    $pdf->Image($_POST['bedroom_pic1'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');
    $pdf->Ln(83);
    $pdf->Image($_POST['bedroom_pic2'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');
    $pdf->Ln(83);
    $pdf->Image($_POST['bedroom_pic3'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');
    $pdf->Ln(3);
    $pdf->AddPage();
    $pdf->Write(0, iconv("UTF-8", "gbk", "卧室备注:" . $_POST['bedroom_remark']));

    $pdf->Output('F', 'example.pdf');

注意:中文需要用iconv函数。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值