反饋已提交
網絡繁忙
Java 后台定义定时打印的功能,同时又需要直接调用报表的打印的时候,由于打印机型号和纸张的不同,需要指定打印机,从而打印是否成功并设置返回值,下面详细介绍实现过程。
// 首先需要定义执行所在的环境,这样才能正确读取数据库信息 // 定义报表运行环境,用于执行报表 Module module = ActivatorToolBox.simpleLink(new BaseDBActivator(), new ConfigurationActivator(), new StateServerActivator(), new ReportBaseActivator(), new RestrictionActivator(), new ReportActivator()); String envpath;//工程路径 envpath = "//Applications//FineReport10_325//webapps//webroot//WEB-INF"; SimpleWork.checkIn(envpath); module.start();
注:工程路径根据实际情况修改
TemplateWorkBook workbook = TemplateWorkBookIO.readTemplateWorkBook("GettingStarted.cpt");
// 参数传值Parameter[] parameters = workbook.getParameters();HashMap<String, String> paraMap = new HashMap<String, String>();paraMap.put(parameters[0].getName(), "华北");
通过公式 PrintUtils.printWorkBook(cptPath) 进行打印,此时不弹出打印窗口。
若需显示打印选项对话框,则使用 PrintUtils.printWorkBook(cptPath, true),其中参数 true 为显示打印选项对话框,如下所示:
// Java 中调用报表打印方法boolean a = PrintUtils.printWorkBook("GettingStarted.cpt", paraMap, true);if (!a) { System.out.println("失败啦!返回" + a);} else { System.out.println("成功!返回" + a);}
其中 printWorkBook() 返回值为 boolean 型,可通过返回值 true(打印成功)和 false(打印失败)来判断打印是否成功。
注:工程路径需要根据实际情况修改
package com.fr.io;import com.fr.base.Parameter;import com.fr.config.activator.BaseDBActivator;import com.fr.config.activator.ConfigurationActivator;import com.fr.report.RestrictionActivator;import com.fr.main.TemplateWorkBook;import com.fr.module.Module;import com.fr.module.tool.ActivatorToolBox;import com.fr.print.PrintUtils;import com.fr.report.ReportActivator;import com.fr.report.module.ReportBaseActivator;import com.fr.store.StateServiceActivator;import com.fr.workspace.simple.SimpleWork;import java.util.HashMap;public class JavaPrint { public static void main(String[] args) { // 首先需要定义执行所在的环境,这样才能正确读取数据库信息 // 定义报表运行环境,用于执行报表 Module module = ActivatorToolBox.simpleLink(new BaseDBActivator(), new ConfigurationActivator(), new StateServiceActivator(), new ReportBaseActivator(), new RestrictionActivator(), new ReportActivator()); String envpath;//工程路径 envpath = "//Applications//FineReport10_325//webapps//webroot//WEB-INF"; SimpleWork.checkIn(envpath); module.start(); try { TemplateWorkBook workbook = TemplateWorkBookIO.readTemplateWorkBook("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) { System.out.println("失败啦!返回" + a); } else { System.out.println("成功!返回" + a); } } catch (Exception e) { e.printStackTrace(); } finally { module.stop(); } }}
编译进行打印。
编译该程序,弹出打印机设置窗口,选择打印机就可以进行打印了,并在后台返回结果:成功!返回 true。
移动端不支持各种打印和导出方式
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉