1、Font '仿宋_GB2312' is not available to the JVM

2、jasperreport中一些重要的属性

3、jasperreport使用过程中会生成中间java文件,如何查看这些文件

4、jasperReport中jrxml文件的相关设置

1、Font '仿宋_GB2312' is not available to the JVM

Caused by: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '仿宋_GB2312' is not available to the JVM. See the Javadoc for more details.

这是由于linux上装的JRE没有仿宋字体造成的,可通过如下方式获取JRE支持那些字体:

String[] familyNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

一般SUSE Linux下JRE支持的字体:

Albany AMT
Andale Sans
Andy MT
Arial Black
Bell MT
Bitstream Charter
Bitstream Vera Sans
Bitstream Vera Sans Mono
Bitstream Vera Serif
Century Schoolbook L
Courier
Courier 10 Pitch
CourierThai
Cumberland AMT
Cursor
DejaVu Sans
DejaVu Sans Condensed
DejaVu Sans Light
DejaVu Sans Mono
DejaVu Serif
DejaVu Serif Condensed
Dialog
DialogInput
Dingbats
Goha-Tibeb Zemen
Hershey
Impact
Lucida Bright
Lucida Sans
Lucida Sans Typewriter
Luxi Mono
Luxi Sans
Luxi Serif
Monospaced
Monotype Sorts
Nimbus Mono L
Nimbus Roman No9 L
Nimbus Sans L
SansSerif
Serif
Standard Symbols L
Thonburi
Thorndale AMT
URW Bookman L
URW Chancery L
URW Gothic L
URW Palladio L
Utah MT
Utopia
文鼎PL简中楷
文鼎PL简报宋
方正仿宋
方正宋体
方正楷体
方正黑体

2、jasperreport中一些重要的属性

isStretchWithOverflow="true"         当单元格中的内容超出了单元格的大小时,是否将单元格拉大
isBlankWhenNull="true"                 当单元格中的内容为null时,是否显示成空单元格
stretchType="RelativeToTallestObject"     沿垂直方向拉大单元格
isPrintWhenDetailOverflows="false"         上一页的最后一条记录是否要在当前页重复显示
pattern="#,##0.00                          数字以千分位分隔
isPrintRepeatedValues="true"       默认为true,当列中有连续相同的值时,是否将除第一个以外的其它相同的值也显示出来

3、jasperreport使用过程中会生成中间java文件,如何查看这些文件

-Djasper.reports.compile.keep.java.file=true
-Djasper.reports.compile.temp=E:/workspace_BEMC/logs/appb

这些参数是从如下类中加载的:

net.sf.jasperreports.engine.DefaultJasperReportsContext

4、jasperReport中jrxml文件的相关设置

isStretchWithOverflow="true"                  # 单元格中的内容较长时不截断其中的内容
stretchType="RelativeToTallestObject"    # 单元格中的内容较长时能自动换行并从垂直方向撑大单元格
verticalAlignment="Middle"                      # 单元格中的内容垂直居中
isBlankWhenNull="true"                           # 单元格中的内容为空时填充空格

不久前,我的同事跟我在对一个客户端进行渗透测试。我们确实发现的一件事是,他们留下了几个联网的J asp er Report s服务器。寻找默认管理帐户的用户名并没有花费太多的精力。 也没有用多久我们就猜解出密码是“j asp er admin” 我从前听过J asp er Report s但从来没有碰到过要对它进行渗透测试。一个快速的google搜索也没有对前期工作产生多大的作用。尽管这个管理界面很不常
net.sf.j asp er report s.engine.util.JRFontNotFoundException: Font ‘xx’ is not available to the JVM. 这是由于没有对应字体导致的, 因为有的japs er p er report .jar中的default.j asp er report s.prop er ties文件中 net.sf.j asp er report s.awt.ig...
解决方法:将isBlankWhenNull属性设置为true <textField isStretchWithOv er flow="true" isBlankWhenNull="true"> < report Element uuid="9654d40b-b89b-4... 工作中负责的有一个项目是使用i Report +J asp er Report 实现的一个打印系统。最近这个线上程序经常无响应,重启后恢复正常,但是时不时还是会出现类似的 问题 。 最后发现是J asp er Report 的一个 问题 。有个J asp er Report 的转换任务内存占用特别高,当新对象需要分配内存时就会内存不够了,于是GC线程就不断GC,占用CPU。 导致系统CPU占用超高。 下面说下 问题 排查的一个思路步骤 tomcat 7 JDK 7 Linux 问题 定位 查看后台异常 通过查看系统的后台日志,发现
最近在用j asp er 开发报表项目,第一次使用j asp er 开发报表,这份文档出自于技术平台小组姚老弟之手,觉得总结的很不错遂记录博客,转载或转发请注明作者;姚老弟!! J asp er Report 使用 1.编写设计模板(.jrxml文件) (1)元素 : jrxml文件根元素 : 声明以检索报表结果的SQL语句,若数据源是 Java Bean则为空 : 声明参数,在报表填充阶段以Map参数传入 : 声明用于...
在使用j asp er Report 过程中,某个长字段需要自适应列表的的宽度从而判断是否折行显示。 按照我们之前的做法,可以在报表代码中的textField字段中,通过配置isStretchWithOv er flow="true"实现这一功能。 当我们采用eclipse中集成的i report 插件后,发现最新的6.11.0插件并没有这一选项,只提供了一个textAdjust功能。 该功能默认选择了“cutT...
问题 :我们在使用table组件输出多条记录,发现如果某条记录的内容过多时,生成的报告中间几页,剩余部分区域会出现空白的 问题 ,空白不均匀,有的页显示一小部分内容,剩下大部分空间都是空白,有的显示一大部分内容,剩下一小部分空间显示空白,如图所示: 原因:去官方社区查询 问题 ,发现i report 本身机制就是这样,当下一元素内容超出当前页剩余空间,则重新创建一个新的页面去渲染内容,而当前页剩余的空间不管多...
在使用打印功能时报错: net.sf.j asp er report s.engine.util.JRFontNotFoundException: Font ‘宋体’ is not available to the JVM. See the Java doc for more details. 在网上找到4种办法 1.系统安装字体 2.项目内放置字体文件 3.字体文件打包成jar包引用 4.jvm安装字体包(我用的这种,其
j asp er Report 通过SQL加载数据是一次把所有的数据都加载到了内存中,如果内存大小不够,怎么办呢?应该把获得的数据一部分保存在内存中,另一部分写到指定路径的硬盘上去。代码很简单,如下: 1 JRFileVirtualiz er virtualiz er = new JRFileVirtualiz er (2, report File.getParentFile() + "/cacheDir");
在工作中有用到J asp er soft i Report 打印组件打印PDF文档的情况,但是有时候做好的模板文件部署到服务器(本地或者远程),打印时会引起内存溢出的 问题 ,这个时候检查方向分两条线:1)打印设值的 问题 2)模板元素的 问题 。 首先1)打印设值的 问题 ,要检查模板对应的字段在设值类里是否为空,是否有无限循环的可能,是否有重名,2)模板元素的 问题 ,这个需要检查元素的属性的详细设置,比如我遇到的下面这...
<dependency> <groupId>net.sf.j asp er report s</groupId> <artifactId>j asp er report s</artifactId> <v er sion>6.17.0</v er sion> </dependency> 2. 配置J asp er Report 在application.prop er ties文件中添加以下配置: # J asp er Report 配置 j asp er report .compile.on.first.use=true j asp er report .cache.directory=./j asp er report _cache 3. 编写Controll er 编写Controll er ,使用J asp er Report 生成报表并返回给前端。 @RestControll er public class Report Controll er { @GetMapping("/ report ") public void gen er at eR eport(HttpS er vletResponse response) throws Exception { // 获取J asp er Report 模板文件 InputStream j asp er Stream = this.getClass().getResourceAsStream("/ report s/ report .j asp er "); // 设置参数 Map<String, Object> params = new HashMap<>(); params.put("title", "报表标题"); // 获取数据源 List< Report Data> data = getData(); JRDataSource dataSource = new JRBeanCollectionDataSource(data); // 编译J asp er Report 模板文件 J asp er Report j asp er Report = J asp er CompileManag er .compil eR eport(j asp er Stream); // 填充J asp er Report 模板文件 J asp er Print j asp er Print = J asp er FillManag er .fill Report (j asp er Report , params, dataSource); // 导出报表 response.setContentType("application/pdf"); response.setHead er ("Content-Disposition", "inline; filename= report .pdf"); final OutputStream outputStream = response.getOutputStream(); J asp er ExportManag er .export Report ToPdfStream(j asp er Print, outputStream); private List< Report Data> getData() { // 获取数据源 // ... 4. 编写J asp er Report 模板文件 在resources目录下创建 report s目录,并在该目录下创建 report .jrxml文件,编写J asp er Report 模板文件。 5. 运行程序 运行程序,访问http://localhost:8080/ report ,即可生成报表并在浏览器中显示。 ViolinLeeChan: 中断解释这里有个建议:non-interrupted event翻译为“非中断事件”、interrupted event叫"中断事件"合理些。另外就是对中断机制的解释搞反了,中断事件是会导致原始活动被中断的,就是被cancel掉,非中断事件才不会导致原始活动被中断。 可参考:https://www.modernanalyst.com/Careers/InterviewQuestions/tabid/128/ID/2555/What-is-the-difference-between-an-interrupting-event-and-non-interrupting-event-in-BPMN.aspx WorkFlow:BPMN 2.0介绍(四):事件(Event) netyeaxi: 你说的对,我改一下 WorkFlow:BPMN 2.0介绍(四):事件(Event) syst001: 不可中断事件(non-interruptted):使用实线圈包含事件图标 可中断事件(interruptted):使用虚线圈包含事件图标 这里写反了