Relatórios (Integração com PHP)

Propaganda
Centro de Formação em Tecnologia
Curso JasperReports/iReport
2
Relatórios (Integração com PHP)
Vamos agora usar o iReport como sendo o nosso criador de relatórios para
PHP.
Uma solução para utilizar uma aplicação de relatórios para a linguagem PHP. Consiste no uso do
trabalho em conjunto de relatórios JasperReports e o pacote PHPJasperXML.
O que me motivou a utilizar esta solução foi a procura por uma aplicação de relatórios para PHP, na
grande maioria das vezes com insucesso.
A linguagem PHP é extremamente flexível e muitos programadores que a utilizam, quando
necessitam desenvolver relatórios, fazem seu próprio código, desenvolvendo as suas próprias
quebras de linha etc. Só que o uso de aplicações de relatórios, os chamados reports generators,
trazem inúmeras vantagens ao programador. Além de ser mais profissional o uso destes softwares,
pois poupa tempo de desenvolvimento por serem muito mais fáceis de criar do que se elaborar um
código para esta finalidade, é também útil quando se necessita de suporte, pois diversos utilizadores
do mundo inteiro utilizam este software.
iReport
O iReport é um desenhador de layouts para JasperReports. É muito utilizado por programadores da
linguagem Java, sendo uma alternativa livre ao excelente Crystal Reports. Neste
link(http://community.jaspersoft.com/project/ireport-designer) o download pode ser feito, além de
conter manuais. É necessário ter a suíte JDK já instalada para fazer a instalação do iReport.
Além de ser muito intuitivo e de fácil uso, é útil em praticamente todas as necessidades na
elaboração de um relatório. Traz diversas opções como uso de código de barras, sub-relatórios e etc.
O iReport permite que os relatórios sejam criados em XML, PDF, HTML, DOCX, ODT, dentre
outros formatos.
Ao inserir as informações de ligação com a base de dados (o iReport traz diversas opções como
JDBC, conexão com Hibernate, XML e etc), é criado um ficheiro com extensão jrxml. Ao ser
compilado, um ficheiro de extensão jasper também é criado (ficheiro executável do relatório). Faz
analogia à linguagem Java, que tem o código residente nos arquivos de extensão JAVA (no caso do
iReport, extensão jrxml). Depois de compilados são gerados arquivos de extensão CLASS (no
iReport, jasper).
PHPJasperXML
PHPJasperXML possibilita a leitura de ficheiros jrxml, feitos utilizando o iReport, para transformálos em relatórios no formato PDF, com o auxílio da classe FPDF. É escrito em PHP e muito fácil
de ser configurado. É também uma solução alternativa ao PHP/Java Bridge(http://php-javabridge.sourceforge.net/pjb/index.php) .
Na página do projeto(http://www.simitgroup.com/?q=PHPJasperXML) é possível fazer o download
do código.
Financiado pelo FSE
Pág: 1
Centro de Formação em Tecnologia
Curso JasperReports/iReport
Além de conter manuais.
Para a sua utilização é necessário basicamente editar o ficheiro setting.php, que contém as variáveis
da ligação com a base de dados.
O ficheiro PHPJasperXML.inc contém a classe PHPJasperXML, que faz todo o “trabalho pesado”
da ligação com a base de dados (vem configurada para MySQL), ler o conteúdo do ficheiro jrxml e
junto com a classe FPDF, criar o relatório em PDF.
Exemplo de utilização
Irei exemplificar o uso do iReport com a classe PHPJasperXML.
Para nosso exemplo é necessário ter o SGBD MySQL instalado.
Após criar nossa base de dados, chamado ProjetoPHP, é o momento de elaborar o relatório. Para o
nosso exemplo, o relatório será chamado de phpjasperxml.jrxml. A ligação com a base de dados que
criamos deverá ser feita no iReport. Após criada a ligação, vamos inserir a seguinte query no Report
Query do relatório.
Depois de feito o download do PHPJasperXML, basta extrair a pasta class para a pasta do seu
projeto.
A seguir deve criar um ficheiro que irá instanciar a classe PHPJasperXML. Vamos chamar
este arquivo de ireport.php e seu conteúdo é o que se segue:
Financiado pelo FSE
Pág: 2
Centro de Formação em Tecnologia
Curso JasperReports/iReport
Resultado final (exemplo):
Financiado pelo FSE
Pág: 3
Download