如何使用codeigniter 3.x中的zend库在PDF中生成条形码

时间:2017-06-06 09:23:25

标签: php codeigniter zend-framework

我正在使用 zend库来生成barcode如何使用标题生成条形码。下面是我的代码

public function barcode($visitor_id) {
        $this->load->library('zend');
        $this->zend->load('Zend/Barcode');
        Zend_Barcode::render('code39', 'image', array('text' => $visitor_id, 'drawText' => TRUE), array());
    }

1 个答案:

答案 0 :(得分:1)

首先使用mpdf创建一个pdf文件,例如viewpdf.php,并在标记中调用条形码函数。

在视图文件夹中创建viewpdf.php

  <?php
 $code= KD12345;

include("mpdf/mpdf.php");
$html='<html>
<head>
  <style>
    .container{width: 1450px; padding-bottom:2px;}
    body, table {
        /* to centre page on screen*/
        margin:0 auto;
        font-size: 12px;
        border-collapse: collapse;
    }
</style>
</head>
<body>
<div class="container" style="padding-top:2%;">
           <img class="img-responsive" style="text-align:center;" src="'. base_url().'index.php/Controller/barcode?bcd='.$code.'" alt="">
        </div> 
</body>
</html>';

$mpdf=new mPDF('', 'A4', 0, '', 2, 2,5, 0, 0, 0);
header("Content-type:application/pdf");
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html);
$mpdf->Output($code.'.PDF','I');
exit;
?>

在控制器文件夹中,Controller.php编写以下函数以显示viewpdf.php

public function ViewPdf()
    {   
        $this->load->view("viewpdf.php");
    }

和另一个生成条形码的功能

public function barcode()
    {
        $code=$_GET['bcd'];
        $this->load->library('zend');
        $this->zend->load('Zend/Barcode');

        $barcodeOptions = array('text' => $code);
        $rendererOptions = array('imageType'=>'png');
        Zend_Barcode::factory('code128', 'image', $barcodeOptions, $rendererOptions)->render();

    }