如何在 tcpdf 中手动定位条形码
How to manually position a barcode in tcpdf
我正在尝试以编程方式在 pdf 文件中添加一些条形码,但我认为我没有正确理解 positioning.Here 的代码
$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页面,但条码仍然很高。我希望它从顶部移动 1/3 大约 14 毫米,这就是为什么我试图 fiddle 和 write1DBarcode
中的 y
变量
经过大量的摆弄,我找到了它。
添加
$pdf->SetAutoPageBreak(TRUE, 0);
使自动中断行为正确
我的猜测是默认设置的下边距扰乱了垂直对齐方式,无法使用 $pdf->SetMargins 进行设置。无论如何,问题都为我解决了。感谢您的帮助
我正在尝试以编程方式在 pdf 文件中添加一些条形码,但我认为我没有正确理解 positioning.Here 的代码
$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页面,但条码仍然很高。我希望它从顶部移动 1/3 大约 14 毫米,这就是为什么我试图 fiddle 和 write1DBarcode
y
变量
经过大量的摆弄,我找到了它。
添加
$pdf->SetAutoPageBreak(TRUE, 0);
使自动中断行为正确
我的猜测是默认设置的下边距扰乱了垂直对齐方式,无法使用 $pdf->SetMargins 进行设置。无论如何,问题都为我解决了。感谢您的帮助