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
我们总结优秀软件的经验,做出丰富界面的店面前台收银系统,(一改传统超市软件的黑屏界面)。快速的采购管理、完善的库存管理使你更好管理超市。并且基于庞大的互联网技术通过浏览器即可浏览到系统提供的实时的销售...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
系统结合了四千多家用户的使用经验,经过数十位外贸专家的归纳、总结而提炼出的一套综合业务管理系统。系统涵盖了业务进程中的产品管理、客户管理、供应商管理、船公司管理、报价管理、合同进程管理、信用证管理、...
:page_facing_up:保存为PDF方式:使用Chrome浏览器打开 页面,缩起顶部目录-右键-打印-选择目标打印机是另存为PDF-保存( ) :folded_hands:仓库内容如有错误或改进欢迎问题或pr,建议或讨论可在。由于本人水平...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。 :light_bulb: 侧边目录支持方式:、() :page_facing_up: 保存为 PDF...
<<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...
6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序: 71 7、写一个Singleton出来。 75 8、递归算法题1 77 9、递归算法题2 78 10、排序都有哪几种方法?请列举。用JAVA...