目前我写了个JSP页面测试打印,但如果远程调用这个页面的话,打印预览是在服务器端开启的,怎么让它在客户端开启呢,这个JSP的源码如下:
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*" %>
<%@ page import="util.Conn" %>
<%@ page import="net.sf.jasperreports.view.JasperViewer" %>
<html>
    <head>
        <title>打印测试</title>
    </head>
    <body>
        <%
            try {
            Connection conn = Conn.GetConn();
            // 编译report.jrxml并在report.jrxml所在的目录中生成report.jasper文件
                    File reportFile = new File(application.getRealPath("iteminfo.jrxml"));
            String filepath = reportFile.getParent();
   
            JasperCompileManager.compileReportToFile(filepath+"\\iteminfo.jrxml");
            // 填充数据
            JasperFillManager.fillReportToFile(filepath+"\\iteminfo.jasper", null, conn);
            // 预览报表,false代表不是使用xml文件。
            JasperViewer view = new JasperViewer(filepath+"\\iteminfo.jrprint", false);
            view.pack();
            view.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        %>    </body>
</html>