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