Access to JasperReports via Jython-servlet

Генерация отчета на Jython средствами JasperReports

Простейший Java-пример обращения к JasperServer

Пример локального вызов JasperReports

# -*- coding: utf-8 -*-
 
from java.lang import Class
from java.sql import DriverManager
from java.util import HashMap
from net.sf.jasperreports.engine.JasperCompileManager import compileReport
from net.sf.jasperreports.engine.JasperFillManager import fillReport
from net.sf.jasperreports.engine.JasperExportManager import exportReportToPdfFile
from net.sf.jasperreports.engine.JasperExportManager import exportReportToHtmlFile
 
hmap= HashMap()
 
driverName="com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost/airs?user=airs&password=airs"
 
Class.forName(driverName)
con = DriverManager.getConnection(url)
jrxml= "t:\\edunet\\pydev\\jasper\\invalid4"
 
hmap.put("pH","h2")
hmap.put("pH2","Часовой уровень".decode("utf-8"))
hmap.put("pType","m")
hmap.put("pType2","Расчетные значения".decode("utf-8"))
hmap.put("pServ",2)
hmap.put("pServ2","Сервер блока №2".decode("utf-8"))
hmap.put("pStamp","200912271900")
hmap.put("pStamp2","2009-12-27 19:00".decode("utf-8"))
 
jReport= compileReport("%s.jrxml" % jrxml)
jPrint= fillReport(jReport, hmap, con)
exportReportToPdfFile(jPrint, "%s.pdf" % jrxml)
exportReportToHtmlFile(jPrint, "%s.html" % jrxml)
print "OK!"

Пример удаленного вызов JasperReports (почти JasperServer)


JasperRunner.py - сервлет для удаленной генерации отчетов посредством JasperReports


Состав библиотек для Jasper Reports, которые следует разместить в каталоге tomcat/lib

  • commons-beanutils-XXX.jar
  • commons-collections-XXX.jar
  • commons-digester-XXX.jar
  • commons-logging-XXX.jar
  • groovy-all-XXX.jar
  • iText-XXX.jar
  • jasperreports-XXX.jar
  • jasperreports-extensions-XXX.jar
  • jaxen-XXX.jar
  • jxl-XXX.jar
  • poi-XXX.jar

Источник указанных библиотек "…JasperSoft\iReport-3.7.6\ireport\modules\ext\"