1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- EN-Revision: 19695 -->
4 <sect1 id="zend.barcode.creation">
5 <title>Création de code-barres avec la classe Zend_Barcode</title>
6 <sect2 id="zend.barcode.creation.configuration">
7 <title>Utilisation de la fabrique Zend_Barcode::factory</title>
10 <classname>Zend_Barcode</classname> possède une méthode de fabrique pour créer une
11 instance d'un générateur de rendu qui étend
12 <classname>Zend_Barcode_Renderer_RendererAbstract</classname>. Ce méthode accepte 5
18 <para>Le nom du format de code-barres (ex. "code39") (obligatoire)</para>
21 <para>Le nom du générateur de rendu (ex. "image") (obligatoire)</para>
25 Les options de l'objet code-barres (un tableau ou un objet
26 <classname>Zend_Config</classname>) (optionnel)
31 Les options du générateur de rendu (un tableau ou un objet
32 <classname>Zend_Config</classname>) (optionnel)
37 Booléen indiquant si le générateur automatique d'erreur est activé. Si
38 une exception intervient, l'objet code-barres fourni sera remplacé par un
39 objet représentant l'erreur (optionnel par défaut vaut
40 <constant>TRUE</constant>)
45 <example id="zend.barcode.creation.configuration.example-1">
46 <title>Récupérer un générateur de rendu avec Zend_Barcode::factory()</title>
49 <methodname>Zend_Barcode::factory()</methodname> instancie un objet code-barres
50 et un générateur de rendu et les lie ensemble. Dans le premier exemple, nous allons
51 utiliser le type de code-barres <emphasis>Code39</emphasis> avec le générateur
52 de rendu <emphasis>Image</emphasis>.
55 <programlisting language="php"><![CDATA[
56 // Seul le texte à écrire est obligatoire
57 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
58 // Pas d'options requises
59 $rendererOptions = array();
60 $renderer = Zend_Barcode::factory(
61 'code39', 'image', $barcodeOptions, $rendererOptions
66 <example id="zend.barcode.creation.configuration.example-2">
67 <title>Utiliser Zend_Barcode::factory() avec des objets Zend_Config</title>
70 Vous pouvez fournir un objet <classname>Zend_Config</classname> à la fabrique afin
71 de créer les objets souhaités. L'exemple suivant est fonctionnellement équivalent
75 <programlisting language="php"><![CDATA[
76 // En utilisant seulement un objet Zend_Config
77 $config = new Zend_Config(array(
78 'barcode' => 'code39',
79 'barcodeParams' => array('text' => 'ZEND-FRAMEWORK'),
80 'renderer' => 'image',
81 'rendererParams' => array('imageType' => 'gif'),
83 $renderer = Zend_Barcode::factory($config);
88 <sect2 id="zend.barcode.creation.drawing">
89 <title>Tracer un code-barres</title>
92 Quand vous <emphasis>dessiner</emphasis> un code-barres, vous récupérez la ressource
93 dans laquelle le code-barres est tracée. Pour ensuite tracer le code-barres, vous
94 pouvez appeler la méthode <methodname>draw()</methodname> du générateur de rendu ou
95 simplement utiliser la méthode proxy fournie par <classname>Zend_Barcode</classname>.
98 <example id="zend.barcode.creation.drawing.example-1">
99 <title>Tracer un code-barres avec l'objet générateur de rendu</title>
101 <programlisting language="php"><![CDATA[
102 // Seul le texte à écrire est obligatoire
103 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
104 // Pas d'options requises
105 $rendererOptions = array();
106 // Tracé du code-barres dans une nouvelle image
107 $imageResource = Zend_Barcode::factory(
108 'code39', 'image', $barcodeOptions, $rendererOptions
113 <example id="zend.barcode.creation.drawing.example-2">
114 <title>Trace un code-barres avec Zend_Barcode::draw()</title>
116 <programlisting language="php"><![CDATA[
117 // Seul le texte à écrire est obligatoire
118 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
119 // Pas d'options requises
120 $rendererOptions = array();
121 // Tracé du code-barres dans une nouvelle image
122 $imageResource = Zend_Barcode::draw(
123 'code39', 'image', $barcodeOptions, $rendererOptions
129 <sect2 id="zend.barcode.creation.renderering">
130 <title>Générer le rendu d'un code-barres</title>
133 Quand vous générez un code-barres, vous dessinez le code-barres, vous envoyez les
134 entêtes et vous envoyez la ressource (par exemple vers un navigateur). Pour rendre un
135 code-barres, vous pouvez appeler la méthode <methodname>render()</methodname> du
136 générateur de rendu ou simplement utiliser la méthode proxy fournie par
137 <classname>Zend_Barcode</classname>.
140 <example id="zend.barcode.creation.renderering.example-1">
141 <title>Effectuer le rendu d'un code-barres avec l'objet générateur de rendu</title>
143 <programlisting language="php"><![CDATA[
144 // Seul le texte à écrire est obligatoire
145 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
146 // Pas d'options requises
147 $rendererOptions = array();
148 // Tracé du code-barres dans une nouvelle image,
149 // envoi des entêtes et de l'image
150 Zend_Barcode::factory(
151 'code39', 'image', $barcodeOptions, $rendererOptions
156 Ceci générera ce code-barres :
160 <inlinegraphic width="275" align="center" valign="middle"
161 fileref="figures/zend.barcode.introduction.example-1.png" format="PNG"/>
165 <example id="zend.barcode.creation.renderering.example-2">
166 <title>Effectuer le rendu d'un code-barres avec Zend_Barcode::render()</title>
168 <programlisting language="php"><![CDATA[
169 // Seul le texte à écrire est obligatoire
170 $barcodeOptions = array('text' => 'ZEND-FRAMEWORK');
171 // Pas d'options requises
172 $rendererOptions = array();
173 // Tracé du code-barres dans une nouvelle image,
174 // envoi des entêtes et de l'image
175 Zend_Barcode::render(
176 'code39', 'image', $barcodeOptions, $rendererOptions
181 Ceci générera le même code-barres que l'exemple précédent.