Relatórios de alto nível com PHP
Embora seja uma parte essencial em sistemas, criar relatórios com PHP tem tirado o sono de muitos desenvolvedores, muitas ferramentas exigem que o desenvolvedor escreva código em HTML + CSS pra depois gerar um PDF e quando falamos em dados complexos a coisa complica de tal forma que será necessário algumas centenas de linhas de código, todos os seus problemas acabam agora com o phpjasper uma biblioteca livre para geração de relatórios.
PHPJasper é a solução perfeita para compilar e processar relatórios Jasper (.jrxml & .jasper) com PHP, ou seja, gerar relatórios com PHP.
Preparando o ambiente
Primeiro você vai precisar do open jdk instalado no seu servidor já que iremos procesar arquivos do tipo jrxml ou .jasper, para quem não conhece o Jasper Reports é a ferramenta mais famosa do mundo do desenvolvimento quando tratamos de saída de dados(relatórios), baixe o Jaspersoft Studio para o seu sistema operacional preferido e crie um modelo de relatório.
Gerando seu relatório
require __DIR__ . '/vendor/autoload.php';
use PHPJasper\PHPJasper;
$input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jasper';
$output = __DIR__ . '/vendor/geekcom/phpjasper/examples';
$options = [
'format' => ['pdf', 'rtf']
];
$jasper = new PHPJasper;
$jasper->process(
$input,
$output,
$options
)->execute();
Simples assim, você deve apenas indicar onde está o relatório que você acabou de criar no jasper studio $input, indicar onde o deve ser gerado o relatório $output e indicar o tipo de relatório que você deseja criar $options, os formatos possíves são:
[‘pdf’, ‘rtf’, ‘xls’, ‘xlsx’, ‘docx’, ‘odt’, ‘ods’, ‘pptx’, ‘csv’, ‘html’, ‘xhtml’, ‘xml’, ‘jrprint’].
É possivel ainda gerar relatórios de praticamente qualquer fonte dados, bancos relacionais como mysql, postgres, sqlServer, bancos não relacionais como mongodb, gerar relatórios a partir de um arquivo XML ou Json por exemplo.
No repositório tem muitos exemplos de uso e a documentação está em português e inglês, vale a pena parar de sofrer com relatórios e tentar algo novo, toda contribuição é bem vinda, vale lembrar que phpjasper será apresentado por um dos seus colaboradores na PhpConference 2017.