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)
Example #1 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.
// Only the text to draw is required
$barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
// No required options
$rendererOptions = array();
$renderer = Zend_Barcode::factory(
'code39', 'image', $barcodeOptions, $rendererOptions
);
Example #2 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.
// Using only one Zend_Config object
$config = new Zend_Config (array(
'barcode' => '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.
Example #3 Drawing a barcode with the renderer object
// Only the text to draw is required
$barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
// No required options
$rendererOptions = array();
// Draw the barcode in a new image,
$imageResource = Zend_Barcode::factory(
'code39', 'image', $barcodeOptions, $rendererOptions
)->draw();
Example #4 Drawing a barcode with Zend_Barcode::draw()
// Only the text to draw is required
$barcodeOptions = array('text' => '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.
Example #5 Renderering a barcode with the renderer object
// 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();
This will generate this barcode:
Example #6 Renderering a barcode with Zend_Barcode::render()
// 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::render(
'code39', 'image', $barcodeOptions, $rendererOptions
);
This will generate the same barcode as the previous example.
|
|