Zend_Barcode-Objects.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 20764 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.barcode.objects" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <title>Objetos Zend_Barcode</title>
  6. <para>
  7. Os objetos código de barras te permitem gerar códigos de barras independentemente do suporte
  8. de renderização. Após a geração, você pode recuperar o código de barras como uma matriz de
  9. instruções de desenho que você pode fornecer a um renderizador.
  10. </para>
  11. <para>
  12. Os objetos têm um grande número de opções. A maioria deles são comuns a todos os objetos.
  13. Essas opções podem ser definidas em quatro formas:
  14. </para>
  15. <itemizedlist>
  16. <listitem>
  17. <para>
  18. Como uma matriz ou um objeto <classname>Zend_Config</classname> passado ao
  19. construtor.
  20. </para>
  21. </listitem>
  22. <listitem>
  23. <para>
  24. Como uma matriz passada ao método <methodname>setOptions()</methodname>.
  25. </para>
  26. </listitem>
  27. <listitem>
  28. <para>
  29. Como um objeto <classname>Zend_Config</classname> passado ao método
  30. <methodname>setConfig()</methodname>.
  31. </para>
  32. </listitem>
  33. <listitem>
  34. <para>Através de métodos de acesso individuais para cada tipo de configuração.</para>
  35. </listitem>
  36. </itemizedlist>
  37. <example id="zend.barcode.objects.configuration">
  38. <title>Diferentes maneiras de parametrizar um objeto código de barras</title>
  39. <programlisting language="php"><![CDATA[
  40. $options = array('text' => 'ZEND-FRAMEWORK', 'barHeight' => 40);
  41. // Caso 1: construtor
  42. $barcode = new Zend_Barcode_Object_Code39($options);
  43. // Caso 2: setOptions()
  44. $barcode = new Zend_Barcode_Object_Code39();
  45. $barcode->setOptions($options);
  46. // Caso 3: setConfig()
  47. $config = new Zend_Config($options);
  48. $barcode = new Zend_Barcode_Object_Code39();
  49. $barcode->setConfig($config);
  50. // Caso 4: métodos de acesso individuais
  51. $barcode = new Zend_Barcode_Object_Code39();
  52. $barcode->setText('ZEND-FRAMEWORK')
  53. ->setBarHeight(40);
  54. ]]></programlisting>
  55. </example>
  56. <sect2 id="zend.barcode.objects.common.options">
  57. <title>Opções Comuns</title>
  58. <para>
  59. Na lista seguinte, os valores não têm unidades; usaremos o termo "unidade". Por exemplo,
  60. o valor padrão da "barra fina" é "1 unidade". As unidades reais dependem do suporte de
  61. renderização (veja <link linkend="zend.barcode.renderers">a documentação dos
  62. renderizadores</link> para mais informações). Os métodos de acesso são nomeados
  63. mudando a letra inicial da opção para maiúscula e colocando o prefixo "set" (por exemplo
  64. "barHeight" se torna "setBarHeight"). Todas as opções têm um método de leitura
  65. correspondente com prefixo "get" (por exemplo "getBarHeight"). As opções disponíveis
  66. são:
  67. </para>
  68. <table id="zend.barcode.objects.common.options.table">
  69. <title>Opções Comuns</title>
  70. <tgroup cols="4">
  71. <thead>
  72. <row>
  73. <entry>Opção</entry>
  74. <entry>Tipo de Dado</entry>
  75. <entry>Valor Padrão</entry>
  76. <entry>Descrição</entry>
  77. </row>
  78. </thead>
  79. <tbody>
  80. <row>
  81. <entry><emphasis>barcodeNamespace</emphasis></entry>
  82. <entry><type>String</type></entry>
  83. <entry><classname>Zend_Barcode_Object</classname></entry>
  84. <entry>
  85. Namespace do código de barras; por exemplo, se você precisar estender
  86. os objetos incorporados
  87. </entry>
  88. </row>
  89. <row>
  90. <entry><emphasis>barHeight</emphasis></entry>
  91. <entry><type>Integer</type></entry>
  92. <entry>50</entry>
  93. <entry>Altura das barras</entry>
  94. </row>
  95. <row>
  96. <entry><emphasis>barThickWidth</emphasis></entry>
  97. <entry><type>Integer</type></entry>
  98. <entry>3</entry>
  99. <entry>Largura da barra grossa</entry>
  100. </row>
  101. <row>
  102. <entry><emphasis>barThinWidth</emphasis></entry>
  103. <entry><type>Integer</type></entry>
  104. <entry>1</entry>
  105. <entry>Largura da barra fina</entry>
  106. </row>
  107. <row>
  108. <entry><emphasis>factor</emphasis></entry>
  109. <entry><type>Integer</type></entry>
  110. <entry>1</entry>
  111. <entry>
  112. Fator com o qual a largura das barras e o tamanho das fontes
  113. são multiplicados
  114. </entry>
  115. </row>
  116. <row>
  117. <entry><emphasis>foreColor</emphasis></entry>
  118. <entry><type>Integer</type></entry>
  119. <entry>0 (preto)</entry>
  120. <entry>
  121. Cor da barra e do texto. Poderia ser fornecido como um inteiro ou como
  122. um valor em <acronym>HTML</acronym> (por exemplo "#333333")
  123. </entry>
  124. </row>
  125. <row>
  126. <entry><emphasis>backgroundColor</emphasis></entry>
  127. <entry><type>Integer</type> ou <type>String</type></entry>
  128. <entry>16777125 (branco)</entry>
  129. <entry>
  130. Cor do fundo. Poderia ser fornecido como um inteiro ou como um valor
  131. em <acronym>HTML</acronym> (por exemplo "#333333")
  132. </entry>
  133. </row>
  134. <row>
  135. <entry><emphasis>reverseColor</emphasis></entry>
  136. <entry><type>Boolean</type></entry>
  137. <entry><constant>FALSE</constant></entry>
  138. <entry>Permite-lhe trocar a cor da barra e do fundo</entry>
  139. </row>
  140. <row>
  141. <entry><emphasis>orientation</emphasis></entry>
  142. <entry><type>Integer</type></entry>
  143. <entry>0</entry>
  144. <entry>Orientação do código de barras</entry>
  145. </row>
  146. <row>
  147. <entry><emphasis>font</emphasis></entry>
  148. <entry><type>String</type> ou <type>Integer</type></entry>
  149. <entry><constant>NULL</constant></entry>
  150. <entry>
  151. Caminho para uma fonte <acronym>TTF</acronym> ou um número entre 1 e 5,
  152. caso esteja utilizando a geração de imagem com o GD (fontes internas)
  153. </entry>
  154. </row>
  155. <row>
  156. <entry><emphasis>fontSize</emphasis></entry>
  157. <entry><type>Integer</type></entry>
  158. <entry>10</entry>
  159. <entry>Tamanho da fonte (não aplicável à fontes numéricas)</entry>
  160. </row>
  161. <row>
  162. <entry><emphasis>withBorder</emphasis></entry>
  163. <entry><type>Boolean</type></entry>
  164. <entry><constant>FALSE</constant></entry>
  165. <entry>
  166. Desenhar uma borda em torno do código de barras e dos espaços vazios
  167. </entry>
  168. </row>
  169. <row>
  170. <entry><emphasis>drawText</emphasis></entry>
  171. <entry><type>Boolean</type></entry>
  172. <entry><constant>TRUE</constant></entry>
  173. <entry>Define se o texto será mostrado abaixo do código de barras</entry>
  174. </row>
  175. <row>
  176. <entry><emphasis>stretchText</emphasis></entry>
  177. <entry><type>Boolean</type></entry>
  178. <entry><constant>FALSE</constant></entry>
  179. <entry>
  180. Especifica se o texto será esticado ao longo do código de barras
  181. </entry>
  182. </row>
  183. <row>
  184. <entry><emphasis>withChecksum</emphasis></entry>
  185. <entry><type>Boolean</type></entry>
  186. <entry><constant>FALSE</constant></entry>
  187. <entry>
  188. Indica se o checksum será adicionado automaticamente ao código de barras
  189. </entry>
  190. </row>
  191. <row>
  192. <entry><emphasis>withChecksumInText</emphasis></entry>
  193. <entry><type>Boolean</type></entry>
  194. <entry><constant>FALSE</constant></entry>
  195. <entry>Indica se o checksum será exibido na representação textual</entry>
  196. </row>
  197. <row>
  198. <entry><emphasis>text</emphasis></entry>
  199. <entry><type>String</type></entry>
  200. <entry><constant>NULL</constant></entry>
  201. <entry>O texto que será reproduzido como um código de barras</entry>
  202. </row>
  203. </tbody>
  204. </tgroup>
  205. </table>
  206. <sect3 id="zend.barcode.objects.common.options.barcodefont">
  207. <title>O caso particular do setBarcodeFont() estático</title>
  208. <para>
  209. Você pode definir uma fonte comum para todos os seus objetos usando o método
  210. estático <methodname>Zend_Barcode_Object::setBarcodeFont()</methodname>. Este valor
  211. pode ser substituído por objetos individuais usando o método
  212. <methodname>setFont()</methodname>.
  213. </para>
  214. <programlisting language="php"><![CDATA[
  215. // Em seu arquivo bootstrap:
  216. Zend_Barcode_Object::setBarcodeFont('my_font.ttf');
  217. // Depois em seu código:
  218. Zend_Barcode::render(
  219. 'code39',
  220. 'pdf',
  221. array('text' => 'ZEND-FRAMEWORK')
  222. ); // utilizará 'my_font.ttf'
  223. // or:
  224. Zend_Barcode::render(
  225. 'code39',
  226. 'image',
  227. array(
  228. 'text' => 'ZEND-FRAMEWORK',
  229. 'font' => 3
  230. )
  231. ); // utilizará a terceira fonte interna do GD
  232. ]]></programlisting>
  233. </sect3>
  234. </sect2>
  235. <sect2 id="zend.barcode.objects.common.getters">
  236. <title>Métodos de Leitura Comuns Adicionais</title>
  237. <para></para>
  238. <table id="zend.barcode.objects.common.getters.table">
  239. <title>Métodos de Leitura Comuns</title>
  240. <tgroup cols="3">
  241. <thead>
  242. <row>
  243. <entry>Método de Leitura</entry>
  244. <entry>Tipo de Dado</entry>
  245. <entry>Descrição</entry>
  246. </row>
  247. </thead>
  248. <tbody>
  249. <row>
  250. <entry><methodname>getType()</methodname></entry>
  251. <entry><type>String</type></entry>
  252. <entry>
  253. Retorna o nome da classe de código de barras sem o namespace
  254. (por exemplo, <classname>Zend_Barcode_Object_Code39</classname> retorna
  255. simplesmente "code39")
  256. </entry>
  257. </row>
  258. <row>
  259. <entry><methodname>getRawText()</methodname></entry>
  260. <entry><type>String</type></entry>
  261. <entry>Retorna o texto original fornecido pelo objeto</entry>
  262. </row>
  263. <row>
  264. <entry><methodname>getTextToDisplay()</methodname></entry>
  265. <entry><type>String</type></entry>
  266. <entry>
  267. Retorna o texto a ser exibido, incluindo, se ativado,
  268. o valor do checksum
  269. </entry>
  270. </row>
  271. <row>
  272. <entry><methodname>getQuietZone()</methodname></entry>
  273. <entry><type>Integer</type></entry>
  274. <entry>
  275. Retornar a quantidade de espaço necessário antes e depois do código
  276. de barras sem nenhum desenho
  277. </entry>
  278. </row>
  279. <row>
  280. <entry><methodname>getInstructions()</methodname></entry>
  281. <entry><type>Array</type></entry>
  282. <entry>Retorna as instruções de desenho como uma matriz</entry>
  283. </row>
  284. <row>
  285. <entry><methodname>getHeight($recalculate = false)</methodname></entry>
  286. <entry><type>Integer</type></entry>
  287. <entry>
  288. Retorna a altura do código de barras calculado após uma
  289. possível rotação
  290. </entry>
  291. </row>
  292. <row>
  293. <entry><methodname>getWidth($recalculate = false)</methodname></entry>
  294. <entry><type>Integer</type></entry>
  295. <entry>
  296. Retorna a largura do código de barras calculado após uma
  297. possível rotação
  298. </entry>
  299. </row>
  300. <row>
  301. <entry><methodname>getOffsetTop($recalculate = false)</methodname></entry>
  302. <entry><type>Integer</type></entry>
  303. <entry>
  304. Retorna a posição do topo do código de barras calculado após
  305. uma possível rotação
  306. </entry>
  307. </row>
  308. <row>
  309. <entry><methodname>getOffsetLeft($recalculate = false)</methodname></entry>
  310. <entry><type>Integer</type></entry>
  311. <entry>
  312. Retorna a posição da esquerda do código de barras calculado após
  313. uma possível rotação
  314. </entry>
  315. </row>
  316. </tbody>
  317. </tgroup>
  318. </table>
  319. </sect2>
  320. <xi:include href="Zend_Barcode-Objects_Details.xml" />
  321. </sect1>