`
starbhhc
  • 浏览: 639269 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

jsp中如何实现打印功能

 
阅读更多

简单的:<input     type= "button "     value= "打印 "     onclick= "window.focus();window.print() ">
<input   type=button   value=页面设置   onclick=document.all.WebBrowser.ExecWB(8,1)>  
<input   type=button   value=打印预览   onclick=document.all.WebBrowser.ExecWB(7,1)>

 

 

重点:
<OBJECT   id=WebBrowser   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   width=0   VIEWASTEXT>
</OBJECT>
<input   type=button   value=打印       onclick= "document.all.WebBrowser.ExecWB(6,1) "   class= "NOPRINT ">
<input   type=button   value=直接打印   onclick= "document.all.WebBrowser.ExecWB(6,6) "   class= "NOPRINT ">
<input   type=button   value=页面设置   onclick= "document.all.WebBrowser.ExecWB(8,1) "   class= "NOPRINT ">
<input   type=button   value=打印预览   onclick= "document.all.WebBrowser.ExecWB(7,1) "   class= "NOPRINT ">

注意:
1、CSS对打印的控制:
<!--media=print   这个属性可以在打印时有效-->
<style   media=print>
.Noprint{display:none;}
.PageNext{page-break-after:   always;}
</style>

Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能

PageNext样式可以设置分页,在需要分页的地方 <div   class= "PageNext "> </div> 就OK了,呵呵

2、表格线粗细的设置,更是通过样式表:

<style>
.tdp
{
   border-bottom:   1   solid   #000000;
   border-left:   1   solid   #000000;
   border-right:   0   solid   #ffffff;
   border-top:   0   solid   #ffffff;
}
.tabp
{
   border-color:   #000000;

       border-collapse:collapse;
}
</style>

或者:

<style>
.TdCs1   {
       border:solid   windowtext   1.0pt;
}
.TdCs2   {
       border:solid   windowtext   1.0pt;   border-left:none;
}
.TdCs3   {
       border-top:none;
       border-left:solid   windowtext   1.0pt;
       border-bottom:solid   windowtext   1.0pt;
           border-right:solid   windowtext   1.0pt;
}
.TdCs4   {
       border-top:none;
       border-left:none;
       border-bottom:solid   windowtext   1.0pt;
           border-right:solid   windowtext   1.0pt;
}
.underline   {
       border-top-style:   none;
       border-right-style:   none;
       border-bottom-style:   solid;
       border-left-style:   none;
       border-bottom-color:   #000000;
}
</style>


1、控制 "纵打 "、   横打”和“页面的边距。
(1) <script   defer>
function   SetPrintSettings()   {
 //   --   advanced   features
 factory.printing.SetMarginMeasure(2)   //   measure   margins   in   inches
 factory.SetPageRange(false,   1,   3)   //   need   pages   from   1   to   3
 factory.printing.printer   =   "HP   DeskJet   870C "
 factory.printing.copies   =   2
 factory.printing.collate   =   true
 factory.printing.paperSize   =   "A4 "
 factory.printing.paperSource   =   "Manual   feed "

 //   --   basic   features
 factory.printing.header   =   "This   is   MeadCo "
 factory.printing.footer   =   "Advanced   Printing   by   ScriptX "
 factory.printing.portrait   =   false
 factory.printing.leftMargin   =   1.0
 factory.printing.topMargin   =   1.0
 factory.printing.rightMargin   =   1.0
 factory.printing.bottomMargin   =   1.0
}
</script>

(2)
<script   language= "javascript ">
  function   printsetup(){
  //   打印页面设置
  wb.execwb(8,1);
  }
  function   printpreview(){
  //   打印页面预览
    
  wb.execwb(7,1);
     
    
  }

  function   printit()
  {
  if   (confirm( '确定打印吗? '))   {
  wb.execwb(6,6)
  }
  }
   </script>
</head>
<body>
<OBJECT   classid= "CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 "

height=0   id=wb   name=wb   width=0> </OBJECT>
<input   type=button   name=button_print   value= "打印 "

onclick= "javascript:printit() ">
<input   type=button name=button_setup   value= "打印页面设置 "

onclick= "javascript:printsetup(); ">
<input   type=button name=button_show   value= "打印预览 "

onclick= "javascript:printpreview(); ">
<input   type=button   name=button_fh   value= "关闭 "

onclick= "javascript:window.close(); ">

------------------------------------------------
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1)   打开
Web.ExecWB(2,1)   关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1)   保存网页
Web.ExecWB(6,1)   打印
Web.ExecWB(7,1)   打印预览
Web.ExecWB(8,1)   打印页面设置
Web.ExecWB(10,1)   查看页面属性
Web.ExecWB(15,1)   好像是撤销,有待确认
Web.ExecWB(17,1)   全选
Web.ExecWB(22,1)   刷新
Web.ExecWB(45,1)   关闭窗体无提示

2、分页打印
<HTML>
<HEAD>
<STYLE>   
  P   {page-break-after:   always}
</STYLE>
</HEAD>
<BODY>
<%while   not   rs.eof%>

<%=rs(0)%>

<%rs.movenext%>
<%wend%>
</BODY>
</HTML>

3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号
(1)ie的文件-〉页面设置-〉讲里面的页眉和页脚里面的东西都去掉,打印就不出来了。
(2) <HTML>
<HEAD>
<TITLE>   New   Document   </TITLE>
<META   NAME= "Generator "   CONTENT= "EditPlus ">
<META   NAME= "Author "   CONTENT= "YC ">
<script   language= "VBScript ">
dim   hkey_root,hkey_path,hkey_key
hkey_root= "HKEY_CURRENT_USER "
hkey_path= "SoftwareMicrosoftInternet   ExplorerPageSetup "
'//设置网页打印的页眉页脚为空
function   pagesetup_null()
  on   error   resume   next
  Set   RegWsh   =   CreateObject( "WScript.Shell ")
  hkey_key= "header "  
  RegWsh.RegWrite   hkey_root+hkey_path+hkey_key, " "
  hkey_key= "footer "
  RegWsh.RegWrite   hkey_root+hkey_path+hkey_key, " "
end   function
'//设置网页打印的页眉页脚为默认值
function   pagesetup_default()
  on   error   resume   next
  Set   RegWsh   =   CreateObject( "WScript.Shell ")
  hkey_key= "header "  
  RegWsh.RegWrite   hkey_root+hkey_path+hkey_key, "&w&b页码,&p/&P "
  hkey_key= "footer "
  RegWsh.RegWrite   hkey_root+hkey_path+hkey_key, "&u&b&d "
end   function
</script>
</HEAD>

<BODY>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/> <p   align=center>
<input   type= "button "   value= "清空页码 "   onclick=pagesetup_null()>   <input   type= "button "   value= "恢复页吗 "   onclick=pagesetup_default()> <br/>


</BODY>
</HTML>
4、浮动帧打印
<SCRIPT   LANGUAGE=javascript>
function   button1_onclick()   {
  var   odoc=window.iframe1.document;
  var   r=odoc.body.createTextRange();
  var   stxt=r.htmlText;
  alert(stxt)
  var   pwin=window.open( " ", "print ");
  pwin.document.write(stxt);
  pwin.print();
}
</SCRIPT>
4、用FileSystem组件实现WEB应用中的本地特定打印
<script   Language=VBScript>
function   print_onclick   //打印函数
dim   label
label=document.printinfo.label.value   //获得HTML页面的数据
set   objfs=CreateObject( "Scripting.FileSystemObject ")   //创建FileSystem组件对象的实例
set   objprinter=objfs.CreateTextFile   ( "LPT1: ",true)   //建立与打印机的连接
objprinter.Writeline( "__________________________________ ")   //输出打印的内容
objprinter.Writeline( "|   | ")
objprinter.Writeline( "|   您打印的数据是: "&label&   "   |”)
objprinter.Writeline( "|   | ")
objprinter.Writeline( "|_________________________________| ")
objprinter.close   //断开与打印机的连接
set   objprinter=nothing
set   objfs=nothing   //   关闭FileSystem组件对象
end   function
</script>
服务器端脚本:
<%………
set   conn=server.CreateObject   ( "adodb.connection ")
conn.Open   "DSN=name;UID=XXXX;PWD=XXXX; "
set   rs=server.CreateObject( "adodb.recordset ")
rs.Open(“select   ……”),conn,1,1
……….%>   //与数据库进行交互
HTML页面编码:
<HTML>
………
<FORM   ID=printinfo   NAME= "printinfo "   >
<INPUT   type= "button "   value= "打印> > "   id=print   name=print   >   //调用打印函数
<INPUT   type=hidden   id=text1   name=label   value= <%=………%> >   //保存服务器端传来的数据
………
</HTML>

分享到:
评论
1 楼 speek_java 2011-07-25  
楼主,文章写得非常详细 ,诚心交个朋友!  如果楼主 需要连续打印 或 或者不弹出IE 打印提示框 就做不到,   调用打印的方法最好用vbscript 写  !
如:<script language="vbscript">
function printit()
wb.execwb 6,2,3
end function
</script>

相关推荐

    JSP实现打印功能

    指定BODY内的打印功能

    Jsp页面中实现打印打印预览及打印设置

    Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能 PageNext样式可以设置分页,在需要分页的地方 &lt;div class= "PageNext "&gt; &lt;/div&gt; 就OK了,呵呵...

    javaweb实现打印功能

    javaweb jsp界面实现打印功能。引入js后再引入相应方法即可实现。

    jsp实现网页打印(pdf方法)

    将网页中数据表以pdf方式打印,网上发布的相关解决方法都属于互相copy,且不完善,有很多漏洞。当初我在做的时候为此非常头疼,最后查看了很多资料,将次功能最终实现,为方便大众,将个人的例子上传,以供需要的...

    js 打印以及预览功能实现

    一js为基础,实现了在线打印以及在线预览需要打印模块,可以设置页眉和页脚,支持ie 火狐,Google 等浏览器

    jsp开发实现wordexcel的在线预览

    jsp开发实现word、excel的在线预览功能,实用性强。欢迎下载

    页面实现预览和打印(页面整体打印和局部打印)

    如何在html和jsp页面中实现预览和打印功能,我查找了一些资料并做了整理改进,压缩包中有两种形式的实现,可以实现页面整体预览和打印,也可以实现局部表格和文档的预览和打印功能。

    Java Jsp 调用ireport动态模板打印

    iReport+模板+Java动态打印包括热敏单,动态编辑热敏单或者打印模板可以镶嵌图片

    SpringMVC+jspereport,实现报表分页查看、文件(pdf、excel、word)导出,以及html展示和调用浏览器打印功能实现打印

    SpringMVC+jspereport,实现报表分页查看、文件(pdf、excel、word)导出,以及html展示和调用浏览器打印功能实现打印,报文都是采用ireport5.6.0设计

    有关条码打印功能实现的jsp参考页面

    该也面是我做项目的时候积累下来的,大家可以用来参考有关条码打印的重点部门,注意要下载相关的条码字体库放到C盘的指定文件中,如果有不懂的地方可以和我联系 或发邮件 luwl56@163.com

    jsp、web打印功能Lodpo6.0

    里面有Lodpo6.0的40多个关于打印的简单例子,附带上lodpo6.0插件, 请注意:里面没有打印word模板的例子,不过可以通过打印页面实现,请下载的朋友注意看说明

    实现jsp页面里的内容通过Excel打印输出来

    实现jsp页面里的内容通过Excel打印输出来,还能预览页面、制定打印页面的规格等功能。

    java调用打印机打印的相关教程

    在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java提供的打印功能一直都比较弱。实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持。所以,在以前用Java/Applet/JSP/Servlet设计的...

    好用的Web条码打印(条码打印通)

    随着二维码使用范围的普及,越来越多的二维码应用的各种B/S程序中,而B/S中条码打印格式非常难控制。本程序主要是为了解决WEB生成条码打印不好控制的难题,通过Web简单调用脚本,即可实现不同尺寸条码的打印。 一、...

    基于JSP的ATM管理系统

    jsp+mysql做的ATM银行管理系统

    实现打印的JS脚本

    js打印功能,使用chrome浏览器体验最佳

    jsp编程技巧集锦

    数字转中文 128 自动计算金额 129 JSP页面打印中使用WebBrowser控件 130 不刷新页面添加新的类别 131 鼠标滚动缩放图片 132 根据输入的表名生成输入数据表格 133 JSP表格输出到Excel 134.JSP...

    Java打印程序设计

    在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java提供的打印功能一直都比较弱。实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持。所以,在以前用Java/Applet/JSP/Servlet设计的...

    jsp排课管理系统

    重点:排课管理功能的实现,不仅要考虑到教室和教师时间上的冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另外由于高校的教学特点,还要处理合班课、分班课、体育课与选修课等特殊课程的设置。 要求:JSP...

    jsp实现用户自动登录功能

    理解并掌握Cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果 当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息。通过设置Cookie的有效期限来保存用户的...

Global site tag (gtag.js) - Google Analytics