Relatórios PDF com PHP (CodeIgniter), Jasper Reports e Oracle (ou MySql ou PostgreSql) .
3. JasperReports Server (JasperServer)
A empresa Jaspersoft também disponibiliza gratuitamente o software JasperServer, que pode ser baixado nesse link http://sourceforge.net/projects/jasperserver/. Para evitar problemas de incompatibilidade, baixe a mesma versão do iReport (se baixou a versão 5.0.4 do iReport, baixe a versão 5.0.4 do JasperReports Server, e assim por diante). Lembre-se de baixar a versão compatível com o seu sistema operacional.
Após baixar e instalar, acesse o JasperServer. Se você instalou na sua própria máquina e com a porta padrão, acesse http://localhost:8080/jasperserver/login.html. Se instalou em outro local e/ou outra porta, altere os valores de acordo com a sua instalação. No meu caso, instalei com a porta 8090, já que a 8080 já estava em uso. Para testes, você pode instalar em sua máquina local e depois migrar para um local definitivo. Há, em <pasta de instalação do JasperServer>\buildomatic, scripts (para windows e linux) de backup e restauração de todos os relatórios e configurações do JasperServer, e há, na Internet, diversos tutoriais desse procedimento, como em http://passionfordata.blogspot.com.br/2012/04/how-to-take-backup-of-jasperreport.html. O usuário e senha padrões para o acesso são jasperadmin e jasperadmin, respectivamente. Após acessar, sugiro que crie um usuário administrativo para o seu uso, desabilite o usuário jasperadmin e crie um usuário sem privilégios administrativos apenas para a execução dos relatórios. Para criar um novo usuário, vá no memu "Manage/Users" e depois no botão "Add User...". Após a criação, clique sobre o usário e, se for o caso, altere suas propriedades. Para um usuário comum (sem privilégios administrativos), verifique se a opção "Roles Assigned:" possui apenas "ROLE_USER", que é o padrão após a sua criação; para um usuário administrativo, clique no botão "Edit" do lado esquerdo da tela e, em "Roles Available", localize "ROLE_ADMINSTRATOR", dê um duplo clique sobre ele para passá-lo para a lista de "Roles Assigned" e clique em "Save".
Também não irei me aprofundar no uso deste software, mas, dúvidas poderão ser sanadas nos comentários do artigo, não só sobre o JasperServer, como também sobre os outros softwares.
A empresa Jaspersoft também disponibiliza gratuitamente o software JasperServer, que pode ser baixado nesse link http://sourceforge.net/projects/jasperserver/. Para evitar problemas de incompatibilidade, baixe a mesma versão do iReport (se baixou a versão 5.0.4 do iReport, baixe a versão 5.0.4 do JasperReports Server, e assim por diante). Lembre-se de baixar a versão compatível com o seu sistema operacional.
Após baixar e instalar, acesse o JasperServer. Se você instalou na sua própria máquina e com a porta padrão, acesse http://localhost:8080/jasperserver/login.html. Se instalou em outro local e/ou outra porta, altere os valores de acordo com a sua instalação. No meu caso, instalei com a porta 8090, já que a 8080 já estava em uso. Para testes, você pode instalar em sua máquina local e depois migrar para um local definitivo. Há, em <pasta de instalação do JasperServer>\buildomatic, scripts (para windows e linux) de backup e restauração de todos os relatórios e configurações do JasperServer, e há, na Internet, diversos tutoriais desse procedimento, como em http://passionfordata.blogspot.com.br/2012/04/how-to-take-backup-of-jasperreport.html. O usuário e senha padrões para o acesso são jasperadmin e jasperadmin, respectivamente. Após acessar, sugiro que crie um usuário administrativo para o seu uso, desabilite o usuário jasperadmin e crie um usuário sem privilégios administrativos apenas para a execução dos relatórios. Para criar um novo usuário, vá no memu "Manage/Users" e depois no botão "Add User...". Após a criação, clique sobre o usário e, se for o caso, altere suas propriedades. Para um usuário comum (sem privilégios administrativos), verifique se a opção "Roles Assigned:" possui apenas "ROLE_USER", que é o padrão após a sua criação; para um usuário administrativo, clique no botão "Edit" do lado esquerdo da tela e, em "Roles Available", localize "ROLE_ADMINSTRATOR", dê um duplo clique sobre ele para passá-lo para a lista de "Roles Assigned" e clique em "Save".
Também não irei me aprofundar no uso deste software, mas, dúvidas poderão ser sanadas nos comentários do artigo, não só sobre o JasperServer, como também sobre os outros softwares.
Fiz um relatório no ireport 5 conseguir escrever um número por extenso (ex: 2,30) -Dois reais e trinta centavos. Tudo ok!
Mas, quando abro através de um link via php usando a classe phpjasper o relatório não abre. Sei que é problema no campo que escreve por extenso. Como resolver.
Sei que a classe phpjasper tem um monte de problemas. Conseguir contornar alguns. Mas, a escrita por extenso essa eu peço ajuda e desde já agradeço!
Mas, quando abro através de um link via php usando a classe phpjasper o relatório não abre. Sei que é problema no campo que escreve por extenso. Como resolver.
Sei que a classe phpjasper tem um monte de problemas. Conseguir contornar alguns. Mas, a escrita por extenso essa eu peço ajuda e desde já agradeço!
29/10/2014 10:09am
(~10 anos atrás)
Antonio,
Você está usando Oracle? Qual o charset? (as casas decimais estão separadas com ponto ou com vírgula?)
Que tipo de dado há nesse campo, no banco de dados?
Você está usando Oracle? Qual o charset? (as casas decimais estão separadas com ponto ou com vírgula?)
Que tipo de dado há nesse campo, no banco de dados?
25/06/2014 9:22pm
(~10 anos atrás)
Os campos de valores (double) de meu relatório saem no formato "americano" , ex.: 1,234.56 e não 1.234,56, apesar de eu configurar corretamente a propriedade "Pattern" do referido campo: #,##0.00
O que pode ser?
O que pode ser?
24/06/2014 10:19pm
(~10 anos atrás)
Parabéns Osmando...essa solução mostra a versatilidade de ser trabalhar com o PHP. Claro que existem diversas soluções possíveis, mas trabalhar com o iReport nos dá a confiabilidade de uma ferramenta gráfica já consagrada, com a flexibilidade do PHP.
Um abraço
Um abraço
02/09/2013 9:17am
(~11 anos atrás)
Você está passando este número por extenso como parâmetro para o jasper server? Caso positivo, tente usar a função do PHP utf8_encode ($parametros = array("PARAMETRO1" => utf8_encode($variavel)), por exemplo).
Se não resolver, informe mais detalhes sobre o seu problema, para que eu possa tentar resolvê-lo.
Sim, a clase phpjasper tem alguns bugs, mas, como ela atendeu às minhas necessidades, não me empenhei em tentar resolvê-los.
Osmando.