Renderizadores do Zend_Barcode

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

  • Como uma matriz ou um objeto Zend_Config passado ao construtor.

  • Como uma matriz passada ao método setOptions().

  • Como um objeto Zend_Config passado ao método setConfig().

  • Como valores distintos passados à setters individuais.

Exemplo 66. Diferentes maneiras de parametrizar um objeto renderizador

$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);

Opções Comuns

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:

Tabela 17. Opções Comuns

Opção Tipo de Dado Valor Padrão Descrição
rendererNamespace String Zend_Barcode_Renderer Namespace do renderizador; por exemplo, caso precise estender os renderizadores.
horizontalPosition String "left" Pode ser "left", "center" ou "right". Pode ser útil com o formato PDF ou se o método setWidth() for usado com um renderizador de imagem.
verticalPosition String "top" Pode ser "top", "middle" ou "bottom". Pode ser útil com o formato PDF ou se o método setHeight() for usado com um renderizador de imagem.
leftOffset Integer 0 Posição superior do código de barras no interior do renderizador. Se usado, este valor substituirá a opção "horizontalPosition".
topOffset Integer 0 Posição superior do código de barras no interior do renderizador. Se usado, este valor substituirá a opção "verticalPosition".
automaticRenderError Boolean TRUE 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.
moduleSize Float 1 Tamanho de um módulo de renderização no suporte.
barcode Zend_Barcode_Object NULL O objeto código de barras a ser renderizado.

Existe um getter adicional: getType(). Ele retorna o nome da classe de renderização sem o namespace (por exemplo, Zend_Barcode_Renderer_Image retorna "image").

Zend_Barcode_Renderer_Image

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.

As opções disponíveis são:

Tabela 18. Opções do Zend_Barcode_Renderer_Image

Opção Tipo de Dado Valor Padrão Descrição
height Integer 0 Permite-lhe especificar a altura da imagem resultante. Se for "0", a altura será calculada pelo objeto código de barras.
width Integer 0 Permite-lhe especificar a largura da imagem resultante. Se for "0", a largura será calculada pelo objeto código de barras.
imageType String "png" Especifica o formato da imagem. Pode ser "png", "jpeg", "jpg" ou "gif".

Zend_Barcode_Renderer_Pdf

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

Não existem opções específicas para este renderizador.

Zend_Barcode_Renderer_Svg

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

As opções disponíveis são:

Tabela 19. Opções do Zend_Barcode_Renderer_Svg

Opção Tipo de Dado Valor Padrão Descrição
height Integer 0 Permite-lhe especificar a altura da imagem resultante. Se for "0", a altura será calculada pelo objeto código de barras.
width Integer 0 Permite-lhe especificar a largura da imagem resultante. Se for "0", a largura será calculada pelo objeto código de barras.