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模式下的打印方法的更多相关文章

  1. mplayer命令行模式下的使用方法【转】

    mplayer命令行模式下的使用方法http://hi.baidu.com/lovehack2006/blog/item/162ef9778214111eb051b9d4.htmlMPlayerMPl ...

  2. jdk动态代理在idea的debug模式下不断刷新tostring方法

    在jdk的动态代理下,在使用idea进入动态代理的debug模式下,单步调试会刷新idea的tostring方法,让他自己重走了一遍代理 这个问题暂时无解

  3. RedHat Linux文本模式下乱码解决方法

    如果在安装RedHat Linux时选择中文未缺省语言,在文本模式下会出现乱码情况,对于在CLI(command-line interface,命令行界面)方式下调试程序时诸多不便,因为出错信息全是乱 ...

  4. Release模式下无法调试打印对象的解决方式

    之前碰到在release模式下无法打印对象的问题,只能切换到debug模式下调试, xcode release 模式下, 会关掉断点读取变量的上下文环境,以提高运行速度, ⚠️ 记得调试完再改回去,防 ...

  5. Android平台dalvik模式下java Hook框架ddi的分析(2)--dex文件的注入和调用

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77942585 前面的博客<Android平台dalvik模式下java Ho ...

  6. PPP模式下的融资结构优化

    PPPcode{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && d ...

  7. VS2005--设置Release模式下调试

    今天初略看了下,所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug ...

  8. [Qt] Release模式下产生调试信息

    分两步,设置Qt配置文件,设置VS. https://blog.csdn.net/itas109/article/details/83652387 F:\Qt\Qt5.7.1\5.7\msvc2015 ...

  9. 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。

      ×   检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...

随机推荐

  1. 【learning】微信跳一跳辅助c++详解 轻松上万 【下】

    如果你还没有看完本blog的上篇,建议您先看完上篇!! 第一代辅助如何死的? 我们先来看四张图      如上方最左图所示,前面是一个小圆柱子,看起来很人畜无害似不似?? 由于上一步跳出了偏差,并没有 ...

  2. 【PaddlePaddle系列】手写数字识别

      最近百度为了推广自家编写对深度学习框架PaddlePaddle不断推出各种比赛.百度声称PaddlePaddle是一个“易学.易用”的开源深度学习框架,然而网上的资料少之又少.虽然百度很用心地提供 ...

  3. 51单片机SRF寄存器

    1.21个寄存器介绍        51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...

  4. 剑指offer二十五之复杂链表的复制

    一.题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...

  5. EJB3 阶段总结+一个EJB3案例 (1)

    经过一段时时间的学习,对EJB3的相关知识和jboss8的配置有了大概的了解. 网上对EJB的评论很多,基本都是负面的,都表示EJB太过于沉重,不容易维护.但通过这段时间的学习,私下认为,EJB3在某 ...

  6. 移植C/C++代码的十个技巧

    这篇文章是我翻译自Top 10 tips for code porting c/c++的一篇小短文,以下是翻译全文,如有错误请留言或查阅原文. 代码的可移植性基本上是指使得源代码能够在不同的平台上编译 ...

  7. 解决waveInOpen录音编译x64程序出错的问题

    1.之前也碰到过x86程序升级为x64程序,关键点是类型大小的使用. 之前同事碰到过一个用int表示指针的程序,程序改为x64会出错,找原因找了半天. 2.今天我也碰到了,使用aveInOpen录音, ...

  8. 手机访问电脑中部署的tomcat应用

    手机访问电脑中部署的tomcat应用. 操作步骤: 第一种:有无线路由的情况. 1.建议局域通信. 操作如下:电脑,手机都自动连接到无线路由器中(无线路由不必非要联网). 2.启动电脑用的tomcat ...

  9. [转发] win8安装mindget mindmanger

    win8安装mindget mindmanger   1安装MindManager时,显示安装Visual C++ 2005 Redistributable时报错  解决方法:1.把安装程序移动到没有 ...

  10. implements和extends的区别

    extends可以理解为全盘继承了父类的功能 implements可以理解为为这个类附加一些额外的功能 举个例子,Animal是一个父类,cat,dog,bird,insect都extends了Ani ...