FPDF生成PDF时多QR码同页,如何实现每页仅打印一个QR码
问题原因
你当前的代码仅调用了一次AddPage()方法添加了单页PDF,三个二维码图片全部被输出到了同一页面内,自然会出现单页同时显示三个二维码的情况。
修正代码
要实现每页仅显示一个二维码,每输出一个二维码前新增一页即可,同时可以统一每页二维码的摆放位置,保证格式统一,修正后的代码如下:
require_once("qrcode/fpdf17/fpdf.php"); require_once("qrcode/phpqrcode/qrlib.php"); $pdf = new FPDF('P','mm','A4'); // 输出第一个二维码 $pdf->AddPage(); $pdf->Image("download.php?file=qrcode/gbrqrcode/QRQ1340712030.png", 10, 30, 100, 0, "png"); // 输出第二个二维码 $pdf->AddPage(); $pdf->Image("download.php?file=qrcode/gbrqrcode/QRQ1995785355.png", 10, 30, 100, 0, "png"); // 输出第三个二维码 $pdf->AddPage(); $pdf->Image("download.php?file=qrcode/gbrqrcode/QRQ124998194.png", 10, 30, 100, 0, "png"); $pdf->Output();
如果后续二维码数量不固定,可以把二维码路径存入数组循环输出,避免重复编写冗余代码,逻辑如下:
- 将所有二维码的访问路径存入PHP数组
- 遍历数组,每次循环先调用
AddPage()方法新增页面,再输出当前遍历到的二维码
内容的提问来源于stack exchange,提问作者adelle
相关产品推荐
相关产品推荐

