<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.barcode.renderers">
    <title>Renderizadores do Zend_Barcode</title>

    <para>
        Os renderizadores tem algumas opções em comum. Essas opções podem ser definidas em
        quatro formas:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                Como uma matriz ou um objeto <classname>Zend_Config</classname> passado ao
                construtor.
            </para>
        </listitem>

        <listitem>
            <para>
                Como uma matriz passada ao método <methodname>setOptions()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>
                Como um objeto <classname>Zend_Config</classname> passado ao método
                <methodname>setConfig()</methodname>.
            </para>
        </listitem>

        <listitem>
            <para>Como valores distintos passados à setters individuais.</para>
        </listitem>
    </itemizedlist>

    <example id="zend.barcode.renderers.configuration">
        <title>Diferentes maneiras de parametrizar um objeto renderizador</title>

        <programlisting language="php"><![CDATA[
$options = array('topOffset' => 10);

// Caso 1
$renderer = new Zend_Barcode_Renderer_Pdf($options);

// Caso 2
$renderer = new Zend_Barcode_Renderer_Pdf();
$renderer->setOptions($options);

// Caso 3
$config   = new Zend_Config($options);
$renderer = new Zend_Barcode_Renderer_Pdf();
$renderer->setConfig($config);

// Caso 4
$renderer = new Zend_Barcode_Renderer_Pdf();
$renderer->setTopOffset(10);
]]></programlisting>
    </example>

    <sect2 id="zend.barcode.renderers.common.options">
        <title>Opções Comuns</title>

        <para>
            Na lista seguinte, os valores não têm unidades; usaremos o termo "unidade". Por exemplo,
            o valor padrão da "barra fina" é "1 unidade". As unidades reais dependem do suporte de
            renderização. Os setters individuais são obtidos mudando a letra inicial da opção para
            maiúscula e colocando o prefixo "set" (por exemplo "barHeight" => "setBarHeight").
            Todas as opções têm um getter correspondente com prefixo "get" (por exemplo
            "getBarHeight"). As opções disponíveis são:
        </para>

        <table id="zend.barcode.renderers.common.options.table">
            <title>Opções Comuns</title>

            <tgroup cols="4">
                <thead>
                    <row>
                        <entry>Opção</entry>
                        <entry>Tipo de Dado</entry>
                        <entry>Valor Padrão</entry>
                        <entry>Descrição</entry>
                    </row>
                </thead>

                <tbody>
                    <row>
                        <entry><emphasis>rendererNamespace</emphasis></entry>
                        <entry><type>String</type></entry>
                        <entry><classname>Zend_Barcode_Renderer</classname></entry>

                        <entry>
                            Namespace do renderizador; por exemplo, caso precise estender os
                            renderizadores.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>horizontalPosition</emphasis></entry>
                        <entry><type>String</type></entry>
                        <entry>"left"</entry>

                        <entry>
                            Pode ser "left", "center" ou "right". Pode ser útil com o formato
                            <acronym>PDF</acronym> ou se o método
                            <methodname>setWidth()</methodname> for usado com um
                            renderizador de imagem.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>verticalPosition</emphasis></entry>
                        <entry><type>String</type></entry>
                        <entry>"top"</entry>

                        <entry>
                            Pode ser "top", "middle" ou "bottom". Pode ser útil com o formato
                            <acronym>PDF</acronym> ou se o método
                            <methodname>setHeight()</methodname> for usado com um
                            renderizador de imagem.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>leftOffset</emphasis></entry>
                        <entry><type>Integer</type></entry>
                        <entry>0</entry>

                        <entry>
                            Posição superior do código de barras no interior do renderizador. Se
                            usado, este valor substituirá a opção "horizontalPosition".
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>topOffset</emphasis></entry>
                        <entry><type>Integer</type></entry>
                        <entry>0</entry>

                        <entry>
                            Posição superior do código de barras no interior do renderizador. Se
                            usado, este valor substituirá a opção "verticalPosition".
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>automaticRenderError</emphasis></entry>
                        <entry><type>Boolean</type></entry>
                        <entry><constant>TRUE</constant></entry>

                        <entry>
                            Ativa a renderização automática dos erros. Se ocorrer uma exceção, o
                            objeto código de barras fornecido será substituído por uma representação
                            de erro. Observe que alguns erros (ou exceções) não podem ser
                            renderizados.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>moduleSize</emphasis></entry>
                        <entry><type>Float</type></entry>
                        <entry>1</entry>
                        <entry>Tamanho de um módulo de renderização no suporte.</entry>
                    </row>

                    <row>
                        <entry><emphasis>barcode</emphasis></entry>
                        <entry><classname>Zend_Barcode_Object</classname></entry>
                        <entry><constant>NULL</constant></entry>
                        <entry>O objeto código de barras a ser renderizado.</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>

        <para>
            Existe um getter adicional: <methodname>getType()</methodname>. Ele retorna o nome da
            classe de renderização sem o namespace (por exemplo,
            <classname>Zend_Barcode_Renderer_Image</classname> retorna "image").
        </para>
    </sect2>

    <sect2 id="zend.barcode.renderers.image">
        <title>Zend_Barcode_Renderer_Image</title>

        <para>
            O renderizador Image irá desenhar a lista de instruções do objeto código de barras em
            um recurso de imagem. O componente requer a extensão GD. A largura padrão de um módulo
            é de 1 pixel.
        </para>

        <para>As opções disponíveis são:</para>

        <table id="zend.barcode.renderers.image.table">
            <title>Opções do Zend_Barcode_Renderer_Image</title>

            <tgroup cols="4">
                <thead>
                    <row>
                        <entry>Opção</entry>
                        <entry>Tipo de Dado</entry>
                        <entry>Valor Padrão</entry>
                        <entry>Descrição</entry>
                    </row>
                </thead>

                <tbody>
                    <row>
                        <entry><emphasis>height</emphasis></entry>
                        <entry><type>Integer</type></entry>
                        <entry>0</entry>

                        <entry>
                            Permite-lhe especificar a altura da imagem resultante. Se for "0", a
                            altura será calculada pelo objeto código de barras.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>width</emphasis></entry>
                        <entry><type>Integer</type></entry>
                        <entry>0</entry>

                        <entry>
                            Permite-lhe especificar a largura da imagem resultante. Se for "0", a
                            largura será calculada pelo objeto código de barras.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>imageType</emphasis></entry>
                        <entry><type>String</type></entry>
                        <entry>"png"</entry>

                        <entry>
                            Especifica o formato da imagem. Pode ser "png", "jpeg", "jpg" ou "gif".
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
    </sect2>

    <sect2 id="zend.barcode.renderers.pdf">
        <title>Zend_Barcode_Renderer_Pdf</title>

        <para>
            O renderizador de <acronym>PDF</acronym> irá desenhar a lista de instruções do objeto
            código de barras em um documento <acronym>PDF</acronym>. A largura padrão de um módulo
            é de 0,5 point.
        </para>

        <para>
            Não existem opções específicas para este renderizador.
        </para>
    </sect2>

    <sect2 id="zend.barcode.renderers.svg">
        <title>Zend_Barcode_Renderer_Svg</title>

        <para>
            O renderizador de <acronym>SVG</acronym> irá desenhar a lista de instruções do objeto
            código de barras em um documento <acronym>SVG</acronym>. A largura padrão de um módulo
            é de 1 pixel.
        </para>

        <para>As opções disponíveis são:</para>

        <table id="zend.barcode.renderers.svg.table">
            <title>Opções do Zend_Barcode_Renderer_Svg</title>

            <tgroup cols="4">
                <thead>
                    <row>
                        <entry>Opção</entry>
                        <entry>Tipo de Dado</entry>
                        <entry>Valor Padrão</entry>
                        <entry>Descrição</entry>
                    </row>
                </thead>

                <tbody>
                    <row>
                        <entry><emphasis>height</emphasis></entry>
                        <entry><type>Integer</type></entry>
                        <entry>0</entry>

                        <entry>
                            Permite-lhe especificar a altura da imagem resultante. Se for "0", a
                            altura será calculada pelo objeto código de barras.
                        </entry>
                    </row>

                    <row>
                        <entry><emphasis>width</emphasis></entry>
                        <entry><type>Integer</type></entry>
                        <entry>0</entry>

                        <entry>
                            Permite-lhe especificar a largura da imagem resultante. Se for "0", a
                            largura será calculada pelo objeto código de barras.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
    </sect2>
</sect1>
