打印预览与直接打印
Flash打印和Applet打印都提供了打印预览和直接打印两种打印方式可供选择。报表展现页面上可以同时使用打印预览和直接打印按钮,互不影响。但打印预览和直接打印所调用的打印方式相同,即都使用Flash打印或都使用Applet打印方式进行打印。
打印预览
打印预览的方式进行打印时,在报表展现页面点击打印预览按钮后进入打印预览界面,再通过打印预览界面的打印按钮,进行报表打印。
打印预览按钮是否显示可以通过标签needPrint来控制,值为yes时,显示打印预览按钮;值为no时不显示。
不打印预览直接打印
不预览直接打印的方式进行打印时,通过点击报表展现页面上的直接打印按钮,不进入打印预览界面,直接进行报表打印。
直接打印按钮是否显示可以通过标签needDirectPrint来控制,值为yes时,显示直接打印按钮,为no时不显示直接打印按钮。
注意:Flash打印由于Flash Player安全沙箱机制的限制,不能传递纸张信息给打印机,需要在打印时手动设置打印机属性来调整纸张信息。且在使用Flash方式进行报表打印时,无法获取浏览器页面缩放比例,所以请将浏览器缩放比例设置为100%进行打印,否则有可能影响打印效果。
不预览报表打印
方案一:
Flash打印直接访问如下地址,可以不访问报表直接进入打印预览。
1) 使用raq文件访问(reportType值为2)
项目名/gezEntry.url?patternID=mfg_exportReport&format=flash_print&object=complex&reportType=2&serverPath=RAQ文件路径&报表参数1=参数值&报表参数n=参数值....
2) 使用resID访问(reportType值为5)
项目名/gezEntry.url?patternID=mfg_exportReport&format=flash_print&object=complex&reportType=5&resID=资源ID&报表参数1=参数值&报表参数n=参数值...
方案二:
Flash打印提供了一个JS方法,可以调用该JS实现不预览报表,直接打印预览或直接打印报表。该方法中需要将报表名称参数等信息通过json进行传递,并且参数需要使用URLEncoder加密,编码方式必须为UTF-8。
函数说明:
_print()函数实现打印
ctxPath:应用路径,动态获取。
reportFileName:报表名称,使用UTF-8加密。
directPrint:是否直接打印。
barLocation:工具条位置,可以选择top或者left或者right。
params:参数串,和v4一样的格式,使用UTF-8加密。