`
thinkerAndThinker
  • 浏览: 285193 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

浏览器打印经验总结

 
阅读更多

    js调用浏览器打印(可设置页眉、页脚、页边距)

如果有好用的打印控件,用打印控件。如果没有,可以直接用浏览器自带的打印功能。

 

1.1普通打印

网页内容直接打印

window.print();

1.2打印指定区域

  简单打印当前网页某一块内容,先使要打印的那一块获得焦点,然后打印即可,代码如下:

        document.getElementById('要打印的区域id').focus();

                 window.print();

       css控制某一部分不打印

         当然,使用css来控制某一区域不打印,也是很方便的。

代码如下(红色部分是关键)。该样式,在浏览的时候可以正常显示,只是打印的时候不打印class为noprint的元素。

        <style type="text/css" media="print">

           .noprint{ display : none }

        </style>

1.3套打

如果用户已经有打印表格,只需要你打印数据内容上去,就是所谓的套打。

你当然可以设计一个只有要打印的数据项的表格,然后通过css来控制元素的位置和字体等格式。也可以结合 1.2.2的描述将不需要打印的部分隐藏,这样更便于你的打印预览调试。

1.5 iframe打印

如果你的打印格式比较复杂,在现有页面通过上边介绍的方式实现起来比较麻烦,那就干脆使用iframe打印吧。那样你只需要提前画好一个页面,在要打印的时候使用js将内容或者模板页面路径传给iframe即可。

代码如下:

    window.frames['printFrm'].location.href = "页面路径";

    setTimeout("printAction()","1000");//为防止页面未加载完就打印,延迟一秒

 

    function printAction(){

        window.frames['printFrm'].focus();

        window.frames['printFrm'].print();

    }

如果不希望iframe被看到,就像下边这样,将高度设置为0吧

<iframe style="height:0px;" id="printFrm" name="printFrm" src="">

</iframe>

当然,如果需要自己来控制页边距、页眉、页脚等,可以先按 1.6中描述方式进行设置。

1.6修改浏览器打印设置

在打印的时候,你可能希望由自己来控制页边距、页眉、页脚等。可以按如下方式,在打印前进行相应的设置(注:由于使用了ActiveXObject,需要进行相应的浏览器安全设置,最简单的就是把访问地址设置为“受信任的站点”)。

 

function setPrint(){

    var hkey_root,hkey_path,hkey_key;

    hkey_root="HKEY_CURRENT_USER";

hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";

     //设置网页打印的页眉页脚为空

    try{

       var RegWsh = new ActiveXObject("WScript.Shell");

       //设置页眉为空

hkey_key="header" ;

       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");

       //设置页脚为空

       hkey_key="footer";

       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");

//设置下页边距(0)

       hkey_key="margin_bottom";  

       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0");

//设置左页边距(0)

       hkey_key="margin_left";

       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0");

       //设置右页边距(0)

       hkey_key="margin_right";

       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0");

       //设置上页边距(0)

       hkey_key="margin_top";

       RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0");

    }catch(e){

        alert('请将本系统地址加入"受信任的站点",否则打印格式可能会不正确!');

    }

}

 

复杂的设置,后续补充…

分享到:
评论

相关推荐

    浏览器打印经验总结[参考].pdf

    浏览器打印经验总结 浏览器打印功能是非常常见的需求,在系统开发中经常会遇到打印问题。如果有好用的打印控件,开发打印功能自然无需多说。但是,如果没有,直接使用浏览器自带的打印功能,也是一个不错的选择。 ...

    javascript编写基于chrome浏览器的打印程序,本例用来打印小票.zip

    在JavaScript编程领域,打印功能是常见且实用的。在本示例中,我们将探讨如何...这涉及到HTML和CSS的使用,JavaScript的打印功能,以及可能的浏览器打印设置调整。对于想要开发类似功能的开发者,这是一个很好的起点。

    关于使用Jxl生成Excel并打印的经验总结.pdf

    这种方式适用于直接打印Excel文件,避免了HTML打印可能出现的浏览器兼容性问题。 **使用心得** 在Web开发中,Jxl库提供了一种方便的方式来生成标准的Excel文件,可以替代JavaScript的打印或封闭式套打插件。由于...

    关于使用Jxl生成Excel并打印的经验总结.docx

    在Web开发中,通常会使用JavaScript的`window.print()`方法来打印网页内容,但这可能会因为浏览器差异导致打印效果不稳定。相比之下,Jxl生成的标准Excel文件在样式和功能方面更为可靠,因为大多数用户都熟悉Excel的...

    asp.net报表打印(table方式)

    ASP.NET报表打印是Web开发中...5. 浏览器打印API的使用 通过分析和学习这个示例,开发者可以了解如何在ASP.NET环境中创建和打印基于HTML Table的报表,这对于任何需要在Web上呈现和输出数据的项目都是宝贵的实践经验。

    桔子浏览器功能介绍.docx

    桔子浏览器的“帮助”可能链接到浏览器的官方论坛或贴吧,用户可以在这些平台上寻求帮助、交流经验,甚至参与到浏览器的改进和优化中去。 总结来说,桔子浏览器通过其全面的功能和用户友好的设计,为用户提供了优质...

    web打印控件大全

    Web打印控件是Web应用程序中的一种组件,它允许用户直接从浏览器打印网页内容或者特定的网页元素,而无需依赖于浏览器自身的打印功能。这些控件通常以ActiveX、Java Applet或JavaScript插件的形式存在,可以跨平台...

    简单浏览器设计报告——JAVA

    - **项目总结**:回顾整个项目的设计过程,总结成功经验与存在的不足之处。 - **未来展望**:探讨未来可能的技术改进方向,以及如何扩展现有浏览器的功能。 #### 八、参考资料 - **参考书籍**:《Java网络编程》、...

    web程序 打印

    【描述】提到的链接指向了一篇博客文章,虽然具体内容没有给出,但可以推测博主可能分享了关于在Web程序中实现打印功能的经验和技巧。通常,这种功能的实现会涉及到HTML、CSS、JavaScript(前端)和服务器端编程语言...

    jsp web 打印,lodop4 应用

    Web打印是指用户通过Web浏览器进行打印操作,通常涉及到客户端与服务器之间的交互。在JSP应用中,这通常需要服务器发送打印指令到客户端,然后由客户端执行实际的打印任务。 3. **LODOP4**: LODOP是一款强大的云...

    C#编程中关于数据缓存的经验总结

    ### C#编程中关于数据缓存的经验总结 #### 一、引言 在现代软件开发过程中,特别是Web应用开发中,提升程序性能是一项至关重要的任务。数据缓存作为一种提高应用程序性能的有效手段,已经被广泛应用于各种场景之中...

    C++打印报表使用

    无论是初学者还是有经验的开发者,在面对报表打印这一应用场景时,都可以参考以上介绍的技术要点,结合自己的实际情况,灵活运用,从而达到最佳的效果。希望本文能够为读者提供有价值的指导和帮助。

    iWebReport2000

    总结,iWebReport2000作为一款成熟的Web打印控件,其源码的开放提供了宝贵的教育资源。开发者通过深入学习,不仅可以掌握Web打印技术,还能增强对前端开发的理解,为日常项目开发带来诸多便利。无论是初学者还是经验...

    Node.js-Carlo为Node程序提供了由GoogleChrome浏览器提供支持的丰富渲染功能

    5. **打印功能**: 由于是基于浏览器,Carlo内置了打印功能,可以方便地将应用内容打印到纸上或PDF。 **使用Carlo的步骤** 1. **安装**: 首先,你需要通过npm(Node.js的包管理器)安装Carlo库,`npm install carlo...

    lodop.doc 1

    总结,LODOP作为一个强大的云打印工具,能够为开发者提供便捷的网页打印解决方案。通过理解并熟练运用其API,可以轻松实现各种打印需求,提高用户体验,降低维护成本。这份文档不仅适合初学者,也对有经验的开发者有...

    win7图片阅览器,图片浏览器,正式版,官方下载

    本文将围绕“Win7图片阅览器”这一主题,详细探讨这款图片浏览器的功能特性、安装过程以及使用技巧,旨在帮助用户更好地理解和利用这款官方正式版的软件,丰富网络生活体验。 首先,让我们了解一下“Win7图片阅览器...

    Lodop5.023 演示所有页面

    总结,LODOP5.023的示例集合为开发者提供了全面了解和熟练运用LODOP的平台,无论是初学者还是经验丰富的开发人员,都能从中获益匪浅。通过深入学习和实践,我们可以充分利用LODOP的强大功能,提高网页打印的效率和...

    基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作

    总结,实现Web页面内容的打印预览和保存操作,需要考虑浏览器的兼容性,选择合适的插件或库来处理不同的需求。PrintThis提供了一种简便的打印解决方案,而Apose.Word等工具则有助于将网页内容转换为可编辑的文档格式...

    电子商务实训报告总结(完整版).doc

    电子商务实训报告是对电子商务实践课程的全面总结,旨在深化学生对电子商务的理解,提升其在实际操作中的技能。在本次实训中,学生们在信息楼A105进行,利用联网的电脑和各类软件进行学习。 实训内容主要包括两个...

Global site tag (gtag.js) - Google Analytics