Trabalhando com Relatórios, Gráficos e Imagens
Dando continuidade à parte I do artigo, após montada toda a estrutura de pastas o próximo passo é definir um padrão para os relatórios, ou seja, fazer o layout de como os relatórios será apresentado. Após esta definição deverá ser criado todos os arquivos com extensão pdf e jpg que serão inseridos em todos os relatórios em tempo de execução.
Será apresentado a seguir um modelo padrão, que será utilizado no decorrer do artigo, e para tanto serão definidos a logomarca da empresa bem como todos os dados cadastrais da mesma, Figura 01. Esta imagem devera ser salva no formato JPG, que é o formato padrão que será utilizado pelo programa gerador do cabeçalho padrão dos relatórios. Todas estas imagens criadas deverão ser salvas numa pasta chamada padrao.
Para isso, você devera utilizar algum utilitário de para fazer desenho ou trabalhar com imagem, neste artigo será utilizado o Paint, Figura 02, do Windows.
Após definido o cabeçalho, o próximo passo será criar um arquivo que conterá o rodapé do relatório, Figura 3, e que ficará ao final do relatório.
Feito isso todos os arquivos com as imagens necessárias e sugeridos para se criar um relatório estarão prontos, e poderão ser reutilizados sempre que necessário. Estes arquivos fazendo uma analogia são objetos.
Editando e executando os programas
Agora chegou à hora de colocar a mão na massa, vamos começar a programar, para tanto utilize o editor de textpad para fazer estes programas, os mesmos deverão ser salvos na pasta padrão, a mesma pasta que contem as imagens salvas anteriormente.
O dois primeiro programa que faremos irá fazer uso das imagens criadas anteriormente e seguem abaixo:
Programa para criar subcabecalho
#!/perl/bin/perl
#Autor: Hailton David Lemos
use PDF::Reuse;
use Image::Info qw(image_info dim);
use strict;
prFile('subheader.pdf');
my $file = 'cabecalho.jpg';
my $info = image_info($file);
my ($width, $height) = dim($info);
my $intName = prJpeg("$file", $width, $height);
$width = $width * 0.55;
$height = $height * 0.45;
my $yImage = 760;
my $xImage = 15;
my $string = "q\n";
$string .= "$width 0 0 $height $xImage $yImage cm\n";
$string .= "/$intName Do\n";
$string .= "Q\n";
prAdd($string);
prEnd();
Programa para criar subcabeçalho
#! /perl/bin/perl
#Autor: Hailton David Lemos
use PDF::Reuse;
use strict;
prFile('header.pdf');
prForm("subheader.pdf");
prFontSize(9);
my $string = "10 740 582 15 re\n";
$string .= "0.95 g \n";
$string .= "b\n";
prAdd($string);
prEnd();
Estes programas, serão os responsáveis pela criação do cabeçalho dos relatórios.
Uma vez feita esta operação vá ao prompt de comando, e digite: cd\padrao, logo após iremos executar nossos programas escritos em Perl, para tanto basta agora digitar perl subheader.pl e depois perl header.pl, nesta ordem, feito isso teremos dois arquivos pdf criados na pasta, o header.pdf e o subheader.pdf.
O relatório deverá ser envolto por uma moldura, Programa 1, e também devera ter uma marca d'água, Programa 2, o que ira garantir a autenticidade do mesmo, e para tanto agora iremos fazer nossos primeiros programa escrito em Perl, não fiquem ansiosos já, já estaremos trabalhando com Java.
Programa para criar retângulo que irá circundar pagina pdf.
#! /perl/bin/perl
#Autor: Hailton David Lemos
use PDF::Reuse;
use PDF::Reuse::Barcode;
use strict;
prFile('mascara.pdf');
my $string = "10 70 582 780 re\n";
$string .= "1 g \n";
$string .= "b\n";
prAdd($string);
prEnd();
Programa para criar marca d'água.
#!/perl/bin/perl
#Autor: Hailton David Lemos
use PDF::Reuse;
use PDF::Reuse::Barcode;
use strict;
prFile('watermark.pdf');
prAdd('0.95 g');
prFontSize(100);
prText(70, 210, "PORTAL JAVA", 'left', 45);
my $string = "10 720 582 20 re\n";
$string .= "0.95 g \n";
$string .= "b\n";
prAdd($string);
prEnd();
Uma vez feita esta operação vá ao prompt de comando novamente, e digite: cd\padrao, logo após iremos executar nossos programas escritos em Perl, para tanto basta agora digitar perl mascara.pl e depois perl marcaDagua.pl, feito isso teremos dois arquivos pdf criados na pasta, o mascara.pdf e o watermark.pdf.
Feitos todos os passos corretamente, teremos já a base para iniciarmos a criação de relatórios, sua pasta padrão devera estar como a Figura 4.
Conclusão
No próximo artigo daremos continuidade ao nosso framework, com a criação de outros modelos sem a utilização de imagens, como foi feito até agora.
Nesta primeira etapa estamos utilizando apenas a execução do Perl através da linha de comando, mas assim que aprofundarmos mais no assunto iremos começar a utilizar o Java, aguardem.