web调用打印机自动打印_网页打印如何设置默认打印机

web调用打印机自动打印_网页打印如何设置默认打印机浏览器网页打印前言客户对于一些插件比较敏感,如金融、银行等出于安全的考虑和产品的把控,可能不愿意页面打印的时候,客户端浏览器安装插件。(当然,用户有各种各样的需求和打印格式要求,愿意使用打印控件的,开发的打印功能当然很好。)所以直接使用浏览器自带的打印功能,就成为一个选择。打印功能介绍2.1普通打印如果要将当前网页的内容直接打印到白纸上,很简单,使用如下js代码即可实现。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

浏览器网页打印

1. 前言
客户对于一些插件比较敏感,如金融、银行等出于安全的考虑和产品的把控,可能不愿意页面打印的时候,客户端浏览器安装插件。(当然,用户有各种各样的需求和打印格式要求,愿意使用打印控件的,开发的打印功能当然很好。)
所以直接使用浏览器自带的打印功能,就成为一个选择。

2. 打印功能介绍
2.1 普通打印
如果要将当前网页的内容直接打印到白纸上,很简单,使用如下js代码即可实现。

window.print();

2.2 打印指定区域
2.2.1 简单打印某一区域
如果只需要简单打印当前网页的某一块内容,不难实现。先使要打印的那一块获得焦点,然后打印即可,代码如下:

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

Jetbrains全家桶1年46,售后保障稳定

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

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

    <style type="text/css" media="print">
       .noprint{ display : none }
    </style>

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

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

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

代码如下:
window.frames[‘printFrm’].location.href = “页面路径”;
setTimeout(“printAction()”,“1000”);//为防止页面未加载完就打印,延迟一秒
function printAction(){

window.frames[‘printFrm’].focus();
window.frames[‘printFrm’].print();
}

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

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

WEB打印如何设置默认为”仅选定打印框架”?
function printAction(){

window.frames[‘printFrm’].focus();
window.frames[‘printFrm’].print();
}

2.5 修改浏览器打印设置
在打印的时候,你可能希望由自己来控制页边距、页眉、页脚等。可以按如下方式,在打印前进行相应的设置(注:由于使用了ActiveXObject,需要进行相应的浏览器安全设置,将浏览器安全设置中有关“ActiveX控件和插件”下的相关限制放开,当然,这样做不是很安全。可以将系统访问地址设置为“受信任的站点”,在“受信任的站点”的自定义级别中放开相应限制,这就比较妥当了。)。

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(‘请将本系统地址加入”受信任的站点”,否则打印格式可能会不正确!’);
}
}

2.6 需要分页的地方加上一行代码:

  1. Activex 控件件打印
    如果控件无法弹出生效,可能是IE的安全策略的问题。
    可以修改IE的ActiveX 的安全项
    或者如下代码写到程序中。
    try{

    var WshShell=new ActiveXObject(“WScript.Shell”);

         //添加信任站点(http://127.0.0.1)  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\","");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\:Range","127.0.0.1");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\http","2","REG_DWORD");  
    
         //修改IE ActiveX安全设置: 1本地Intranet区域  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1001","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1004","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1200","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1201","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1405","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\2201","0","REG_DWORD");  
    
         //修改IE ActiveX安全设置:2受信任的站点区域  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1001","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1004","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1200","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1201","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1405","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\2201","0","REG_DWORD");  
           
         //修改IE ActiveX安全设置:3Internet区域  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1001","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1004","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1200","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1201","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1405","0","REG_DWORD");  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\2201","0","REG_DWORD");  
    
         //禁用Winxp弹出窗口阻止程序  
         WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\New Windows\\PopupMgr","no");  
     }catch(e){     
          //alert("不允许ActiveX控件");     
     }     
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210081.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月28日 下午12:15
下一篇 2025年7月28日 下午12:43


相关推荐

  • WBS工作分解结构法

    WBS工作分解结构法WBS WorkBreakDow 工作分解结构法 把一个项目 按一定的原则进行分解 项目分解成任务 任务再分解成一项项工作 再把一项项工作分解到每个人的日常活动中 直到分解不下去为止 需要遵循的原则包括 1 要遵循 MECE 原则 即对一项工作进行分解时 要做到不遗漏 不重复的分类 子工作之间要相互独立 所有的子工作要完全穷尽 2 遵循 SMART 原则

    2026年3月17日
    1
  • c语言 背包算法,c语言背包问题(背包最大容量c语言算法)[通俗易懂]

    c语言 背包算法,c语言背包问题(背包最大容量c语言算法)[通俗易懂]求旅行者能获得的最大总价值。请用C语言编程下面是核心的代码(递归函数的代码)别的由你自己搞掂啦(在main函数中的实现,输入,输出的格式)s为一个背包可以放入的物品总重量.n为物品数,w[n]为物品重量.背包问题#includeintmax(intx,inty){if(x>=y)returnx;elsereturny;}intf(int*m,。1在代码风格上…

    2022年7月14日
    39
  • 计算自然对数的快速算法

    计算自然对数的快速算法引言在 1982 年 Tateaki Sasaki 和 YasumasaKana 发表了一篇论文 PracticallyF PrecisionEva x 在这篇只有四页的论文中 他们介绍了一个计算自然对数的快速算法 实现该算法的 C 程序我们知道 NETFramework 中的 System

    2026年3月19日
    1
  • java中long转integer_long(Long)与int(Integer)之间的转换

    java中long转integer_long(Long)与int(Integer)之间的转换最近由于在做一个众筹的项目 其中有一个查找项目支持数的接口 查找的方法定义的是一个 long 型的 我更新项目中的支持数的时候是 int 型的 所以需要在 long 型与 int 型之间转化 下面把转转化的详细方法记录一下 以便后面总结学习 一 将 long 型转化为 int 型 这里的 long 型是基础类型 longa 10 intb int a 二 将 Long 型转换为 int 型的 这里的 Lo

    2026年3月19日
    0
  • 公众号:正确响应微信发送的Token验证「建议收藏」

    直接把下面代码复制到你要填写的url地址<?php//定义常量tokendefine(‘TOKEN’,’weixin’);//检查标签functioncheckSignature(){//先获取到这三个参数$signature=$_GET[‘signature’];$nonce=…

    2022年4月14日
    441
  • C++教程(最全)「建议收藏」

    C++教程(最全)「建议收藏」C++简介

    2022年4月26日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号