11.5 常见问题
大数据量打印
对于大数据量的报表,UniEAP Report 推荐使用reportPrint方式打印。在打印大数据量报表时,系统会根据报表页数对报表进行分作业打印,打印预览时仅可以看到首个作业的预览效果。报表引擎会将报表按每次50页或一个报表分段作为一个打印作业,考虑网络传输等因素和具体需求,如果该值有不合适的情况,可以在报表report\WEB-INF\conf\unieap\report\report-engine-config.properties文件中配置print_pages_per_document参数,对划分的页数进行调节。
Excel /PDF打印与报表打印功能区别
在一些特殊情况下,针对同一张报表用户既希望通过报表应用打印,又希望根据导出后的Excel或PDF文件进行打印,并同时使用多种打印结果。但由于报表在导成Excel、PDF时,会经过一些长度单位的换算,会损失一些精度。因此,导出后的文件和在Web端报表展现效果达不到100%的一致,这也是业内普遍存在的问题,但不会影响正常的使用。但对于打印精度要求比较高的客户,UniEAP Report推荐如下两种解决方案:
1.一张报表尽量使用一种打印方案;
2.修改报表导出Excel、PDF的action相关代码。在报表导出时,通过后台控制导出另一张报表(内容、样式一致,而内容的打印位置不同),避免不同格式报表的打印误差。此方案已经成功应用在多个项目中。
打印图片、图表
在打印图片时,如果图片大小超过页面大小,在打印预览时会按原尺寸全部显示,但打印时图片会被截断,截断部分也不会出现在后续打印页中。
在打印图表时,如果图表大小超过页面大小,图表会在当前页被缩放打印,不出现在后续打印页中。
Web端保存偏移量设置
在客户端打印预览报表时,对报表的边距等属性进行修改之后,系统会将这些设置保存到浏览器的Cookie中,在同一浏览器中打印任意报表时,边距等设置会默认使用上次修改后的值。
另外,可以以手动添加cookie的方式为对打印机定制偏移量,预览时看到的偏移量为默认偏移量,而打印时会使用该打印机的偏移量进行打印。打印机偏移量cookie的名称分别为:
纵向偏移量:topMarginOffset# +打印机名
横向偏移量:leftMarginOffset# +打印机名
控制报表页面打印菜单中的显示条目
如下图所示,当在浏览器中查看报表时,报表页面右上方的工具栏中,默认会有两个与打印相关的下拉菜单,分别为“预览打印”和“一键打印”。默认情况下,两个下拉菜单中的显示条目是相同的,包括UniEAP Report支持的所有打印方式和“自动选择”。
当单击菜单按钮时,执行的是菜单条目中的第一个(对于下图来说,就是执行自动选择功能)。
修改打印菜单中的显示条目有两种方法,一种是针对所有报表的统一设置,另一种是针对个别报表的单一设置。
统一设置方法
这种方法需要修改/unieap/pages/report/jsp/show/ClientShow.jsp文件中下图所示的代码。
其中previewPrintTag对应“预览打印”,silentPrintTag对应一键打印。clients指定的就是菜单的显示条目,通过修改它的值即可控制页面上菜单中的显示条目。
要改变点击菜单按钮时执行的打印方式,只需将相应的字符串移动到最前面。
【例】只显示Flash、Applet两种打印方式,且单击菜单按钮时执行Applet打印:
页面显示结果如下图所示。
单一设置方法
这种方法需要修改报表定义文件。如下图所示,在报表设计器的“报表属性——页面标签”中,可以分别控制每种打印方式是否出现在页面上的打印菜单中。