-
Notifications
You must be signed in to change notification settings - Fork 4
mauricioszabo/jasper_on_rails
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== Jasper on Rails == A necessidade de um sistema de relatórios que funcionasse com Rails me levou a pesquisar algumas bibliotecas de relatório. Uma delas, a Jasper (http://jasperforge.org/) aparentemente tinha tudo o que eu queria: editor visual, exporta para vários formatos (PDF, HTML, XML, DOCX, ODT, ODF, XLS, CSV, TXT e mais um monte) e funciona com arquivos .XML (pretendo migrar alguns sistemas para alguns bancos de dados não-relacionais, portanto ficar dependendo de driver de banco de dados é inviável para mim). O problema é que o Jasper é escrito em Java, portanto eu tinha duas alternativas: 1. Criar uma task que rodaria um java por relatório ou 2. Criar um aplicativo que me entregaria o relatório "por demanda". O projeto Jasper on Rails é relativamente simples: Ele roda sob JRuby, e funciona semelhante ao REST: você passa uma URL, do tipo: http://localhost:3000/relatorio/pessoas/listagem/Por Nome.pdf Onde /relatorio é para indicar que ele irá ao controlador RelatorioController, e o restante da URL é o caminho do relatório. Relatórios ficam na pasta /relatorios, na raíz do aplicativo, e neste caso o caminho do relatório seria /relatorios/pessoas/listagem/Por Nome.jasper. O .pdf é o formato desejado, esse aplicativo suporta os formatos pdf, xls, rtf, docx, csv, ods e odt. HTML está desativado porque o Jasper não consegue colar as figuras "inlined". Se for necessário passar um caminho que contém pontos, pode-se utilizar a versão: http://localhost:3000/pdf/relatorio/pessoas/listagem/Por Nome Resolvi não incluir as bibliotecas do Jasper no sistema, especialmente por causa de espaço no GitHub. Portanto, para utilizar a biblioteca será necessário baixar o JasperReports, e incluir os arquivos .jar no diretório /lib/jasper, da seguinte maneira: 1. O arquivo do jasper vai na pasta /lib/jasper (no meu caso, o arquivo estava no diretório do JasperReports/dist/jasperreports-3.6.0.jar) 2. Os arquivos de auxílio vão no diretório /lib/jasper/lib (no meu caso, todos os arquivos que estavam em JasperReports/dist/lib) Por fim: existe um aplicativo simples na raíz (teste.rb) que mostra como conectar-se ao servidor de relatórios e emitir um relatório. Também há um relatório incluso no projeto, para mostrar a funcionalidade. Ele pode ser deletado na hora de colocar o aplicativo em produção. FUTURO: Autenticação antes de emitir um relatório, uma forma de fazer uploads de novos relatórios sem precisar entrar no servidor do Jasper on Rails.
About
Sistema de relatórios - integração do Jasper com Rails
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published