我正在尝试以编程方式在pdf文件中添加一些条形码但我认为我对定位没有正确理解。这是我的代码
$pdf = new TCPDF("L", "mm", array(80, 40), true, 'UTF-8', false);
$pdf->SetMargins(3, 3, 3);
// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->setFontSubsetting(true);
$pdf->SetFont('freeserif', '', 12);
foreach ($barcodes as $barcode){
$pdf->AddPage();
$x = $pdf->GetX();
$y = $pdf->GetY();
$style = array(
'border' => true,
'hpadding' => 'auto',
'vpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255),
'text' => true,
'font' => 'helvetica',
'fontsize' => 8,
'stretchtext' => 4
);
//$pdf->Cell(30, 1, 'EAN 13', 0, 1);
$pdf->write1DBarcode($barcode, 'EAN13', '5', '6', '60', 14, 0.4, $style, 'N');
}
我得到的结果就像是图像,或者以任何方式甚至不能输出我想要的条形码而且我不知道为什么。我很感激任何帮助
如果我使用
$pdf->write1DBarcode($barcode, 'EAN13', '5', '5', '60', 14, 0.4, $style, 'N');
没有空的pdf页面,但条形码仍然非常高。我希望它从顶部大约14毫米变为1/3,这就是为什么我试图摆弄y
write1DBarcode
变量的原因
答案 0 :(得分:3)
经过大量的摆弄,我发现了它。
添加
$pdf->SetAutoPageBreak(TRUE, 0);
使autobreak行为正确
我的猜测是默认情况下设置的底部边距是垂直对齐的,不能使用$ pdf-> SetMargins设置。在任何情况下,问题都解决了我。感谢您尝试提供帮助