`
starbhhc
  • 浏览: 658416 次
  • 性别: 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实现打印功能

    在这个特定的场景下,"JSP实现打印功能"指的是如何利用JSP来控制用户浏览器进行文档打印,特别是指定网页中的"BODY"部分内容。下面我们将详细探讨如何实现这一功能。 首先,我们需要理解浏览器的打印机制。通常,...

    jsp打印功能有列子源代码.rar

    在JSP中实现打印功能,可以让用户方便地将网页内容输出到打印机,这对于报表生成、文档分享等场景非常实用。本教程将通过一个具体的例子深入解析JSP的打印功能。 首先,我们需要理解JSP页面的基本结构,它由HTML...

    java jsp 打印

    本篇文章将深入探讨如何在Java JSP中实现打印功能。 一、Java JSP打印基础 1. 浏览器打印:最常见的打印方式是通过浏览器的内置打印功能。在JSP中,我们可以通过JavaScript或者HTML的`&lt;a&gt;`标签来触发浏览器的打印...

    实现jsp打印的控件

    标题中的“实现jsp打印的控件”就是针对这样的需求,它涉及到如何在JSP页面中添加打印功能,包括打印配置、预览和实际的打印操作。 1. **打印控件的实现原理** - 打印控件通常通过JavaScript或者Java Applet来实现...

    jsp打印功能,经典

    在jsp打印功能中,还可以使用printHelper函数来实现打印预览和打印功能: window.printHelper = function() { execScript("on error resume next: printWB.ExecWB 6, 1", "VBScript"); printFireEvent(frame, ...

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

    本文将基于提供的示例代码来详细介绍如何在 JSP 页面中实现打印、打印预览以及打印设置等功能。 #### 一、HTML 控件的使用 在 HTML 中,可以通过内嵌 ActiveX 控件的方式实现页面打印功能。下面的代码片段展示了...

    打印问题_jsp程序编程

    在这个“打印问题_jsp程序编程”的主题中,我们将深入探讨如何在JSP(Java Server Pages)中实现打印功能,以及可能遇到的问题和解决方案。 首先,JSP是一种基于Java的服务器端技术,用于创建动态网页。它将HTML...

    jsp 分页 局部打印 技术 的实现

    在Web开发中,特别是使用JSP进行页面设计时,分页和打印功能是提升用户体验的重要方面。本文将深入探讨如何在JSP页面中实现分页局部打印,主要关注的技术点包括:JSP分页原理、局部打印的实现方法、以及使用Lodop...

    javaweb实现打印功能

    在实现打印功能时,通常在JSP页面上设计用户界面,然后通过JavaScript或者AJAX与后端Servlet进行数据交换。 1. **JSP页面设计**:在JSP页面中,我们可以创建一个按钮或链接,当用户点击时触发打印操作。页面上需要...

    jsp的功能实现

    下面我们将深入探讨如何在JSP中实现数据库连接功能。 首先,我们需要在JSP页面中引入JDBC驱动。这通常在JSP页面的顶部完成,通过`*" %&gt; `导入必要的JDBC接口和类。 接着,建立数据库连接。在JSP中,我们可以使用`...

    jsp,java实现谷歌地图,查询地图功能

    本项目专注于使用JSP和Java来集成并实现谷歌地图的查询功能。下面将详细阐述这一技术实现的关键知识点。 1. **JSP基础**: - JSP生命周期:包括翻译、初始化、服务和销毁四个阶段,开发者主要在服务阶段编写业务...

    html,jsp操作页面打印例子

    5. **JSP集成**:在JSP页面中,我们不仅可以利用HTML和JavaScript实现前端打印功能,还可以在服务器端处理数据,生成适合打印的内容。例如,可以从数据库获取数据,动态生成表格或报告,然后传递给前端进行打印。 6...

    Java Jsp 调用ireport动态模板打印

    iReport是一款开源的报表设计工具,它可以与Java、JSP、Servlets等进行集成,为开发者提供灵活的报表生成和打印功能。在这个场景下,我们主要讨论如何利用iReport创建动态模板,以及如何通过JSP和Java代码来调用这些...

    jsp、web打印功能Lodpo6.0

    虽然提供的例子中不包含直接打印Word模板的功能,但可以通过模拟页面的方式间接实现打印Word文档。 **Lodop与JSP的整合** 在JSP中集成Lodop,首先需要在服务器上部署Lodop的服务端组件,并在客户端引入相应的...

    js 打印以及预览功能实现

    在JavaScript(js)中实现打印和预览功能是一项常见的需求,尤其在Web开发中。本文将详细介绍如何基于JavaScript实现这一功能,并确保其在IE、Firefox和Google等主流浏览器中的兼容性。 首先,我们需要理解...

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

    在网页开发中,预览和打印功能是必不可少的,尤其对于提供信息展示或者报表的网站。...在实际项目中,根据需求可以选择合适的实现策略,确保预览和打印功能既满足用户体验,又能有效利用现有的技术栈。

    打印功能(jsp报表)

    本篇内容旨在介绍如何在JSP页面中实现一个简单的打印功能以及报表设计。 #### JSP报表基础知识 JSP(JavaServer Pages)是一种用于生成动态网页的技术。它允许开发人员将Java代码嵌入到HTML文档中,从而可以创建...

    JSP打印\JAVA的JSP打印代码

    本文将详细介绍如何利用JSP(Java Server Pages)技术实现Word和Excel文档的动态生成与打印功能。通过结合Word和Excel的设计优势,我们可以创建出既美观又实用的报表,并将其转化为JSP页面进行动态填充数据和打印。...

    jsp实现打印柱状图

    在本教程中,我们将探讨如何利用Java和JSP来实现一个功能,即“打印柱状图”,特别是用于分类汇总的数据可视化。 柱状图是一种常用的数据表示形式,它通过长条的高度或长度来比较不同类别的数量或频率。在Web应用中...

    java定位打印实例demo,通过jsp来打印

    在这个实例中,我们利用Java结合JSP(JavaServer Pages)来实现在浏览器中预览并打印指定内容。下面将详细介绍如何实现这一功能。 首先,了解Java定位打印的基本原理。在Java中,我们可以使用`java.awt.print....

Global site tag (gtag.js) - Google Analytics