Relatórios de alto nível com PHP

Daniel Rodrigues
Dec 4, 2017 · 2 min read

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.

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.

php-brasil

Blog da comunidade PHP Brasil

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store