1,
String printer_name=null;//定义一个全局参数
//以下代码是检测这个报表是否有相应的参数模板
String paramFile = report.substring(0,iTmp)+"_arg.raq";
File f=new File(application.getRealPath(reportFileHome+ File.separator +paramFile));
///
try {
String reportPath = request.getRealPath(reportFileHome+"/"+report);
ReportDefine rd = (ReportDefine)ReportUtils.read(reportPath);
request.setAttribute("reportDefine",rd);
System.out.println(rd.getPrintSetup().getPaper());//当前报表纸张类型
System.out.println(rd.getPrintSetup().getPaperHeight());
System.out.println(rd.getPrintSetup().getPaperWidth());
System.out.println(reportPath);
if(rd.getPrintSetup().getPaperHeight()==279 && rd.getPrintSetup().getPaperWidth()==216){
printer_name="Microsoft XPS Document Writer"; //当报表的高宽符合时指定打印机名称
}
} catch (Throwable e) {
e.printStackTrace();
}
----------------------------------------------------------------------------
2,
<report:html name="report1" reportFileName="<%=report%>"
funcBarLocation="both"
needPageMark="yes"
needImportExcel="yes,0"
printerName="<%=printer_name%>"//指定printerName的值
generateParamForm="no"
params="<%=param.toString()%>"
exceptionPage="/reportJsp/myError2.jsp"
appletJarName="runqianReport4Applet.jar,dmGraphApplet.jar,applet.jar"
/>