eihen / jasperstarter-bin
命令行 JasperReports 工具
Requires
- php: ^5.6|^7.0
This package is auto-updated.
Last update: 2023-09-14 03:44:52 UTC
README
此存储库包含直接从 Sourceforge 获取的 JasperStarter 二进制发行版文件,未做任何修改,以便将其作为 composer 等包管理器的包提供。
问题
在此存储库上打开的问题必须与包管理器文件(如 composer.json)相关,或关于 JasperStarter 新版本的通知;有关 JasperStarter 本身的问题,请参阅 反馈。
包版本信息
版本号的前三位对应 JasperStarter 版本,第四位数用于在此存储库中的其他文件更改后提升包的版本。因此 v3.2.1.1 对应 JasperStarter v3.2.1,并且在包含该版本 JasperStarter 之后,此存储库的修订版为 1。
JasperStarter 信息
当前 JasperStarter: v3.2.1
有关此包中包含的特定版本的用法说明,请参阅 用法。
JDBC 连接器
此包中包含的所有 JDBC 连接器均直接从各自官方来源获取,未做任何修改。
此包包含以下连接器
原始 JasperStarter README
JasperStarter - 从命令行运行 JasperReports
JasperStarter 是一个开源的命令行启动器和批处理编译器,用于 JasperReports。
官方主页是 jasperstater.cenote.de。
它具有以下特性
- 运行任何需要 jdbc、csv、xml、json、jsonql 或空数据源的 JasperReport
- 与任何提供 jdbc 驱动的数据库一起使用
- 运行包含子报告的报告
- 执行需要运行时参数的报告。接受任何类具有字符串构造函数的参数。此外,以下类型也受支持或具有特殊处理程序
- 日期、图像(请参阅用法)、区域设置
- 可选提示报告参数
- 直接打印到系统默认打印机或指定打印机
- 可选显示打印机对话框以选择打印机
- 可选显示打印预览
- 以下格式导出文件
- pdf、rtf、xls、xlsMeta、xlsx、docx、odt、ods、pptx、csv、csvMeta、html、xhtml、xml、jrprint
- 一次命令调用导出多种格式
- 一次命令调用编译、打印和导出
- 查看、打印或导出之前填写的报告(使用jrprint文件作为输入)
- 可以编译整个目录的.jrxml文件。
- 集成到非Java应用程序中(例如PHP、Python)
- Windows上的二进制可执行文件
- 包含JasperReports,因此这是您唯一需要安装的工具
- 使用stdin和stdout进行“无盘”操作,用于输入数据和输出。
要求
- Java 1.8或更高版本
- 适用于您的数据库的JDBC 2.1驱动程序
快速入门
- 从Sourceforge下载JasperStarter。
- 将发行版存档提取到系统上的任何目录。
- 将安装的./bin目录添加到您的搜索路径中(在Windows上:运行setup.exe)。
- 将您的jdbc驱动程序放入安装的./jdbc目录中,或使用--jdbc-dir指向不同的目录。
使用-h调用JasperStarter以获取概览
$ jasperstarter -h
使用process -h调用JasperStarter以获取process命令的帮助
$ jasperstarter process -h
带有报告参数的示例
$ jasperstarter pr report.jasper -t mysql -u myuser -f pdf -H myhost
-n mydb -o report -p secret -P CustomerNo=10 StartFrom=2012-10-01使用通用数据库类型的hsql示例
$ jasperstarter pr report.jasper -t generic -f pdf -o report -u sa
--db-driver org.hsqldb.jdbcDriver
--db-url jdbc:hsqldb:hsql://有关更多信息,请查看发行版存档中的docs目录或在线阅读用法页面。
使用公共API进行Python集成
JasperStarter公开了一个API,可以通过jpy与之一起使用,以提供从Python的直接访问
加载JVM。有关详细信息,请参阅jpy文档。
import jpyutil jpyutil.init_jvm(jvm_maxmem='512M', jvm_classpath=['.../jasperstarter.jar'])
加载所需的Java类型。
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')
创建JasperStarter配置。有关详细信息,请参阅Config.java。
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([]))
运行报告。有关详细信息,请参阅Report.java。
instance = Report(config, File(config.getInput())) instance.fill() instance.exportPdf()
有关更完整的示例,请参阅examples/python目录。
发行说明
有关更改历史,请参阅更改。
已知错误
有关即将出现的问题,请参阅 问题
反馈
欢迎反馈!如果您有任何问题或建议,请随时给我们发邮件至我们的 讨论区。如果您发现了错误或缺少功能,请登录我们的 问题跟踪器 并创建错误或功能请求。
如果您喜欢这个软件,您可以写一个 评论 :-)
开发
源代码可在 bitbucket.org/cenote/jasperstarter 获取,项目网站托管在 Sourceforge。
JasperStarter 使用 Maven 构建。
在 Linux 64 位上,launch4j-maven-plugin 可能会失败。在这种情况下,您可能需要以下 32 位版本的库
- z1
- ncurses5
- bz2-1.0
在 Ubuntu 14.04 或更高版本上安装
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
在 Fedora 27 或更高版本上安装
$sudo dnf install ncurses-compat-libs.i686
要获取发行版软件包,请运行
$ mvn package -P release
或者如果您从当前默认分支构建,您最好使用
$ mvn package -P release,snapshot
注意!在没有将依赖项放入
../lib
的情况下,您不能执行target/jasperstarter.jar
!请参阅下面的 dev 配置文件!如果您想构建 Windows setup.exe,您需要在您的搜索路径中安装 nsis (在 Linux 上也有效,您可以在 Sourceforge 下载文件夹 build-tools 中找到编译的发布版,方便起见),并将 windows-setup 配置文件添加到您的构建中。
$ mvn package -P release,windows-setup
或者
$ mvn package -P release,windows-setup,snapshot
在开发过程中,您可能希望有一个更快的构建。dev 配置文件排除了某些长时间运行的报告和压缩存档。相反,它将构建结果放入 target/jasperstarter-dev-bin。
$ mvn package -P dev
现在您可以在没有 IDE 的情况下执行 JasperStarter
$ target/jasperstarter-dev-bin/bin/jasperstarter
或者
$ java -jar target/jasperstarter-dev-bin/lib/jasperstarter.jar
在开发过程中,您可能希望不受测试的干扰。因此以下选项很有用
$ mvn package -P dev -D skipTests
或者
$ mvn package -P dev -D maven.test.failure.ignore=true
要从您的 IDE 中运行 JasperStarter,请在您的运行配置的参数列表中添加 --jdbc-dir jdbc。否则您将收到错误
错误,(...)/JasperStarter/target/classes/jdbc 不是一个目录!
将您的 jdbc 驱动程序放入项目的 ./jdbc 目录中,以便从您的 IDE 中调用 JasperStarter 以调用基于数据库的报告。
许可证
版权所有 2012-2015 Cenote GmbH。
根据 Apache License,版本 2.0(“许可证”);除非遵守许可证规定,否则您不得使用此文件。您可以在以下位置获得许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言、权限和限制,请参阅许可证。