PHP TCPDF和二维码,不能把二维码变大
PHP TCPDF and QR Code, cannot make the QR code bigger
我正在从 119.88 x 50.058 毫米的源文件创建 PDF 文件。但是,当我放置一个 QR 码时,无论我指定大小为 50 还是 500,我都无法将其变大,没有什么不同。我需要怎么做才能让二维码变大?
这是我的代码
$pdf = new FPDI('L', 'mm', array('119.888','50.038'));
$pdf->setPrintHeader(false);
$pdf->AddPage();
$page = $pdf->setSourceFile('aw_print.PDF');
$page = $pdf->ImportPage(1, 'TrimBox');
$pdf->useTemplate($page, 0, 0);
$x = 10;
$y = 10;
$style = array(
'border' => 1,
'vpadding' => 'auto',
'hpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255)
'module_width' => 1, // width of a single module in points
'module_height' => 1 // height of a single module in points
);
$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 10, 10, 60, 60, $style, 'N');
$pdf->Output('test.PDF', 'D');
尺寸 60 的结果
https://prnt.sc/i8yva3
尺寸 500 的结果
https://prnt.sc/i8yvkt
$pdf = new FPDI('L', 'mm', array('119.888','50.038'));
$pdf->setPrintHeader(false);
添加 SetAutoPageBreak
并将其设置为 false
。这将确保 style
按预期工作。
$pdf->SetAutoPageBreak(false); // important so styles don't break
$pdf->AddPage();
$page = $pdf->setSourceFile('aw_print.PDF');
$page = $pdf->ImportPage(1, 'TrimBox');
$pdf->useTemplate($page, 0, 0);
$x = 10;
$y = 10;
$style = array(
'border' => 1,
'vpadding' => 'auto',
'hpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255)
'module_width' => 1, // width of a single module in points
'module_height' => 1 // height of a single module in points
);
默认情况下,条形码仅限于页面和页边距大小。
为扭曲添加 true
将使您能够缩放到任何大小。
// write2DBarcode($code, $type, $x, $y, $w, $h, $style, $align, $distort) {
$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 10, 10, 60, 60, $style, 'N', true);
$pdf->Output('test.PDF', 'D');
现在您可以缩放超过边距和页面大小 style
将无法正确呈现,除非您遵循第一步并添加 SetAutoPageBreak
。
我正在从 119.88 x 50.058 毫米的源文件创建 PDF 文件。但是,当我放置一个 QR 码时,无论我指定大小为 50 还是 500,我都无法将其变大,没有什么不同。我需要怎么做才能让二维码变大?
这是我的代码
$pdf = new FPDI('L', 'mm', array('119.888','50.038'));
$pdf->setPrintHeader(false);
$pdf->AddPage();
$page = $pdf->setSourceFile('aw_print.PDF');
$page = $pdf->ImportPage(1, 'TrimBox');
$pdf->useTemplate($page, 0, 0);
$x = 10;
$y = 10;
$style = array(
'border' => 1,
'vpadding' => 'auto',
'hpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255)
'module_width' => 1, // width of a single module in points
'module_height' => 1 // height of a single module in points
);
$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 10, 10, 60, 60, $style, 'N');
$pdf->Output('test.PDF', 'D');
尺寸 60 的结果 https://prnt.sc/i8yva3
尺寸 500 的结果 https://prnt.sc/i8yvkt
$pdf = new FPDI('L', 'mm', array('119.888','50.038'));
$pdf->setPrintHeader(false);
添加 SetAutoPageBreak
并将其设置为 false
。这将确保 style
按预期工作。
$pdf->SetAutoPageBreak(false); // important so styles don't break
$pdf->AddPage();
$page = $pdf->setSourceFile('aw_print.PDF');
$page = $pdf->ImportPage(1, 'TrimBox');
$pdf->useTemplate($page, 0, 0);
$x = 10;
$y = 10;
$style = array(
'border' => 1,
'vpadding' => 'auto',
'hpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255)
'module_width' => 1, // width of a single module in points
'module_height' => 1 // height of a single module in points
);
默认情况下,条形码仅限于页面和页边距大小。
为扭曲添加 true
将使您能够缩放到任何大小。
// write2DBarcode($code, $type, $x, $y, $w, $h, $style, $align, $distort) {
$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 10, 10, 60, 60, $style, 'N', true);
$pdf->Output('test.PDF', 'D');
现在您可以缩放超过边距和页面大小 style
将无法正确呈现,除非您遵循第一步并添加 SetAutoPageBreak
。