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类设置的打印属性相当于我们设计器端的菜单属性—》报表属性下的打印标签下相应的设置;
C/S模式下的打印方法的更多相关文章
- mplayer命令行模式下的使用方法【转】
mplayer命令行模式下的使用方法http://hi.baidu.com/lovehack2006/blog/item/162ef9778214111eb051b9d4.htmlMPlayerMPl ...
- jdk动态代理在idea的debug模式下不断刷新tostring方法
在jdk的动态代理下,在使用idea进入动态代理的debug模式下,单步调试会刷新idea的tostring方法,让他自己重走了一遍代理 这个问题暂时无解
- RedHat Linux文本模式下乱码解决方法
如果在安装RedHat Linux时选择中文未缺省语言,在文本模式下会出现乱码情况,对于在CLI(command-line interface,命令行界面)方式下调试程序时诸多不便,因为出错信息全是乱 ...
- Release模式下无法调试打印对象的解决方式
之前碰到在release模式下无法打印对象的问题,只能切换到debug模式下调试, xcode release 模式下, 会关掉断点读取变量的上下文环境,以提高运行速度, ⚠️ 记得调试完再改回去,防 ...
- Android平台dalvik模式下java Hook框架ddi的分析(2)--dex文件的注入和调用
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77942585 前面的博客<Android平台dalvik模式下java Ho ...
- PPP模式下的融资结构优化
PPPcode{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && d ...
- VS2005--设置Release模式下调试
今天初略看了下,所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug ...
- [Qt] Release模式下产生调试信息
分两步,设置Qt配置文件,设置VS. https://blog.csdn.net/itas109/article/details/83652387 F:\Qt\Qt5.7.1\5.7\msvc2015 ...
- 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
× 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...
随机推荐
- SQL实现数据行列转换
前言: 在日常的工作中,使用数据库查看数据是很经常的事,数据库的数据非常多,如果此时的数据设计是一行行的设计话,就会有多行同一个用户的数据,查看起来比较费劲,如果数据较多时,不方便查看,为了更加方便工 ...
- java异常层次机构图
以下内容转自:http://www.cnblogs.com/toSeeMyDream/p/5213610.html 在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.下面的 ...
- 剑指offer四十五之扑克牌顺子(序列是否连续)
一.题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...
- http2.0之头部压缩
什么是头部压缩?为什么要头部压缩? 我们知道,http请求和响应都是由[状态行.请求/响应头部.消息主题]三部分组成的. 一般而言,消息主体都会经过gzip压缩,或者本身传输的就是压缩过后的二进制文件 ...
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【数组】Game of Life
题目: According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a ce ...
- Python -- 数据结构实现
1.堆栈(pyStack.py) class PyStack: def __init__(self, size=20): self.stack = [] self.size = size self.t ...
- Linux 命令学习之rm
功能说明: rm 命令是对文件或目录进行删除操作. 语法:rm [-dfirv][--help][--version][文件或目录...] 补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上 ...
- Java虚拟机(四):JVM类加载机制
1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构 ...
- android学习-Activity和Service的生命周期
详细请跳转原网页Activity和Service的生命周期(图) 不解释,不懂算我输 Activity的生命周期(图) Service的声明周期