BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)

 
 



一直以来,B/S下架构下的打印问题都是B/S系统开发中的难题,现有的WEB打印技术概括起来主要有如下三种:

1):使用Html模板,直接使用WEB浏览器的打印

2):转换成word,excel,pdf等格式后进行打印

3):利用ActiveX控件实现打印

对于以上三种,我个人一直倾向于使用PDF等格式后进行打印,原因如下:

第一种方案,很难精确定位,对于我所处的行业,分销零售,小票打印很难满足业务需求.对于第二种方案,为什么不采用word,excel,word好象java操纵api不多(注,我一直就没去关注这些),excel的api,无论用jxl,还是POI,也是很难精确定位的。第三种方案,还要使用其它语言,写activeX控件,而且写的控件的扩展性和功能性,都不可确定,

使用pdf打印的功能的开源技术叫itext,它是一个比较底层的api,如果结合你的数据库设计,可以通过配置,随心所欲地打印.我个人就把它封装成了一个组件,业务功能访问只要一个url即可。

       Itext网上的demo很多,有一点小经验,如果pos打印的时候,需要直接输出到打印机里,而不是先弹出pdf的界面,再点打印。需要使用pdf7.0老的版本,同时在打印的时候要加入如下的代码:

    StringBuffer javascript = new StringBuffer();
    javascript.append("var pp = this.getPrintParams();pp.interactive = pp.constants.interactionLevel.automatic;this.print(pp);");
    writer.addJavaScript(javascript.toString());

     下面截几张图:

BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)_第1张图片

BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)_第2张图片

 

BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)_第3张图片

 

BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)_第4张图片

 

BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)_第5张图片

 

 BS架构的打印功能 (转http://www.cnblogs.com/mzhanker/archive/2011/06/02/2067691.html)_第6张图片

 

 

 

  

本博客均为原创,转载请注明出处.
分类: Java

你可能感兴趣的:(java,excel,javascript,api,java,数据库,浏览器)