Introduction

Création de code-barres avec la classe Zend_Barcode

Utilisation de la fabrique Zend_Barcode::factory

Zend_Barcode possède une méthode de fabrique pour créer une instance d'un générateur de rendu qui étend Zend_Barcode_Renderer_RendererAbstract. Ce méthode accepte 5 arguments.

  1. Le nom du format de code-barres (ex. "code39") (obligatoire)

  2. Le nom du générateur de rendu (ex. "image") (obligatoire)

  3. Les options de l'objet code-barres (un tableau ou un objet Zend_Config) (optionnel)

  4. Les options du générateur de rendu (un tableau ou un objet Zend_Config) (optionnel)

  5. Booléen indiquant si le générateur automatique d'erreur est activé. Si une exception intervient, l'objet code-barres fourni sera remplacé par un objet représentant l'erreur (optionnel par défaut vaut TRUE)

Example #1 Récupérer un générateur de rendu avec Zend_Barcode::factory()

Zend_Barcode::factory() instancie un objet code-barres et un générateur de rendu et les lie ensemble. Dans le premier exemple, nous allons utiliser le type de code-barres Code39 avec le générateur de rendu Image.

  1. // Seul le texte à écrire est obligatoire
  2. $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
  3. // Pas d'options requises
  4. $rendererOptions = array();
  5. $renderer = Zend_Barcode::factory(
  6.     'code39', 'image', $barcodeOptions, $rendererOptions
  7. );

Example #2 Utiliser Zend_Barcode::factory() avec des objets Zend_Config

Vous pouvez fournir un objet Zend_Config à la fabrique afin de créer les objets souhaités. L'exemple suivant est fonctionnellement équivalent au précédent.

  1. // En utilisant seulement un objet Zend_Config
  2. $config = new Zend_Config(array(
  3.     'barcode'        => 'code39',
  4.     'barcodeParams'  => array('text' => 'ZEND-FRAMEWORK'),
  5.     'renderer'       => 'image',
  6.     'rendererParams' => array('imageType' => 'gif'),
  7. ));
  8. $renderer = Zend_Barcode::factory($config);

Tracer un code-barres

Quand vous dessiner un code-barres, vous récupérez la ressource dans laquelle le code-barres est tracée. Pour ensuite tracer le code-barres, vous pouvez appeler la méthode draw() du générateur de rendu ou simplement utiliser la méthode proxy fournie par Zend_Barcode.

Example #3 Tracer un code-barres avec l'objet générateur de rendu

  1. // Seul le texte à écrire est obligatoire
  2. $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
  3. // Pas d'options requises
  4. $rendererOptions = array();
  5. // Tracé du code-barres dans une nouvelle image
  6. $imageResource = Zend_Barcode::factory(
  7.     'code39', 'image', $barcodeOptions, $rendererOptions
  8. )->draw();

Example #4 Trace un code-barres avec Zend_Barcode::draw()

  1. // Seul le texte à écrire est obligatoire
  2. $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
  3. // Pas d'options requises
  4. $rendererOptions = array();
  5. // Tracé du code-barres dans une nouvelle image
  6. $imageResource = Zend_Barcode::draw(
  7.     'code39', 'image', $barcodeOptions, $rendererOptions
  8. );

Générer le rendu d'un code-barres

Quand vous générez un code-barres, vous dessinez le code-barres, vous envoyez les entêtes et vous envoyez la ressource (par exemple vers un navigateur). Pour rendre un code-barres, vous pouvez appeler la méthode render() du générateur de rendu ou simplement utiliser la méthode proxy fournie par Zend_Barcode.

Example #5 Effectuer le rendu d'un code-barres avec l'objet générateur de rendu

  1. // Seul le texte à écrire est obligatoire
  2. $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
  3. // Pas d'options requises
  4. $rendererOptions = array();
  5. // Tracé du code-barres dans une nouvelle image,
  6. // envoi des entêtes et de l'image
  7. Zend_Barcode::factory(
  8.     'code39', 'image', $barcodeOptions, $rendererOptions
  9. )->render();

Ceci générera ce code-barres :

zend.barcode.introduction.example-1.png

Example #6 Effectuer le rendu d'un code-barres avec Zend_Barcode::render()

  1. // Seul le texte à écrire est obligatoire
  2. $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
  3. // Pas d'options requises
  4. $rendererOptions = array();
  5. // Tracé du code-barres dans une nouvelle image,
  6. // envoi des entêtes et de l'image
  7. Zend_Barcode::render(
  8.     'code39', 'image', $barcodeOptions, $rendererOptions
  9. );

Ceci générera le même code-barres que l'exemple précédent.


Introduction