PHPackages                             copam/phpjasper7 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. copam/phpjasper7

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

copam/phpjasper7
================

Gerador de relatórios PHP

v1.3(6y ago)14181MITPHPPHP &gt;=7.0

Since Aug 24Pushed 6y ago1 watchersCompare

[ Source](https://github.com/copam/phpjasper-php7)[ Packagist](https://packagist.org/packages/copam/phpjasper7)[ RSS](/packages/copam-phpjasper7/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (4)Dependencies (1)Versions (6)Used By (0)

PHPJasper
=========

[](#phpjasper)

[![Scrutinizer Code Quality](https://camo.githubusercontent.com/97c17b5340e7a357a3c2c466469924868a65471146ff68a171222704b4ac0926/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6765656b636f6d2f7068706a61737065722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/geekcom/phpjasper/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/6f97ac3df277773888a60fd95d11c6cf5e540a0a895332b53d14ea42d9e33de7/68747470733a2f2f706f7365722e707567782e6f72672f6765656b636f6d2f7068706a61737065722f762f737461626c65)](https://packagist.org/packages/geekcom/phpjasper)[![Minimum PHP Version](https://camo.githubusercontent.com/1bd3780069a2c9b3a714282820283a36be97183cfdc1afb3a887bc4ae639a524/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e302d626c75652e7376673f7374796c653d666c61742d737175617265)](https://php.net/)[![License](https://camo.githubusercontent.com/3cf2cc8e264818e5b275ef603da4add42d73fcdee52a655b1967fe0ac647b9b3/68747470733a2f2f706f7365722e707567782e6f72672f6765656b636f6d2f7068706a61737065722f6c6963656e7365)](https://packagist.org/packages/geekcom/phpjasper)

### Sobre a biblioteca

[](#sobre-a-biblioteca)

PHPJasper é a solução perfeita para compilar e processar relatórios Jasper (.jrxml &amp; .jasper) com PHP, ou seja, gerar relatórios com PHP.

**Notas:**

- Versão para o PHP 7.0 em diante
- PHPJasper pode ser usado independente de seu Framework
- Forneça as permissões devidas aos arquivos dentro da pasta **vendor/copam/phpjasper7/src/JasperStarter/bin/**

### Por quê preciso do PHPJasper?

[](#por-quê-preciso-do-phpjasper)

Alguma vez você precisou de um relatório simples ou complexo em PHP para seu sistema web?

Eu já precisei e fui em busca de algumas soluções, a maioria delas é complexa e você precisa escrever *HTML* + *CSS* para gerar um *PDF*, isso não faz sentido, além de ser muito trabalhoso :)

Apresento para vocês **JasperReports** a melhor solução open source que existe para relatórios.

### O que eu posso fazer com isso?

[](#o-que-eu-posso-fazer-com-isso)

**Texto extraido do site JasperSoft:**

> A biblioteca JasperReports é o mecanismo de geração de relatórios de código aberto mais popular do mundo. É inteiramente escrito em Java e é capaz de usar dados provenientes de qualquer tipo de fonte de dados e gerar documentos perfeitos que podem ser visualizado, impressom ou exportadom em uma variedade de formatos de documentos, incluindo HTML, PDF, Excel, OpenOffice e Word .

*Exemplos do que você pode fazer:*

- Faturas
- Relatórios
- Listas

Requisitos
----------

[](#requisitos)

- PHP 7.0 em diante
- Java JDK 1.8

Opcional
--------

[](#opcional)

- [Mysql JDBC Driver](http://dev.mysql.com/downloads/connector/j/) (se você pretende usar esse tipo de banco de dados)
- [PostgreSQL JDBC Driver](https://jdbc.postgresql.org/download.html) (se você pretende usar esse tipo de banco de dados)
- [Microsoft JDBC Drivers](https://www.microsoft.com/en-US/download/details.aspx?id=11774) (se você pretende usar esse tipo de banco de dados)
- [Jaspersoft Studio](http://community.jaspersoft.com/project/jaspersoft-studio) (para escrever e compilar seus relatórios)

### Instalando o Java(JDK)

[](#instalando-o-javajdk)

Verifique se o JDK está instalado:

```
$ javac -version
javac version 1.8.0_101

```

Se você receber a resposta:

```
command not found: javac

```

Então você precisa instalar, para o (Ubuntu/Debian) rode o comando:

```
$ sudo apt-get install default-jdk

```

Para instalar no (centOS/Fedora) faça o seguinte:

```
# yum install java-1.8.0-openjdk.x86_64

```

Para instalar no Windows visite o link-&gt; [JDK](http://www.oracle.com/technetwork/pt/java/javase/downloads/jdk8-downloads-2133151.html) e veja qual a versão mais apropriada para o seu Sistema Operacional.

Agora rode novamente o comando `javac -version` e veja se deu tudo certo.

---

Instalando a biblioteca PHPJasper
---------------------------------

[](#instalando-a-biblioteca-phpjasper)

Instale o [Composer](http://getcomposer.org), e rode o comando:

```
composer require copam/phpjasper7

```

Ou crie um arquivo 'composer.json' e adicione o trecho:

```
{
    "require": {
        "copam/phpjasper7": "^1.0"
    }
}
```

E execute o comando:

```
composer install

```

é isso, você tem a biblioteca instalada e pronta para uso.

---

Exemplos
--------

[](#exemplos)

### *Hello World* PHPJasper.

[](#hello-world-phpjasper)

Vá para o diretório de exemplos na raiz do repositório (`vendor/copam/phpjasper7/exemplos`). Abra o arquivo `hello_world.jrxml` com o JasperStudio ou seu editor favorito e dê uma olhada no código.

#### Compilando

[](#compilando)

Primeiro precisamos compilar o arquivo com a extensão `.JRXML` em um arquivo binário do tipo `.JASPER`

**Nota 1:** Caso você não queira usar o *Jaspersoft Studio*. É possivel compilar o seu arquivo .jrxml da seguinte forma:

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = __DIR__ . 'vendor/copam/phpjasper7/exemplos/hello_world.jrxml';

$jasper = new PHPJasper;
$jasper->compile($input)->execute();
```

Esse comando compila o arquivo fonte `hello_world.jrxml` em um arquivo binário `hello_world.jasper`.

#### Processando

[](#processando)

Agora vamos processar o nosso relatório que foi compilado acima:

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = __DIR__ . 'vendor/copam/phpjasper7/exemplos/hello_world.jasper';
$output = __DIR__ . '/vendor/copam/phpjasper7/exemplos';
$options = [
    'format' => ['pdf', 'rtf']
];

$jasper = new PHPJasper;

$jasper->process(
    $input,
    $output,
    $options
)->execute();
```

Agora olhe a pasta **/exemplos** :) Ótimo trabalho? Você tem 2 arquivos, `hello_world.pdf` e `hello_world.rtf`.

#### Listando parâmetros

[](#listando-parâmetros)

Como consultar o arquivo jrxml para examinar os parâmetros disponíveis no relatório:

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = __DIR__ . 'vendor/copam/phpjasper7/exemplos/hello_world_params.jrxml';

$jasper = new PHPJasper;
$output = $jasper->listParameters($input)->execute();

foreach($output as $parameter_description)
    print $parameter_description . '';
```

### Relatórios a partir de um banco de dados

[](#relatórios-a-partir-de-um-banco-de-dados)

Adicione os parâmetros específicos para conexão com seu banco de dados: MYSQL, POSTGRES ou MSSQL:

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = '/your_input_path/your_report.jasper';
$output = '/your_output_path';
$options = [
    'format' => ['pdf'],
    'locale' => 'pt_BR',
    'params' => [],
    'db_connection' => [
        'driver' => 'postgres',
        'username' => 'DB_USERNAME',
        'password' => 'DB_PASSWORD',
        'host' => 'DB_HOST',
        'database' => 'DB_DATABASE',
        'port' => '5432'
    ]
];

$jasper = new PHPJasper;

$jasper->process(
        $input,
        $output,
        $options
)->execute();
```

**Nota 2:**

Para a lista completa de idiomas suportados veja o link [Supported Locales](http://www.oracle.com/technetwork/java/javase/java8locales-2095355.html)

### Relatórios com banco de dados MSSQL

[](#relatórios-com-banco-de-dados-mssql)

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = '/your_input_path/your_report.jasper or .jrxml';
$output = '/your_output_path';
$jdbc_dir = __DIR__ . 'vendor/copam/phpjasper7/exemplos/bin/jaspertarter/jdbc';
$options = [
    'format' => ['pdf'],
    'locale' => 'pt_BR',
    'params' => [],
    'db_connection' => [
        'driver' => 'generic',
        'host' => '127.0.0.1',
        'port' => '1433',
        'database' => 'DataBaseName',
        'username' => 'UserName',
        'password' => 'password',
        'jdbc_driver' => 'com.microsoft.sqlserver.jdbc.SQLServerDriver',
        'jdbc_url' => 'jdbc:sqlserver://127.0.0.1:1433;databaseName=Teste',
        'jdbc_dir' => $jdbc_dir
    ]
];

$jasper = new PHPJasper;

$jasper->process(
        $input,
        $output,
        $options
    )->execute();
```

### Relatórios a partir de um arquivo XML

[](#relatórios-a-partir-de-um-arquivo-xml)

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = '/your_input_path/your_report.jasper';
$output = '/your_output_path';
$data_file = __DIR__ . '/your_data_files_path/your_xml_file.xml';
$options = [
    'format' => ['pdf'],
    'params' => [],
    'locale' => 'pt_BR',
    'db_connection' => [
        'driver' => 'xml',
        'data_file' => $data_file,
        'xml_xpath' => '/your_xml_xpath'
    ]
];

$jasper = new PHPJasper;

$jasper->process(
    $input,
    $output,
    $options
)->execute();
```

### Relatórios a partir de um arquivo JSON

[](#relatórios-a-partir-de-um-arquivo-json)

```
require __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$input = '/your_input_path/your_report.jasper';
$output = '/your_output_path';

$data_file = __DIR__ . '/your_data_files_path/your_json_file.json';
$options = [
    'format' => ['pdf'],
    'params' => [],
    'locale' => 'pt_BR',
    'db_connection' => [
        'driver' => 'json',
        'data_file' => $data_file,
        'json_query' => 'your_json_query'
    ]
];

$jasper = new PHPJasper;

$jasper->process(
    $input,
    $output,
    $options
)->execute();
```

### MySQL

[](#mysql)

Incluímos o [MySQL connector](http://dev.mysql.com/downloads/connector/j/) (v5.1.39) na pasta `/src/JasperStarter/jdbc/`

### PostgreSQL

[](#postgresql)

Incluímos também o [PostgreSQL](https://jdbc.postgresql.org/) (v9.4-1203) na pasta `/src/JasperStarter/jdbc/`

### MSSQL

[](#mssql)

[Microsoft JDBC Drivers 6.0, 4.2, 4.1, and 4.0 for SQL Server ](https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774).

Performance
-----------

[](#performance)

Depende da complexidade do seu relatório.

Agradecimentos
--------------

[](#agradecimentos)

[Cenote GmbH](http://www.cenote.de/) pelo [JasperStarter](https://bitbucket.org/cenote/jasperstarter/) tool.

[JetBrains](https://www.jetbrains.com/) pelo [PhpStorm](https://www.jetbrains.com/phpstorm/) e seu grande apoio.

[Dúvidas?](https://github.com/PHPJasper/phpjasper/issues)
---------------------------------------------------------

[](#dúvidas)

Abra uma [Issue](https://github.com/PHPJasper/phpjasper/issues) ou procure por Issues antigas

[Licença](https://github.com/PHPJasper/phpjasper/blob/master/LICENSE)
---------------------------------------------------------------------

[](#licença)

MIT

[Contribuição](https://github.com/PHPJasper/phpjasper/blob/master/CONTRIBUTING.md)
----------------------------------------------------------------------------------

[](#contribuição)

Contribua com a comunidade PHP, faça um fork !!

###  Health Score

31

↑

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 68.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~273 days

Total

4

Last Release

2367d ago

PHP version history (2 changes)v1.0PHP &gt;=7.1

v1.2PHP &gt;=7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/6c09ec071fc7c89679501f7e67372b96cb3421d682c26b0bf42162cf48e94b73?d=identicon)[geekcom](/maintainers/geekcom)

![](https://www.gravatar.com/avatar/59902505e940b2a5083b2d7ea5744ad1590b7ba28c6b675001f4fa3896a8a838?d=identicon)[jeffbarretocopam](/maintainers/jeffbarretocopam)

---

Top Contributors

[![geekcom](https://avatars.githubusercontent.com/u/3955933?v=4)](https://github.com/geekcom "geekcom (112 commits)")[![rafaelqueiroz](https://avatars.githubusercontent.com/u/275919?v=4)](https://github.com/rafaelqueiroz "rafaelqueiroz (19 commits)")[![lavela](https://avatars.githubusercontent.com/u/13982234?v=4)](https://github.com/lavela "lavela (15 commits)")[![leandrocopam](https://avatars.githubusercontent.com/u/33423387?v=4)](https://github.com/leandrocopam "leandrocopam (11 commits)")[![boaglio](https://avatars.githubusercontent.com/u/6140?v=4)](https://github.com/boaglio "boaglio (2 commits)")[![jadsonbr](https://avatars.githubusercontent.com/u/10354607?v=4)](https://github.com/jadsonbr "jadsonbr (2 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")[![xRahul](https://avatars.githubusercontent.com/u/1639945?v=4)](https://github.com/xRahul "xRahul (1 commits)")

---

Tags

pdfrelatórios

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/copam-phpjasper7/health.svg)

```
[![Health](https://phpackages.com/badges/copam-phpjasper7/health.svg)](https://phpackages.com/packages/copam-phpjasper7)
```

###  Alternatives

[barryvdh/laravel-dompdf

A DOMPDF Wrapper for Laravel

7.3k87.6M278](/packages/barryvdh-laravel-dompdf)[tecnickcom/tcpdf

TCPDF is a PHP class for generating PDF documents and barcodes.

4.5k101.8M473](/packages/tecnickcom-tcpdf)[mpdf/mpdf

PHP library generating PDF files from UTF-8 encoded HTML

4.7k77.1M493](/packages/mpdf-mpdf)[knplabs/knp-snappy

PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Wrapper for wkhtmltopdf/wkhtmltoimage.

4.5k68.3M56](/packages/knplabs-knp-snappy)[spatie/browsershot

Convert a webpage to an image or pdf using headless Chrome

5.2k32.1M102](/packages/spatie-browsershot)[smalot/pdfparser

Pdf parser library. Can read and extract information from pdf file.

2.7k34.5M216](/packages/smalot-pdfparser)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
