Formulários personalizados para visualização e impressão de relatórios

A maioria das ferramentas para geração de relatórios possui um visualizador padrão para impressão, e normalmente trazem suas opções em inglês. O Rave Reports é um exemplo, mas possibilita, através de seus componentes, a criação de formulários customizados para visualização e impressão de relatórios.

Isso significa que podemos criar nosso próprio preview, com todas as opções em português, ou adicionar/remover funcionalidades de acordo com as necessidades da aplicação. Veremos neste artigo como criar um formulário para visualização e impressão de relatórios. Para este artigo utilizaremos a versão do Rave que acompanha o Delphi 7.

Não entraremos em detalhe sobre a criação de relatórios no Rave. Para saber mais sobre isso, consulte os artigos das edições 34, 40, 47 e 49.

Componentes utilizados

Os principais componentes do Rave utilizados no exemplo deste artigo são: RvNDRWriter, RvRenderPreview e RvRenderPrinter.

RvNDRWriter é responsável por gerar um Stream ou um arquivo binário (em formato proprietário) do relatório solicitado. Ele trabalha em conjunto com componentes RvRenderPreview e RvRenderPrinter para fazer a visualização e impressão do relatório.

O RvRenderPreview permite a manipulação de várias funcionalidades, entre elas o zoom e a navegação entre as páginas do relatório, e utiliza um ScrollBox para fazer a impressão do relatório na tela. Já o RvRenderPrinter “envia” o relatório para a impressora, onde podemos configurar desde o número de cópias até o intervalo de páginas que o usuário deseja imprimir.

Exemplo prático

Nosso exemplo consiste de dois formulários, um para visualizar o relatório em tela e outro para enviá-lo para a impressora. No formulário de visualização, adicionaremos algumas funcionalidades que não estão disponíveis no preview padrão do Rave, como possibilidade de visualização de duas páginas do relatório ao mesmo tempo. Montaremos os formulários de forma que possam ser utilizados em qualquer aplicação Delphi com o Rave, sem maiores alterações.

...
Quer ler esse conteúdo completo? Tenha acesso completo