Zend Framework 1.12 条码不会回显到 pdf 文件的下一页

Zend Framework 1.12 barcode does not echo into next pages on pdf file

条码不会打印到 pdf 文件的下一页。让我解释。如果我要在每页打印60个条码和15个条码。它正在打印 15 个条码,其余条码和页面显示空白。这是我的代码

public function generatebarcodeAction(){
  $this->_helper->layout()->disableLayout();
        $pdf = new Zend_Pdf(); 

        $hidden =$_POST['hidden']; // i want to barcode of this field.
        // barcode should be print quantity from to quantity to

        $quantityfrom =$_POST['quantity_from']; 
        $quantityto =$_POST['quantity_to']; 
        $rendererOptions = array(
        'topOffset' => 50,
        'leftOffset' => 50
        );
        Zend_Barcode::setBarcodeFont(dirname(ROOT_PATH) .  '/inventory/library/Zend/Barcode/Object/fonts/open-sans/OpenSans-Semibold.ttf'); 

        $numberOfPages = $quantityto/15;
        $equipmentCount = $quantityto;
for($i = 1; $i <= $numberOfPages; $i++)
{
  $page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
  $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 20);
  $pdf->pages[] = $page;
}

foreach($pdf->pages as $id => $page)
{
    if($equipmentCount > 15)
  {
    $barcodesOnThisPage = 15;
    $equipmentCount = $equipmentCount - 15;
  }
  else
  {
    $barcodesOnThisPage = $equipmentCount;
  }

for($i=$quantityfrom;$i<=$quantityto;$i++){
        $barcodeOptions = array('text' => $hidden.$i);
        $rendererOptions = array('topOffset' => 50*$i); 
        $pdfWithBarcode = Zend_Barcode::factory('code39', 'pdf', 
        $barcodeOptions, $rendererOptions)->setResource($pdf)->draw(); 
        $pdfWithBarcode->save('testBarcode.pdf'); 

      }
       $quantityfrom = $i;
 }
}

在此代码中,您将创建 4 个空白页,然后在第 1 页绘制所有条形码。您看不到 45 个条形码,因为它们的边距大于页面高度!! 您可能希望将条形码添加到 $pages 而不是 $pdf。 请注意,您应该使用 for 而不是 foreach 来重写 $page