Barcode creation using Zend_Barcode class Using Zend_Barcode::factory Zend_Barcode uses a factory method to create an instance of a renderer that extends Zend_Barcode_Renderer_RendererAbstract. The factory method accepts five arguments. The name of the barcode format (e.g., "code39") (required) The name of the renderer (e.g., "image") (required) Options to pass to the barcode object (an array or Zend_Config object) (optional) Options to pass to the renderer object (an array or Zend_Config object) (optional) Boolean to indicate whether or not to automatically render errors. If an exception occurs, the provided barcode object will be replaced with an Error representation (optional default TRUE) Getting a Renderer with Zend_Barcode::factory() Zend_Barcode::factory() instantiates barcode objects and renderers and ties them together. In this first example, we will use the Code39 barcode type together with the Image renderer. 'ZEND-FRAMEWORK'); // No required options $rendererOptions = array(); $renderer = Zend_Barcode::factory( 'code39', 'image', $barcodeOptions, $rendererOptions ); ]]> Using Zend_Barcode::factory() with Zend_Config objects You may pass a Zend_Config object to the factory in order to create the necessary objects. The following example is functionally equivalent to the previous. 'code39', 'barcodeParams' => array('text' => 'ZEND-FRAMEWORK'), 'renderer' => 'image', 'rendererParams' => array('imageType' => 'gif'), )); $renderer = Zend_Barcode::factory($config); ]]> Drawing a barcode When you draw the barcode, you retrieve the resource in which the barcode is drawn. To draw a barcode, you can call the draw() of the renderer, or simply use the proxy method provided by Zend_Barcode. Drawing a barcode with the renderer object 'ZEND-FRAMEWORK'); // No required options $rendererOptions = array(); // Draw the barcode in a new image, $imageResource = Zend_Barcode::factory( 'code39', 'image', $barcodeOptions, $rendererOptions )->draw(); ]]> Drawing a barcode with Zend_Barcode::draw() 'ZEND-FRAMEWORK'); // No required options $rendererOptions = array(); // Draw the barcode in a new image, $imageResource = Zend_Barcode::draw( 'code39', 'image', $barcodeOptions, $rendererOptions ); ]]> Renderering a barcode When you render a barcode, you draw the barcode, you send the headers and you send the resource (e.g. to a browser). To render a barcode, you can call the render() method of the renderer or simply use the proxy method provided by Zend_Barcode. Renderering a barcode with the renderer object '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(); ]]> This will generate this barcode: Renderering a barcode with Zend_Barcode::render() 'ZEND-FRAMEWORK'); // No required options $rendererOptions = array(); // Draw the barcode in a new image, // send the headers and the image Zend_Barcode::render( 'code39', 'image', $barcodeOptions, $rendererOptions ); ]]> This will generate the same barcode as the previous example.