ScriptX HTML打印控件(java)

来源:互联网 发布:上海英方软件福利待遇 编辑:程序博客网 时间:2024/06/11 13:05

ScriptX HTML打印控件

dullhunter @ 2007-07-03 09:41 | JAVA

ScriptX HTML打印控件 配合ireport报表
view plaincopy to clipboardprint?
  1. <%@ page language="java" contentType="text/html;charset=GBK"%>  
  2. <%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>  
  3. <%@ page import="com.frameworkset.common.poolman.PreparedDBUtil"%>  
  4. <%@ page import="com.frameworkset.common.poolman.util.SQLResult"%>  
  5. <%@ page import="net.sf.jasperreports.engine.JasperPrint"%>  
  6. <%@ page import="net.sf.jasperreports.engine.JRExporter"%>  
  7. <%@ page import="net.sf.jasperreports.engine.export.JRHtmlExporter"%>  
  8. <%@ page import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter"%>  
  9. <%@ page import="net.sf.jasperreports.engine.JRExporterParameter"%>  
  10. <%@ page import="java.util.*"%>  
  11. <%@ page import="java.sql.*"%>  
  12. <%@ page import="java.net.*"%>  
  13. <%@ page import="java.io.*"%>  
  14. <%@ page import="com.chinacreator.shoa.common.OAUtil"%>  
  15.   
  16.   
  17.   
  18. <script defer="defer">    
  19. function window.onload() {  
  20.  // -- advanced features  
  21.  factory.printing.SetMarginMeasure(2); // measure margins in inches  
  22.  //factory.printing.printer = "HP DeskJet 870C";  
  23.  factory.printing.paperSize = "A4";  
  24.  factory.printing.paperSource = "Manual feed";  
  25.  factory.printing.collate = true;  
  26.  factory.printing.copies = 1;  
  27.  factory.printing.SetPageRange(false11); // need pages from 1 to 3  
  28.   
  29.  // -- basic features  
  30.  factory.printing.header = "This is MeadCo";  
  31.  factory.printing.font = "宋体";  
  32.  factory.printing.footer = "Advanced Printing by ScriptX";  
  33.  factory.printing.portrait = false;  
  34.  factory.printing.leftMargin = 1.0;  
  35.  factory.printing.topMargin = 1.0;  
  36.  factory.printing.rightMargin = 1.0;  
  37.  factory.printing.bottomMargin = 1.0;  
  38. }  
  39. </script>  
  40.   
  41. <script language="javascript">  
  42. function printTure() //打印函数  
  43. {  
  44.  document.all("dayinDiv").style.display="none";//隐藏按钮  
  45.  factory.printing.Print(true); //调用控件打印  
  46.  document.all("dayinDiv").style.display="";//显示  
  47. }  
  48.   
  49. function printTurePre() //打印预览  
  50. {  
  51.  document.all("dayinDiv").style.display="none";//隐藏按钮  
  52.  factory.printing.Preview(); //调用控件预览  
  53.  document.all("dayinDiv").style.display="";//显示  
  54. }  
  55.   
  56. function printTureSet() //设置函数  
  57. {  
  58.  document.all("dayinDiv").style.display="none";//隐藏按钮  
  59.  factory.printing.PageSetup(); //调用控件设置  
  60.  document.all("dayinDiv").style.display="";//显示  
  61. }  
  62. </script>  
  63.   
  64.   
  65. <div id="dayinDiv" style="display: block;" name="dayinDiv">  
  66. <input value="打印本页" class="buttonActive" onclick="printTure()" type="button">   
  67. <input value="页面设置" class="buttonActive" onclick="printTureSet()" type="button">   
  68. <input value="打印预览" class="buttonActive" onclick="printTurePre()" type="button">  
  69. </div>  
  70.   
  71. <%  String id = request.getParameter("id");  
  72.     String type = request.getParameter("type");  
  73.     String filename = "";  
  74.     String tablename = "arch_dispatch";//发文  
  75.     if("1".equals(type)){  
  76.         filename = "fawen.jasper";//发文  
  77.     } else if("2".equals(type)){  
  78.         filename = "audit.jasper";//模块上线  
  79.         tablename = "td_workflow_use_audit";  
  80.     } else{//收文  
  81.         filename = "shouwen.jasper";  
  82.         tablename = "arch_receive";  
  83.     }  
  84.     URL url = OAUtil.class.getResource("OAUtil.class");  
  85.     String pkgName = OAUtil.class.getPackage().getName();  
  86.     pkgName = pkgName.replace('.''/');  
  87.     String filePath = url.getFile();  
  88.     String webinfoPath = filePath.substring(1, filePath.indexOf("WEB-INF/classes/" + pkgName));  
  89.     //out.println(webinfoPath);  
  90.     try {  
  91.         JasperPrint jp = null;  
  92.         java.util.Map map = new java.util.HashMap();  
  93.         java.sql.Connection con = null;  
  94.         PreparedDBUtil pd = new PreparedDBUtil();  
  95.         con = pd.getConection();              
  96.         map.put("SQLSTR""select * from "+tablename+" where id ='"+id+"'");  
  97.         if("0".equals(type)){  
  98.             String tmpsql = "select id, createman,trans_flag,createdept,receive_no_postfix,receive_no1,pishinameid, pishiname,yuewennameid,yuewenname,yuebannameid,yuebanname,deptdealmanid,deptdealman, arch_co,arch_no,receive_no,secrecy_grade,title,to_char(createdate,'yyyy') ||' 年 '||to_char(createdate,'mm')||' 月 '||to_char(createdate,'dd')||' 日  ' as createdate,to_char(receivedate,'yyyy')||' 年 '||to_char (receivedate,'mm')||' 月 '||to_char(receivedate,'dd')||' 日  ' as receivedate,workmemo,auditmemo,readmemo,deptmemo,fd_num,yuebanren from arch_receive where id = '"+id+"'";  
  99.             map.put("SQLSTR", tmpsql);  
  100.         } else if("1".equals(type)){//发文  
  101.             String subsqlstr = "select t.oldfilename,t.createman from td_afx_file t where t.businessid='"+id+"'";             
  102.             map.put("SUBSQLSTR", subsqlstr);  
  103.             map.put("SUBREPORT_DIR",webinfoPath);  
  104.         }else if("2".equals(type)){  
  105.             String tmpsql = "select id,  code,createman,to_char(createdate,'yyyy')||' 年 '||to_char(createdate, 'mm')||' 月 '||to_char(createdate,'dd')||' 日 ' as  createdate,dept, to_char(usedate,'yyyy')||' 年 '||to_char(usedate,'mm')||' 月 '||to_char (usedate,'dd')||' 日 ' as  usedate,title,managerman,deptmemo,managermemo, checkresult,deptresult,managerresult,deptman,deptdate,managerdate,usememo,trans_flag,leader,leaderid from td_workflow_use_audit where  id = '"+id+"'";  
  106.             map.put("SQLSTR", tmpsql);  
  107.             System.out.println(tmpsql);  
  108.         }  
  109.         jp = JasperFillManager.fillReport(webinfoPath+filename, map, con);  
  110.           
  111.        StringBuffer sout = new StringBuffer();  
  112.   
  113.         try {  
  114.   
  115.             JRExporter exporter = new JRHtmlExporter();  
  116.             exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);  
  117.             exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER,  
  118.                                   sout);  
  119.             exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "report_image/");  
  120.             exporter.setParameter(JRHtmlExporterParameter.  
  121.                                   IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,  
  122.                                   Boolean.TRUE); // 删除记录最下面的空行  
  123.             exporter.setParameter(JRHtmlExporterParameter.HTML_HEADER, "");  
  124.             exporter.setParameter(JRHtmlExporterParameter.  
  125.                                   BETWEEN_PAGES_HTML, "");  
  126.             exporter.setParameter(JRHtmlExporterParameter.HTML_FOOTER, "");  
  127.             exporter.setParameter(JRHtmlExporterParameter.  
  128.                                   IS_USING_IMAGES_TO_ALIGN,  
  129.                                   Boolean.valueOf(true));  
  130.             exporter.exportReport();  
  131.               
  132. %>  
  133.   
  134.   
  135.   
  136. <!--startprint-->  
  137. <div id="jasper" style="display: block;" name="dayinDiv">  
  138. <%    
  139.     out.println(sout.toString());  
  140.       
  141. %>  
  142. </div>  
  143. <!--endprint-->  
  144. <object id="factory" viewastext="" style="display: none;" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="./ScriptX/smsx.cab#Version=6,2,433,70" height="0" width="0">  
  145. </object>  
  146.   
  147. <%  
  148.         } catch (Exception e) {  
  149.             e.printStackTrace();  
  150.             sout.append("生成报表数据错误!");                
  151.         }  
  152.   
  153.     } catch (Exception e1) {  
  154.         e1.printStackTrace();  
  155.         //System.out.println("final exception");  
  156.     }  
  157.   
  158.    
  159. %> 
 
原创粉丝点击