打印资料

来源:互联网 发布:软件导刊版面费 编辑:程序博客网 时间:2024/04/28 10:08

http://www.oschina.net/question/1014681_124891


http://bulktree.iteye.com/blog/929650


package com.ly.jasper.one;


import java.applet.Applet;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URL;


import javax.swing.JOptionPane;


import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.util.JRLoader;


public class JRPrinterApplet extends Applet {
private static final long serialVersionUID = 1L;

    private URL url = null;      
    private JasperPrint jasperPrint = null;      
     
    public JRPrinterApplet()      
    {      
              
    }      
     
    /**    
    *    
    */     
    public void init()      
    {      
     String strUrl = "http://localhost:8080/JSPER/servlet/JRPrintServlet";  
        if (strUrl != null)      
        {      
            try     
            {      
             URL urll = new URL(strUrl);  
             url = urll;  
            }      
            catch (Exception e)      
            {      
                StringWriter swriter = new StringWriter();      
                PrintWriter pwriter = new PrintWriter(swriter);      
                e.printStackTrace(pwriter);      
                JOptionPane.showMessageDialog(this, swriter.toString());      
            }      
        }      
        else     
        {      
        JOptionPane.showMessageDialog(this, "init():Source URL not specified");      
        }      
    }      
     
    public void start() {      
        if (url != null)      
        {      
            if (jasperPrint == null)      
            {      
                try     
                {      
                System.out.println("进入start方法,即将下载文件");  
                    jasperPrint = (JasperPrint)JRLoader.loadObject(url);    
                    System.out.println("进入start方法,下载文件完毕");  
                }      
                catch (Exception e)      
                {      
                    StringWriter swriter = new StringWriter();      
                    PrintWriter pwriter = new PrintWriter(swriter);      
                    e.printStackTrace(pwriter);      
                    JOptionPane.showMessageDialog(this, swriter.toString());      
                }      
            }      
                  
            if (jasperPrint != null)      
            {                     
                final JasperPrint print = jasperPrint;      
                      
                Thread thread = new Thread      
                    (      
                        new Runnable()      
                        {      
                            public void run()      
                            {      
                                try       
                                {      
                                System.out.println("进入start方法,即将打印文件");  
                                    JasperPrintManager.printReport(print, true);
                                    System.out.println("进入start方法,打印文件完毕");
                                }      
                                catch (Exception e)       
                                {      
                                    StringWriter swriter = new StringWriter();      
                                    PrintWriter pwriter = new PrintWriter(swriter);      
                                    e.printStackTrace(pwriter);      
                                    JOptionPane.showMessageDialog(null, swriter.toString());      
                                }      
                            }      
                        }      
                    );      
                      
                thread.start();      
            }      
            else     
            {      
                JOptionPane.showMessageDialog(this, "Empty report.");      
            }      
        }      
        else     
        {      
            JOptionPane.showMessageDialog(this, "start():Source URL not specified");      
        }      
    }  
}


package com.ly.jasper.one;


import java.io.File;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.Map;


import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;


public class JRPrintServlet extends HttpServlet 
{
private static final long serialVersionUID = 1L;


public void doGet(HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException

try{
String fileName=this.getClass().getClassLoader().getResource("").getFile()+"templet/JTest.jasper";
JasperReport jasperReport= (JasperReport) JRLoader.loadObject(new File(fileName));

Map<String,Object> paramMap=new HashMap<String, Object>();
paramMap.put("empName", "hehe");

JasperPrint jpt = JasperFillManager.fillReport(jasperReport,paramMap,new JREmptyDataSource());//填充报表数据生成JasperPrint对象 


response.setContentType("application/octet-stream"); 
ServletOutputStream ouputStream = response.getOutputStream(); 
ObjectOutputStream oos = new ObjectOutputStream(ouputStream); 
oos.writeObject(jpt);
oos.flush(); 
oos.close(); 
} catch (Exception e) { 
e.printStackTrace(); 


}


function loadApplet(applet_URL) {
var URL = "<%=request.getContextPath()%>/applets/jre-1_5_0_18-windows-i586-p.exe";
   document.write('<OBJECT id="myApplet" name="myApplet"');
   document.write('classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH="0" HEIGHT="0" MAYSCRIPT name="myApplet"');
   document.write('codebase="">');
   document.write('<PARAM NAME="CODE" VALUE="com.ly.jasper.one.JRPrinterApplet" />');
   document.write('<PARAM NAME="CODEBASE" VALUE="../applets" />');
   document.write('<PARAM NAME="ARCHIVE" VALUE="jasperreports-applet-5.2.0.jar" />');
   document.write('<PARAM NAME="type" VALUE="application/x-java-applet;version=1.5.0" />');
   document.write('<PARAM NAME="scriptable" VALUE="false" />');
   document.write('<PARAM NAME="REPORT_URL" VALUE="../servlet/JRPrintServlet">');
   document.write('no support java');
   document.write('<comment>');
   document.write('<embed type="application/x-java-applet;version=1.5.0"');
   document.write('CODE="com.ly.jasper.one.JRPrinterApplet"');
   document.write('JAVA_CODEBASE="applets" ARCHIVE="jasperreports-applet-5.2.0.jar"');
   document.write('scriptable=false');
   document.write('pluginspage='+ URL +'>');
   document.write('<noembed></noembed>');
   document.write('</embed>');
   document.write('</comment>');
   document.write('</OBJECT>');
}

0 0
原创粉丝点击