zoukankan      html  css  js  c++  java
  • 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());
    }
  • 相关阅读:
    还原 | revert (Cascading & Inheritance)
    过滤器 | filter (Filter Effects)
    过渡时间 | transition-duration (Animations & Transitions)
    过渡延时 | transition-delay (Animations & Transitions)
    过渡属性 | transition-property (Animations & Transitions)
    过渡定时功能 | transition-timing-function (Animations & Transitions)
    过渡 | transition (Animations & Transitions)
    ProxySQL 读写分离
    《抛弃learning rate decay吧!》
    《Tensorflow 中 learning rate decay 的奇技淫巧 》
  • 原文地址:https://www.cnblogs.com/wangdonghua/p/3320794.html
Copyright © 2011-2022 走看看