有关iReport调用打印机的问题

本文探讨了在B/S架构的应用程序中实现远程打印的方法。通过使用ireport3.6.0和struts2技术,解决了从客户端PC机调用服务器端打印任务时只能在服务器上打印的问题。

1、前提:

         工程(B/S结构)部署在一台服务器上;

         接着,在另外一个PC机访问服务器(http://192.168.28.1:8088/dmscs/aLogin.jsp);

         在PC机上安装打印机,点击打印;

 

   2、问题:

        PC机上打印机未出现打印的字条,而在服务器上出现打印的信息;

 

   3、最终效果:

         如何在调用PC机上的打印机打印出字条?????

 

 

    4、使用工具:

          ireport 3.6.0

 

    5、使用技术:

          struts2

   

   6、程序中调用的打印方法:

        /**
  *功能:打印
  *编写时间:2013-08-23
  */
 public boolean printProcedure(String[] str) {
  boolean bf = false;
  String url = this.getClass().getClassLoader().getResource("").getPath().replace("WEB-INF/classes/", "jasper");
  url = url+"/pCode.jasper";
  url.replace('/', '\\');
  JasperReport report = null;
  JasperPrint jasperPrint = null;
  
  GetDayRandomNumber grn = new GetDayRandomNumber();
  String fileValue = grn.getValue(str[1]);
  
  if (fileValue==null||fileValue.equals("null")){//表示没有
   Random rd = new Random();
   int random = 0;
    do{
     random = rd.nextInt(999);
    }while(random<100);
   grn.modifyValue(str[1], String.valueOf(random));
   fileValue = String.valueOf(random);
  }
  
  try{
   report =(JasperReport)JRLoader.loadObject(url);
   
   Map<String,String> map = new HashMap<String,String>();
   map.put("xm", str[3]);
   map.put("cm", str[2]);
   map.put("rq", str[1]);
   map.put("sjs",fileValue+str[6]);
   jasperPrint = JasperFillManager.fillReport(report,map);

   JasperPrintManager.printReport(jasperPrint, false);

   System.out.println("export pdf success!");
   bf = true;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return bf;
 }

    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值