• jsp调用ireport进行客户端打印


    前提:客户端需要安装jdk,服务段需要有相关的jar包,itext包等。。。

    jsp:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <head>
    <title>打印</title>
    <link rel="stylesheet" href="/gbcpgl/gbcpgl_web/abc/public.css" type="text/css"/> 
    </head>
    <body scroll="no" style="overflow: hidden;">
    <object 
        classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
        codebase = "http://java.sun.com/update/1.6.0/jinstall-6u13-windows-i586.cab#Version=6,0,0,3" 
        WIDTH = "100%" HEIGHT = "100%" >
        <PARAM NAME = CODE VALUE = "EmbeddedViewerApplet.class" >
        <PARAM NAME = CODEBASE VALUE = "../../applets" >
        <PARAM NAME = ARCHIVE VALUE = "jasperreports-3.5.3-applet.jar,commons-logging-1.0.2.jar,commons-collections-2.1.jar" >
        <param name = "type" value = "application/x-java-applet;version=1.6">
        <param name = "scriptable" value = "false">
    <!--           请求的servlet路径         -->
        <PARAM NAME = "REPORT_URL" VALUE ="someServlet?someParam">
     
    </object>
    </body>
    </html>
     
    servlet核心代码:
    String jasperName = session.getServletContext().getRealPath("/report_print/office_template") + File.separator + "jywwdjb_bg2.jasper";
    try {
    DriverManagerDataSource ds = 。。。;
    JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperName);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,paramMap,ds.getConnection());
      if (jasperPrint != null)
      {
      response.setContentType("application/octet-stream");
      ServletOutputStream ouputStream = response.getOutputStream();
      ObjectOutputStream oos = new ObjectOutputStream(ouputStream);
      oos.writeObject(jasperPrint);
      oos.flush();
      oos.close();
     
      ouputStream.flush();
      ouputStream.close();
      }
    } catch (JRException e) {
    e.printStackTrace();
    }catch (Exception e) {
    e.printStackTrace();
    log.error(e.getLocalizedMessage());
    }
  • 相关阅读:
    关于字符编码
    cocosbuilder中使用字体描边时,字符重叠,间距过小问题
    2dx关于js响应layer触摸消息的bug
    关于js-binding中Layer触摸事件的优化
    2dx解析cocosbuilder中使用layer时的缺陷
    关于 2dx v3.7 UIScale9Sprite的bug
    c++11 Chrono时间库
    cocos2d-x lua table数据存储
    cocos2d-x lua 使用ListView
    Oracle数据库impdp时ora-00439:未启用功能:Deferred Segment Creation
  • 原文地址:https://www.cnblogs.com/wangdonghua/p/3320794.html
Copyright © 2020-2023  润新知