WEB页面打印--打印指定区域,页面预览,页面设置

转载http://hi.baidu.com/zyb512/blog/item/e9cf70441ce0984a500ffe79.html 
1.利用组件把报表的内容生成WORD文档或者是Excel文档,导出以后利用Office自带的打印功能进行打印

2.在网页上利用javascript或者是其他基于javascript和其他语言的组建

下面详细介绍这两种方法

1.生成word或者是Excel文档,当要打印的区域内容为文本的时候适合导出为Word文档来处理,当要打印的内容为表格的时候适合导出为Excel文档,在JSP中可以利用Jxl,jacob,POI等组建进行office文档的处理,个人推荐使用POI,这个组件是由apache基金开发维护的,其在开源领域的地位无可置疑。这个组件的使用方法不再详细介绍,再它的帮助文档上面有详细的使用方法和示例代码。可以满足各种基本的开发需要。

2.采用javascript或者打印组件的方法就更多了,下面简单介绍几种方案并给出其中一个方案的详细代码

a.用纯javascript代码:

这种方法就是简单的调用window.open()方法,这中方法的功效等同于用IE的打印功能,将对整个页面所见的内容进行全部的打印,而且会自动打印出页眉页脚。

b.修改注册项,和其它针对某一种浏览器的解决方案

这种方法的原理基本上都是进入客户端系统的注册表,把里面的某些IE选项进行修改,例如屏蔽或者是修改页眉页脚等自定义的打印方方案,这种反感的弊端是非常明显的,首先要在网页上修改注册表项需要再客户端降低浏览器的安全性设置,这将给客户的计算机带来很大的风险,而且这些方法都是在注册表中找到浏览器的位置然后进行操作,这就将处理局限为某一种或者是几种浏览器,而且也将客户端的操作系统局限为Windows

c.第三方的插件

采用第三方的插件,例如ScriptX,WebPrint等,这也第三方的原理基本上同 b 方案相同,也有的是采用纯javascript代码进行封装,但是采用这种插件就需要客户端在打印的时候安装插件,同样需要降低客户端的安全设置,如果有防火墙或者是杀毒软件的影响将不能起到作用,而且这种方案的运行速度很成问题,加载插件的处理严重影响运行速度,不过这种方案的打印效果倒是非常理想的

d.折衷方案

采用WebBrowser和javascript和CSS结合起来

打印指定区域 
   在页面上显示 打印   打印预览   页面设置 按钮 ,用来对打印进行设置,这样可以去掉页眉页脚 
   在javascript中采用CSS控制隐藏不想打印的内容 
       下面是详细的代码(注:由于利用javascript里面构造新页面,所以构造代码连在一起,否则javascript解释错 误):

   <html>
    <head>
   <script language="javascript">
     function printme()
   {
         var print = this.document.getElementById("print").innerHTML;
        print = print +"<br/>"
      print = print +‘<SCRIPT language=javascript> function printView(){hidden();document.all.WebBrowser.ExecWB(7,1); } function print(){hidden();document.all.WebBrowser.ExecWB(6,6)}function pageSetup(){hidden();document.all.WebBrowser.ExecWB(8,1);}function hidden(){document.all("printView").style.display="none"; document.all("print").style.display="none"; document.all("pageSetup").style.display="none";}<\/script>‘;
        print = print + "<OBJECT   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=21   id=WebBrowser   width=87></OBJECT> <input id=printView name=Button   onClick=printView()   type=button   value=打印预览> <input id = print name=Button   onClick=print()   type=button   value=直接打印>   <input id = pageSetup name=Button   onClick= pageSetup() type=button   value=页面设置>";
        var newWindow = window.open();
        newWindow.document.open("text/html");
        newWindow.document.write(print);
        newWindow.document.close();
   }
</script> 

</head>
<body>
    <span id=‘print‘>把要打印的内容放这里</span>
<p>所有内容</p>
<a href="javascript:printme()" target="_self">打印</a> 

</body>
</html> 

代码解释: 把要打印的内容放在 id为print 的区域内在 printme函数中把 要输出的内容放入一个新的也页面,在新页面里面进行打印的处理,在新页面里面用WebBrowser对象进行打印的处理,用css控制隐藏不想打印的内容。

WEB页面打印--打印指定区域,页面预览,页面设置

时间: 2024-11-05 22:21:46

WEB页面打印--打印指定区域,页面预览,页面设置的相关文章

基于jquery的web前端十款不同应用的预览及源码

1.网页变灰(css+js),兼容IE7-10.FF.Chrome.Opera 当天很多媒体已停止一些娱乐活动,部分网站也将主题或logo变成了灰色.那么怎样把网页上的图片或文字都变成灰色呢? 在线演示 源码下载 2.Javascript制作的网页侧边弹出框 今天制作了个网页侧边弹出框,可用于制作分享按钮.在线客服.留言框等,这些效果原理都是一样的,它们可以紧贴浏览器的上.下.左.右四个边栏,以下这个例子就提供了四个样式,展示了紧贴不同的边栏所展示出的效果. 在线演示 源码下载 3.制作的一款登

分享10款主流web前端的基于jquery源码预览下载

1.jquery标记编辑器插件Tag Editor Tag Editor是一个功能强大的和轻量级jQuery标记编辑器插件. 在线演示 源码下载 2.jQuery自动生成css投影样式 使用jQuery自动生成css投影样式,可以自定义投影大小.距离.颜色.透明度等等. 在线演示 源码下载 3.基于jquery实现的鼠标单击出现水波特效 今天要为大家绍一款由jquery实现的鼠标单击出现水波特效.用鼠标猛点击页面,你可以看到页面不断出面水波纹效果,然后水波纹渐渐消失. 在线演示 源码下载 4.S

java web通过openoffice实现文档网页预览(类似百度文库)

最近研究了一下在网页上预览文档(包括office文档和txt.pdf),发现用openoffice+FlexPlayer实现比较理想,就参考了https://blog.csdn.net/ITBigGod/article/details/80300177#commentBox这个博客自己研究了一下.源码如下https://files.cnblogs.com/files/csdeblog/OpenOfficeDemo.zip 需要安装和,在程序中修改这个位置 同时命令行开启openoffice,需要

js打印div指定区域内容

<script> function myPrint(obj){ var newWindow=window.open("打印窗口","_blank");//打印窗口要换成页面的url var docStr = obj.innerHTML; newWindow.document.write(docStr); newWindow.document.close(); newWindow.print(); newWindow.close(); } </scr

分享web前端十款经典jquery特效预览及源码下载

1.纯CSS3实现超酷的磁带动画 我们要用纯CSS3来实现一个超酷的磁带动画特效.首先用纯CSS3绘制了一个磁带的外观,还是相当逼真的,然后用CSS3的动画属性实现了磁带的旋转,就像在播放歌曲一样,如果配合HTML5的音频播放功能,就和那个磁带播放器差不多了. 在线演示 源码下载 2.HTML5仿Apple Watch时钟动画 Apple Watch刚刚发布不久,就已经有国外的大牛将其时钟表盘界面用HTML5模仿出来了,并且这款HTML5仿Apple Watch的时钟是动态的,可以根据本地时间实

VBA 图形里面加载指定图片 实现预览功能

With ActiveSheet.Shapes.AddPicture(path, msoTrue, msoTrue, Px + 30, Py - 180, 120, 100) .Name = "Picture" With .ForeColor .Type = 2 End With '.BackgroundStyle = 5 With .PictureFormat ' .CropLeft = 100 '.TransparencyColor = "0,0,0" '.Tr

打印web页面指定区域的三种方法

本文和大家分享一下web页面实现指定区域打印功能的三种方法,一起来看下吧. 第一种方法:使用CSS 定义一 个.noprint的class,将不打印的内容放入这个class内. 代码如下: <style media="print" type="text/css"> .noprint{visibility:hidden} </style>这 里是要打印的内容.<p class="noprint">这里是不打印的内

基于Metronic的Bootstrap开发框架经验总结(9)--实现Web页面内容的打印预览和保存操作

在前面介绍了很多篇相关的<Bootstrap开发框架>的系列文章,这些内容基本上覆盖到了我这个Bootstrap框架的各个主要方面的内容,总体来说基本达到了一个稳定的状态,随着时间的推移可以会引入一些更好更新的内容进行完善,本篇继续这个系列,主要介绍如何实现Web页面内容的打印预览和保存操作. 1.Web页面打印的问题 在此之前,我一般使用比较好用的LODOP来执行打印的操作,这个在我之前有很多文章都有涉及,这个控件是一个ActiveX的控件,需要下载安装后就可以在页面是进行打印的排版设计,预

控件实现点击预览图片更改页面背景图片的效果

本实例将在页面上放置2个ImageButton并设置背景图片,当点击其中一个按钮时对应的会将网页的背景图片更改为按钮的背景图片.程序实现的主要步骤为:(1)新建一个网站并创建Default.aspx页面,在Default.aspx页面上添加2个ImageButton控件,其属性设置如表3.9所示.表3.9 ImageButton控件属性设置 (2)属性设置完成之后再来添加单击事件,将编辑器切换到"设计"模式下,分别双击2个按钮使其自动生成2个事件处理方法,这时在后台代码的Page_Lo