C/S模式下的打印方法
C/S模式使用润乾报表时有两种打印方法(都使用设计器授权)
1. 使用加密狗打印
这种方式需要使用加密狗,适用于客户端较少时
2. 使用api调用打印方法实现打印
这种方式适用用客户端较多,不方便所有客户端都使用加密狗时
注意:第二种方法不主动提供给客户,只有客户有需求才是提供
这种方式可以通过设计器授权中的打印功能点和项目提示信息来控制使用范围
下面是产品部提供的第二种打印方式的具体使用方法:
在客户端,通过api跳过加密狗直接打印报表,可以分为直接打印和预览打印两种方式。
直接打印的时候,我们不能设置报表的打印预览属性,但是可以设置一些报表的打印属性。
预览打印的时候,我们可以看到报表的预览界面,并可以设置一些预览属性来打印报表。
下来,我们详细的讲解一下直接打印和预览打印的用法。
预览打印:
在预览打印的时候,我们需要初始化报表打印对话框类对象,进而展现报表的打印预览界面并进行打印。
ReportDefine rd = (ReportDefine)ReportUtils.read( reportFile );
//读取报表
ExtCellSet.setLicenseFileName(license); //设置授权
Engine engine = new Engine(rd, cxt); //设置引擎
IReport iReport = engine.calc(); //计算报表
CSReport csReport = new CSReport(iReport); //实例化C/S下的报表控件类
PrintFrame pf=new PrintFrame(iReport,null); //定义一个报表打印对话框类对象
pf.setPrintEnabled(true); //设置打印按钮是可用,从而可以跳过加密狗直接进行打印
pf.show(); //展现报表打印预览界面,打印按钮可用
直接打印:
在直接打印的时候,我们可以通过报表的directPrint()方法来直接进行打印。
PrintSetup ps=new PrintSetup(); //设置报表的一些打印属性
float b = 119.00f;
ps.setBackGraphPrinted(true); //设置是否打印背景图
iReport.setPrintSetup(ps); //把打印属性设置到报表中
CSReport csReport = new CSReport(iReport);
csReport.directPrint(true); //跳过加密狗,直接打印报表
注:通过PrintSetup类设置的打印属性相当于我们设计器端的菜单属性—》报表属性下的打印标签下相应的设置;