eihen / jasperstarter-bin
Command line JasperReports tool
Installs: 175
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Language:Shell
Requires
- php: ^5.6|^7.0
This package is auto-updated.
Last update: 2023-09-14 03:44:52 UTC
README
This repository contains the files from JasperStarter binary releases obtained directly from Sourceforge without any modifications in order to provide it as a package for package managers such as composer.
Issues
Issues opened on this repository must be related to the package manager files (such as composer.json) or notices about new releases of JasperStarter, for issues with JasperStarter itself refer to Feedback.
Package version information
The 3 first numbers of the version corresponds to the JasperStarter version and the 4th number is used to advance the version of the package for changes made to other files in this repository. So v3.2.1.1 corresponds to JasperStarter v3.2.1 and revision 1 of this repository after that version of JasperStarter was included.
JasperStarter Info
Current JasperStarter: v3.2.1
For usage instructions of the specific version contained in this package refer to Usage.
JDBC Connectors
All JDBC connectors contained in this package were obtained directly from their respective official sources and withouth any modifications.
The following connectors are contained in this package:
Original JasperStarter README:
JasperStarter - Running JasperReports from command line
JasperStarter is an opensource command line launcher and batch compiler for JasperReports.
The official homepage is jasperstater.cenote.de.
It has the following features:
- Run any JasperReport that needs a jdbc, csv, xml, json, jsonql or empty datasource
- Use with any database for which a jdbc driver is available
- Run reports with subreports
- Execute reports that need runtime parameters. Any parameter whose class has a string constructor is accepted. Additionally the following types are supported or have special handlers:
- date, image (see usage), locale
- Optionally prompt for report parameters
- Print directly to system default or given printer
- Optionally show printer dialog to choose printer
- Optionally show printpreview
- Export to file in the following formats:
- pdf, rtf, xls, xlsMeta, xlsx, docx, odt, ods, pptx, csv, csvMeta, html, xhtml, xml, jrprint
- Export multiple formats in one commanding call
- Compile, print and export in one commanding call
- View, print or export previously filled reports (use jrprint file as input)
- Can compile a whole directory of .jrxml files.
- Integrate in non Java applications (for example PHP, Python)
- Binary executable on Windows
- Includes JasperReports so this is the only tool you need to install
- "Diskless" operation using stdin and stdout for input data and output.
Requirements:
- Java 1.8 or higher
- A JDBC 2.1 driver for your database
Quickstart
- Download JasperStarter from Sourceforge.
- Extract the distribution archive to any directory on your system.
- Add the ./bin directory of your installation to your searchpath (on Windows: invoke setup.exe).
- Put your jdbc drivers in the ./jdbc directory of your installation or use --jdbc-dir to point to a different directory.
Invoke JasperStarter with -h to get an overview:
$ jasperstarter -h
Invoke JasperStarter with process -h to get help on the process command:
$ jasperstarter process -h
Example with reportparameters:
$ jasperstarter pr report.jasper -t mysql -u myuser -f pdf -H myhost
-n mydb -o report -p secret -P CustomerNo=10 StartFrom=2012-10-01Example with hsql using database type generic:
$ jasperstarter pr report.jasper -t generic -f pdf -o report -u sa
--db-driver org.hsqldb.jdbcDriver
--db-url jdbc:hsqldb:hsql://localhostFor more information take a look in the docs directory of the distibution archive or read the Usage page online.
Python Integration using public API
JasperStarter exposes an API which can be used with jpy to provide direct access from Python:
Load the JVM. See the jpy docs for details.
import jpyutil jpyutil.init_jvm(jvm_maxmem='512M', jvm_classpath=['.../jasperstarter.jar'])
Load the Java types needed.
import jpy Arrays = jpy.get_type('java.util.Arrays') File = jpy.get_type('java.io.File') Report = jpy.get_type('de.cenote.jasperstarter.Report') Config = jpy.get_type('de.cenote.jasperstarter.Config') DsType = jpy.get_type('de.cenote.jasperstarter.types.DsType')
Create the JasperStarter configuration. See Config.java for details.
config = Config() config.setInput('jsonql.jrxml') config.setOutput('contacts.pdf') config.setDbType(DsType.json) config.setDataFile(File('contacts.json')) config.setJsonQuery('contacts.person') config.setOutputFormats(Arrays.asList([]))
Run the report. See Report.java for details.
instance = Report(config, File(config.getInput())) instance.fill() instance.exportPdf()
See the examples/python directory for a fuller example.
Release Notes
See Changes for a history of changes.
Known Bugs
For upcoming issues see Issues
Feedback
Feedback is always welcome! If you have any questions or proposals, don't hesitate to write to our discussion forum. If you found a bug or you are missing a feature, log into our Issuetracker and create a bug or feature request.
If you like the software you can write a review :-)
Development
The sourcecode is available at bitbucket.org/cenote/jasperstarter, the project website is hosted at Sourceforge.
JasperStarter is build with Maven.
On Linux 64 bit the launch4j-maven-plugin may fail. In this case, may you need the following libs in a 32 bit version:
- z1
- ncurses5
- bz2-1.0
Install on Ubuntu 14.04 or above:
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
Install on Fedora 27 or above:
$sudo dnf install ncurses-compat-libs.i686
To get a distribution package run:
$ mvn package -P release
or if you build from the current default branch you better use:
$ mvn package -P release,snapshot
Attention! You cannot execute
target/jasperstarter.jar
without having it's dependencies in../lib
! See dev profile below!If you want to build the Windows setup.exe, you need to have nsis in your search path (works on linux too, you can find a compiled release in the sourceforge download folder build-tools for your convenience) an add the windows-setup profile to your build:
$ mvn package -P release,windows-setup
or
$ mvn package -P release,windows-setup,snapshot
While developing you may want to have a quicker build. The dev profile excludes some long running reports and the compressed archives. Instead it puts the build result into target/jasperstarter-dev-bin.
$ mvn package -P dev
Now you can execute JasperStarter without IDE:
$ target/jasperstarter-dev-bin/bin/jasperstarter
or
$ java -jar target/jasperstarter-dev-bin/lib/jasperstarter.jar
During development you might want not to be annoyed by tests. So the following options are useful:
$ mvn package -P dev -D skipTests
or
$ mvn package -P dev -D maven.test.failure.ignore=true
To run JasperStarter from within your IDE add --jdbc-dir jdbc to the argument list of your run configuration. Otherwise you will get an error:
Error, (...)/JasperStarter/target/classes/jdbc is not a directory!
Put your jdbc drivers in the ./jdbc directory of the project to invoke JasperStarter from within your IDE to call up a database based report.
License
Copyright 2012-2015 Cenote GmbH.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.