Reputation: 603
I'm trying to add some barcodes programmatically in a pdf file but I think I'm not understanding something correctly regarding positioning.Here's my code
$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');
}
The result I get is like the image or in any way not even close to outputting the barcode where I'd like it to be and I have no clue why. I'd appreciate any help
if i use
$pdf->write1DBarcode($barcode, 'EAN13', '5', '5', '60', 14, 0.4, $style, 'N');
There is no empty pdf page but the barcode is still really high. I'd like it to go like 1/3 from top around 14mm that's why I was trying to fiddle with the y
variable in write1DBarcode
Upvotes: 2
Views: 12934
Reputation: 21
<?php $params = $pdf->serializeTCPDFtagParameters(array('5027010247321', 'C39', '', '', 80, 30, 0.4, array('position'=>'S', 'border'=>true, 'padding'=>4, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>true, 'font'=>'helvetica', 'fontsize'=>8, 'stretchtext'=>4), 'N'));
?>
And paste these below line where you want tcpdf baarcode
<tcpdf method="write1DBarcode" params="<?php echo $params; ?>" />
Visit [https://www.youtube.com/watch?v=flXFPbKRmUo][2]
Upvotes: 0
Reputation: 603
After lots of fiddling around I found it.
Adding
$pdf->SetAutoPageBreak(TRUE, 0);
Made the autobreak behave correctly
My guess is that a bottom margin set by default that was messing around the alignment vertically that can't be set using $pdf->SetMargins. In any case problem solved for me. Thanks for trying to help
Upvotes: 3