使用Zend_Pdf(Zend Framework 1.12)在条形码周围添加自定义文本

时间:2015-04-24 08:42:50

标签: zend-framework barcode

我想使用Zend_Pdf和Zend_Barcode在PDF文档中的条形码周围添加自定义文本。现在它只显示条形码,但我想将自定义文本添加到它上面。

所以现在我得到了这个:enter image description here

但我希望如此:enter image description here

这是我的代码:

 $pdf = new Zend_Pdf(); 
        $hidden =$_POST['hidden']; 
        $quantityfrom =$_POST['quantity_from']; 
        $quantityto =$_POST['quantity_to']; 
        //Here is code for update the Quantity
        $product_id = $_POST['product_id'];
        $table = new Account_Model_DbTable_Products();
        $query = $table->updateQuantity($product_id,$quantityto);


        Zend_Barcode::setBarcodeFont(dirname(ROOT_PATH) .  '/inventory/library/Zend/Barcode/Object/fonts/open-sans/OpenSans-Semibold.ttf'); 

        $numberOfPages = ceil(($quantityto-$quantityfrom)/15);
        $equipmentCount = $quantityto-$quantityfrom+1;

        for($i = 1; $i <= $numberOfPages; $i++)
        {
          $page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
          $width  = $page->getWidth();        // A4 : 595
          $height = $page->getHeight();       // A4 : 842
          $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 20);
          $pdf->pages[] = $page;
        }
          $index = 0;
          for($j=1 ; $j<=$numberOfPages;$j++){

            if($equipmentCount > 10)
          {
            $barcodesOnThisPage = 10;
            $equipmentCount = $equipmentCount - 10;
          }
          else
          {
            $barcodesOnThisPage = $equipmentCount;
          } 
          echo $barcodesOnThisPage."</br>";
                $k = 1;
            for($i=1;$i<=$barcodesOnThisPage;$i++){

                $num_padded = sprintf("%04d", $quantityfrom);
                $barcodeOptions = array(
                    'text' => $hidden.$num_padded,
                     'barHeight' =>100,
                     );
                $rendererOptions = array(
                'topOffset' => 80*$k,
                'horizontalPosition' =>'left'   
                );

                $pdfWithBarcode = Zend_Barcode::factory('code39', 'pdf', 
                $barcodeOptions, $rendererOptions)->setResource($pdf,$index)->draw();

                $pdfWithBarcode->save('testBarcode.pdf'); 
                $k++;
                $quantityfrom++;
               }
               $index++;
               }
          $this->_redirect('/testBarcode.pdf');
     }

0 个答案:

没有答案