0

我需要显示(并稍后打印)一个页面,其中包含一个包含条形码和每行描述的表格。

我有我的

$result = $mySql->query->fetchAll();

包含正确的数据。

起初我做了一个

$rendererOptions = array();
    foreach($result as &$res){
        $barcodeOptions = array(
                'text' => $res['myParam'],
                'rendererParams' => array('imageType' => 'gif'),);
        $res['barcode'] = Zend_Barcode::factory('CODE39', 'image', $barcodeOptions, $rendererOptions)->draw();
}

    $this->view->data = $result;

结果不好。然后我尝试了:

Zend_Barcode::render(....);

有许多组合,甚至是

$.post('/mycontroller/myactionthatrendersthebarcode',{code : this.id}, function(data){
            $(this).html(data);     });

在我的 .phtml 页面中(几乎杀死网络:D)

按照文档(http://framework.zend.com/manual/1.12/en/zend.barcode.creation.html)我只有一个但正确的条形码或一堆资源ID我不知道如何管理。

有什么建议吗?谢谢

4

1 回答 1

0

draw方法返回一个 gd 图像资源。要输出图像,您可以执行以下操作:

$rendererOptions = array();
$barcodeOptions = array(
    'text' => 'TEST',
    'rendererParams' => array('imageType' => 'gif'),
);
$resource = Zend_Barcode::factory('CODE39', 'image', $barcodeOptions, $rendererOptions)->draw();

header('Content-Type: image/gif');
imagegif($resource);
exit;

render方法会自动为您完成:

$rendererOptions = array();
$barcodeOptions = array(
    'text' => 'TEST',
    'rendererParams' => array('imageType' => 'gif'),
);
Zend_Barcode::factory('CODE39', 'image', $barcodeOptions, $rendererOptions)->render();
exit;

如果要在img标签中输出图像,则必须将上述内容写入操作并调用它。所以例如上面的脚本outputActionImgController

<img src="/img/output">

如果您想要动态地获取它,您可以将获取参数发送到操作并执行操作中的逻辑。

<img src="/img/output/text/TEXT">
<img src="/img/output/id/123">
于 2013-03-18T15:27:55.103 回答