我从一个119.88 x 50.058毫米的源文件中创建了一个PDF文件。然而,当我放置一个二维码时,无论我指定它的大小是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的结果
发布于 2018-02-04 15:04:11
$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');现在您已经可以扩展到超过页边距和页面大小了,除非您遵循第一步并添加了SetAutoPageBreak,否则style将无法正确呈现。
https://stackoverflow.com/questions/48575478
复制相似问题