diff --git a/README.md b/README.md index 0b61dc6..1c05e75 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,9 @@ JASPER_SERVER_PASSWORD="" ``` ### Fazendo requisições ao servidor -Para efetuar as requisições ao servidor jasper, utilize o serviço **JasperServerRequestServiceContract**. Este serviço, além de conter -o método **call(uri)** para efetuar a requisição, e os métodos auxiliares de configuração. +Para efetuar as requisições ao servidor jasper, +utilize o serviço [**JasperServerRequestServiceContract**](src/app/Services/Contracts/JasperServerRequestServiceContract.php). Este serviço, além de conter +o método **call(uri)** para efetuar a requisição e os métodos auxiliares de configuração. Segue abaixo exemplo de requisição para um relatório chamado **relatorio_teste**, contendo um parâmetro chamado **parametro_um**: @@ -44,14 +45,52 @@ $report = $this->jasperServerRequestService ->addInputControl('parametro_um', 'valor_qualquer') ->setRequestTimeout(300) ->call($uri); - -echo $report; ``` Por padrão os relatórios são retornados no formato **html**. Para especificar outro formato, basta utilizar o método -**setFormat** disponível no serviço: +**setFormat** disponível no [serviço](src/app/Services/JasperServerRequestService.php) e o enum [ReportFormatEnum](src/app/Enums/ReportFormatEnum.php) com os formatos disponíveis: ```shell $this->jasperServerRequestService - ->setFormat('pdf') + ->setFormat(ReportFormatEnum::PDF) ... +``` + +#### Métodos inline() e download() +Caso queira forçar a renderização inline do relatório, +basta utilizar a função ```inline()``` após o método ```call()```. Veja o exemplo abaixo: +```php +$uri = '/relatorio_teste'; + +$this->jasperServerRequestService + ->addInputControl('parametro_um', 'valor_qualquer') + ->setRequestTimeout(300) + ->call($uri) + ->inline(); +``` +Apenas arquivos que o navegador consegue renderizar serão +exibidos. Caso contrário, o arquivo será baixado. + +Caso queira forçar o download do arquivo, basta utilizar o método ```download('nome_do_arquivo')```, veja o exemplo abaixo: +```php +$uri = '/relatorio_teste'; + +$this->jasperServerRequestService + ->addInputControl('parametro_um', 'valor_qualquer') + ->setRequestTimeout(300) + ->call($uri) + ->download(); +``` +O nome do arquivo é opcional e, caso não seja informado, +terá um valor randômico atribuído. + +Caso você necessite obter o valor binário do relatório, pode utilizar +o método getReport(). Exemplo: +```php +$uri = '/relatorio_teste'; + +$report = $this->jasperServerRequestService +->addInputControl('parametro_um', 'valor_qualquer') +->setRequestTimeout(300) +->call($uri) +->getReport(); ``` \ No newline at end of file