2011-05-15 53 views
0

我想生成一個條形碼並在按鈕下面,以便用戶可以單擊它並打印。不過,我一直沒能做到這一點,現在我有這樣的代碼:在Codeigniter中使用Zend Framework添加按鈕和圖像

$page = new Zend_Pdf(); 
$imageResource = Zend_Barcode::draw('code39', 'image', $barcodeOptions, $rendererOptions); 
imagejpeg($imageResource, 'barcode.jpg', 100); 
$img = Zend_Pdf_Image::imageWithPath('barcode.jpg'); 
    //echo $randomTxt; 
    echo '<br/>'; 
    echo '<img src="'. base_url() .'/images/logo.png"/>'; 
    echo '<img src="'. $img .'"/>'; 

不過,我得到以下錯誤:

A PHP Error was encountered

Severity: 4096

Message: Object of class Zend_Pdf_Resource_Image_Jpeg could not be converted to string

Filename: views/vista_codigoDeBarras.php

Line Number: 19

我不知道如何來完成我需要和它的現在有點迫切= /任何想法我怎麼能做到這一點?我正在使用Zend框架在CodeIgniter中生成de條形碼

回答

0

我對你想要達到的目標有點困惑,但Zend_Pdf_Image是爲將圖像添加到PDF文檔而製作的。根據您的要求:

I want to generate a barcode and underneath a button so that the user can just click it and then print.

有幾種方法可以完成此操作。首先是創建一個PHP腳本,只是輸出條碼圖像,並用其作爲圖像的src屬性:

// Only the text to draw is required 
$barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); 

// No required options 
$rendererOptions = array(); 

// Draw the barcode in a new image, 
// send the headers and the image 
Zend_Barcode::factory(
    'code39', 'image', $barcodeOptions, $rendererOptions 
)->render(); 

來源:http://framework.zend.com/manual/en/zend.barcode.creation.html

然後,用戶可以只在打開圖像新選項卡或下載並打印它。

另一種選擇是爲他們提供PDF下載,這是一個比較複雜一點比我能奉獻的時間來提供的示例代碼,但這個鏈接說明如何使用Zend_PDF類生成PDF:

http://devzone.zend.com/article/2525

+0

事情是他們要求一個按鈕以及PDF,允許他們只需點擊並調出打印對話框。我無法完成 – Tsundoku 2011-05-15 02:02:33

+0

與條形碼不一致(對不起) – Tsundoku 2011-05-15 02:09:09

+0

@Luis我可以想到的遠程完成的唯一方法是打開一個只有條形碼圖像的彈出窗口並調用'window.print( )'在裏面。你可以用嵌入的pdf做同樣的事情,但我不確定這些是否包含在'window.print()'調用中。許多瀏覽器默認禁用打印包含圖像。我只是有一個PDF下載,讓用戶打印它,但這不是我不幸的:/ – 2011-05-15 02:15:31