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