java直接调用报表打印

编辑
文档创建者:文档助手1 (67727 )     浏览次数:4602次     编辑次数:7次     最近更新:susie 于 2018-03-27     

目录:

1. 问题描述编辑

java后台定义定时打印的功能,同时又需要直接调用报表的打印的时候,由于打印机型号和纸张的不同,需要指定打印机,从而打印是否成功并设置返回值,下面详细介绍实现过程。

2. 实现原理编辑

2.1 定义报表运行环境
// 定义报表运行环境,才能执行报表 String envPath = "D:\\FineReport\\develop\\code\\build\\package\\WebReport\\WEB-INF"; FRContext.setCurrentEnv(new LocalEnv(envPath));
2.2 定义执行模板工作薄
TemplateWorkBook workbook = TemplateWorkBookIO.readTemplateWorkBook(FRContext.getCurrentEnv(), "GettingStarted.cpt");
2.3 获取报表参数并设置值
// 参数传值 Parameter[] parameters = workbook.getParameters(); HashMap<String, String> paraMap = new HashMap<String, String>(); paraMap.put(parameters[0].getName(), "华北");
2.4 java中调用报表打印方法并进行判断
通过公式PrintUtils.printWorkBook(cptPath)进行打印,此时不弹出打印窗口。
若需显示打印选项对话框,则使用PrintUtils.printWorkBook(cptPath, true),其中参数true为显示打印选项对话框,如下所示:
// java中调用报表打印方法 boolean a = PrintUtils.printWorkBook("GettingStarted.cpt", paraMap, true); if (a == false) { System.out.println("失败啦!返回" + a); } else { System.out.println("成功!返回" + a); }
其中printWorkBook()返回值为boolean型,可通过返回值true(打印成功)和false(打印失败)来判断打印是否成功。

3. 完整代码编辑

package com.fr.io; import java.io.File; import java.util.HashMap; import com.fr.base.FRContext; import com.fr.base.Parameter; import com.fr.dav.LocalEnv; import com.fr.main.TemplateWorkBook; import com.fr.print.PrintUtils; public class JavaPrint { public static void main(String[] args) { // 定义报表运行环境,才能执行报表 String envPath = "D:\\FineReport\\develop\\code\\build\\package\\WebReport\\WEB-INF"; FRContext.setCurrentEnv(new LocalEnv(envPath)); try { TemplateWorkBook workbook = TemplateWorkBookIO.readTemplateWorkBook(FRContext.getCurrentEnv(), "GettingStarted.cpt"); // 参数传值 Parameter[] parameters = workbook.getParameters(); HashMap<String, String> paraMap = new HashMap<String, String>(); paraMap.put(parameters[0].getName(), "华北"); // java中调用报表打印方法 boolean a = PrintUtils.printWorkBook("GettingStarted.cpt", paraMap, true); if (a == false) { System.out.println("失败啦!返回" + a); } else { System.out.println("成功!返回" + a); } } catch (Exception e) { e.printStackTrace(); } } }
  • 编译进行打印

编译该程序,弹出打印机设置窗口,选择打印机就可以进行打印了,并在后台返回结果:成功!返回true

4. 移动端编辑

移动端不支持各种打印和导出方式

附件列表


主题: 专题总结
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?