Zend_Barcode – partie 1 : utilisation

Zend Framework 1.10 intégrera Zend_Barcode initialement appelé dans les proposals Zend_Image_Barcode.

La différence primordiale entre la première proposition et Zend_Barcode, c’est le découplage entre les objets et les générateurs de rendu. Ceci a permis d’écrire un générateur Image (Zend_Barcode_Renderer_Image) et un générateur PDF (Zend_Barcode_Renderer_Pdf).

Ce composant s’appuie sur une nouvelle version de Zend_Validate_Barcode spécialement réécrit pour la version 1.10 par Thomas (http://www.thomasweidner.com/flatpress/2009/12/17/validating-barcodes/).

La documentation officielle intégrera bien sûr les exemples permettant de faire fonctionner ce composant mais voyons quelques exemples d’utilisations.

1. Le fichier de génération d’image « barcode.php »

Vous le placez à la racine de votre serveur Web :

<?php
set_include_path('../library');
require_once 'Zend/Barcode.php';
Zend_Barcode::render($_GET('barcodeType'), 'image', $_GET, $_GET);

2. Un appel dans votre vue et … une première erreur

<img src="barcode.php?barcodeType=code39" />

Ce qui vous donnera bien sûr une image d’erreur :

Car aucun texte n’a été fourni.

3. Votre premier code-barres

Vous l’obtenez en ajoutant, simplement le paramètre « text » :

<img src="barcode.php?barcodeType=code39&text=ZEND-FRAMEWORK" />

Vous obtenez donc en 5 lignes de code votre premier code-barres:

4. Une police plus attrayante

Si vous utilisez le générateur Image basé sur l’extension GD et que vous ne spécifiez pas de police TTF, les polices internes de GD seront utilisées. Vous pouvez spécifier votre police soit dans les options de génération soit de manière plus globale :

<?php
set_include_path('../library');
require_once 'Zend/Barcode.php';
Zend_Barcode::setBarcodeFont('../data/fonts/tahoma.ttf');
Zend_Barcode::render($_GET('barcodeType'), 'image', $_GET, $_GET);

Vous obtiendrez ainsi :

Une réflexion sur « Zend_Barcode – partie 1 : utilisation »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *