浏览器自带打印功能(或手动设置启用ActiveX控件)。书写有不足或描述不清的地方请大家指正。^-^
利用CSS样式打印是经常使用的一种打印方法,利用它可以非常方便的实现打印页面中的指定内容和分页打印,下面将通过具体实例介绍如何利用CSS样式打印。
[分析]:
1.打印样式区分:打印网页带页面样式,需指明一个media='print'的样式,建议分开,如下创建军一个bankprint.css打印样式文件。
<link rel="stylesheet" media="screen" type="text/css" href="/public/default/css/bank.css" />
<!-- 打印样式 -->
<link rel="stylesheet" media="print" type="text/css" href="/public/default/css/bankprint.css" />
例:
<style media=‘print’>
.Noprint {display:none;}
.PageBreak {page-break-after: always;}
</style>
说明:
media类型是CSS属性媒体类型,用于直接引入媒体的属性。其语法格式如下:
@media screen | print | projection | braille | aural | tv | handheld | all
参数说明
screen:指计算机屏幕。
print:指用于打印机的不透明介质。
projection:指用于显示的项目。
braille:盲文系统,指有触觉效果的印刷品。
aural:指语音电子合成器。
tv:电视类型的媒体。
handheld:指手持式显示设备。
all:用于所有媒体。
2.WebBrowser控件
同其他控件一样,首先我们需要在页面中嵌入WebBrowser控件,不过由于该控件是IE浏览器自带的,支持浏览器默认安全设置,因此避免了安全性设置的麻烦。对于IE7及以上安全性要求更高的浏览器,您或许还是需要自定义IE的安全性级别。
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id="wb" width="0" height="0"></OBJECT>
下面就是该控件涉及打印的功能调用,用户可以在JavaScrip中调用:
wb.execwb(6,1); //打印,打印当前页面
wb.execwb(7,1); //打印预览
wb.execwb(8,1); //打印设置,调出系统打印设置对话框
3.页眉、页脚设置:打印时,有的需要去掉页眉页脚,或替换成自已想要的。
<script language="JavaScript">
var hkey_root,hkey_path,hkey_key;
hkey_root="HKEY_CURRENT_USER";
hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
//配置网页打印的页眉页脚为空
function pagesetup_null(){
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,"");
//&b 第&p页/共&P页 &b
}catch(e){}
}
//配置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("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");
}catch(e){}
}
...
</script>
[源码例子]:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>打印设置</title>
<link rel="stylesheet" media="screen" type="text/css" href="http://www.chinasvf.com/Webs/public/default/css/bank.css" />
<!-- 打印样式 -->
<link
rel="stylesheet" media="print" type="text/css"
href="http://www.chinasvf.com/Webs/public/default/css/bankprint.css"
/>
<script language="JavaScript">
var hkey_root,hkey_path,hkey_key;
hkey_root="HKEY_CURRENT_USER";
hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
//配置网页打印的页眉页脚为空
function pagesetup_null(){
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,"");
//&b 第&p页/共&P页 &b
}catch(e){}
}
//配置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("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");
}catch(e){}
}
//打印选区内容
function doPrint() {
pagesetup_null();
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
//打印页面预览
function printpreview(){
pagesetup_null();
//wb.printing.header = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页";
//wb.printing.footer = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页";
try{
wb.execwb(7,1);
}catch(e){
alert("您的浏览器不支持此功能,请选择'文件'->'打印预览'");
}
}
//打印
function prints(){
pagesetup_null();
//wb.printing.header = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页";
//wb.printing.footer = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页";
try{
wb.execwb(6,1);
}catch(e){
alert("您的浏览器不支持此功能");
}
}
</script>
</head>
<body>
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id="wb" width="0" height="0"></OBJECT>
<div id="bankwrap">
<div class="Noprint"><a href="http://www.chinasvf.com"
style="cursor:pointer; color:#0000FF">返回首页</a></div>
<div style="text-align:right">
<p class="Noprint">
<span style="cursor:pointer; color:#0000FF"
onclick="javascript:window.open('http://www.chinasvf.com/Webs/Share/printhelp')"
class="Noprint">打印帮助</span>
<span style="cursor:pointer; color:#0000FF" onclick="printpreview();">打印预览</span>
<span style="cursor:pointer; color:#0000FF" onclick="prints();" class="Noprint">打印</span>
</p>
</div>
<div class="banktitle">内容</div>
</div>
</body>
</html>
相关1:網頁打印代碼大全
2.http://topic.csdn.net/t/20050228/17/3812979.html
发表评论
-
document.body.clientHeight的取值
2013-12-24 10:41 808有时候需要取页面的底部, 就会用到docume ... -
获得当前日期
2011-01-12 14:39 363<!DOCTYPE HTML PUBLIC " ... -
禁用快捷键
2012-12-21 08:27 779禁用 F5 document.onkeydown ... -
上传图片预览
2012-12-24 11:18 706<! DOCTYPE html PUBLIC &q ... -
弹出窗口
2012-12-21 08:26 7301.open(src,窗口名,模式(窗口大小,导航...等 ... -
js 中编码(encode)和解码(decode)方法
2012-12-21 08:28 709encodeURIComponent 方 ... -
用js取float型小数点后两位 (四舍五入)
2012-12-24 11:19 790<input type="text" ... -
JS打印
2012-12-20 09:25 920一、普通打印(整页打) 这个不用多说,直接用 引用:win ... -
捕捉网页关闭与取消关闭事件
2012-12-20 09:15 1323javascript捕获窗口关闭事 ... -
选择菜单
2012-12-19 12:05 578<!DOCTYPE html PUBLIC " ...
相关推荐
最通用的方法是通过CSS的`@media print`规则来设置打印样式,包括页边距。例如: ```css @media print { body { margin: 1cm; /* 设置整体页边距 */ } /* 更具体的元素设置 */ h1 { page-break-before: ...
总的来说,JavaScript网页打印设置涉及多个方面,包括使用`window.print()`、创建打印样式表、媒体查询、`@page`规则以及事件监听器。通过这些技术,开发者可以创建出满足用户需求、定制化程度高的打印体验。
在JavaScript(JS)中,利用iframe进行打印和打印预览是常见的需求,特别是在网页开发中。这个场景下,我们可能需要自定义页眉和页脚,以提供更专业的打印效果。下面将详细介绍如何通过JS实现这个功能。 首先,我们...
JavaScript打印,标签“js打印”,则是指利用JavaScript的window.print()方法或更高级的APIs来控制浏览器的打印行为。当用户触发打印操作时,JavaScript可以预先处理页面,比如隐藏不需要打印的元素,调整样式以适应...
### JS应用大全:打印、打印预览设置与高级特性详解 在现代Web开发中,JavaScript(简称JS)作为客户端脚本语言,其功能强大且应用广泛。本文将深入解析JS在打印、打印预览设置方面的应用,同时涵盖正则表达式、...
在本实例中,`print.html`文件可能包含了预览页面的代码,它利用CSS媒体查询(`@media print`)来定义打印样式,使得页面在打印时呈现不同的布局。开发者可以通过这种方法隐藏非打印元素,调整页面边距,以及控制字体...
例如,可以定义`@media print`规则,为打印样式设置专门的CSS属性,隐藏不必要的元素或者改变某些元素的布局和样式。 3. **选择性打印**: 如果只想打印页面的某个部分,可以通过创建一个新的HTML窗口,将需要打印...
2009年10月13日.ctb是用户自定义的一个打印样式表,可能包含特定的打印设置,比如线条颜色与宽度的映射,对于批量处理图纸打印非常有用。 “使用说明.txt”文件通常会包含有关如何安装和使用这些文件的详细步骤,这...
对于IE浏览器的页眉和页脚问题,IE提供了一种通过CSS控制打印样式的方法,可以移除不必要的页眉和页脚信息。在CSS中,我们可以添加以下规则: ```css @media print { @page { margin: 0; /* 移除页面边距 */ ...
总的来说,"Js打印功能,支持局部打印"这一主题涵盖了JavaScript的打印API、CSS打印样式以及可能需要的第三方库的使用。开发者可以通过学习和实践这些样例,提升网页打印功能的用户体验,同时解决在复杂场景下的打印...
然后,在CSS样式中,我们可以将这个类设置为隐藏状态,这样在打印时这些内容就不会被打印出来。 例如: ```css .noprint { visibility: hidden; } 将不打印的代码放在这里。 <a href="javascript:window....
5. **事件监听与交互**:插件通常会监听用户的交互,例如点击打印按钮,然后触发预处理逻辑(如构建打印副本、设置打印样式等)。 6. **浏览器API兼容**:对于浏览器之间的差异,开发者可能需要使用条件语句或库...
3. **打印设置**:在JavaScript打印插件中,设置页眉和页脚是一项重要的功能。这通常通过CSS样式来实现,可以在打印样式表中定义特定的页眉和页脚内容,这些内容会在打印时出现在每一页的相应位置。同时,也可以通过...
打印指定div的插件并不多,使用JPrintArea进行指定div打印也并不好控制,此段js代码是在他人基础上融入了自己的想法,经过测试,纸张打印出来的样式在多个浏览器(ie6、ie7、ie8、火狐、谷歌)上可以做到基本统一,...
通过这样的控件,开发者可以定制打印样式,控制打印范围,甚至调整打印布局,确保报表在纸张上的呈现与屏幕显示一致。 "分页打印"是JS打印控件的一个关键特性。在处理大量数据时,分页能够有效地组织信息,避免一次...
除了使用iframe或jQuery库的方法外,还应该注意打印样式的设计,确保打印出的内容符合用户的期望和实际需求。在实际应用中,可能还需要处理页面中的JavaScript脚本和其他动态内容的打印问题,确保打印内容的准确性和...
在这个项目中,我们利用HTML来构建标签的结构,CSS来美化和布局标签样式,而JavaScript则用于处理批量打印的需求。 首先,HTML(HyperText Markup Language)是网页内容的基石,用来定义网页的结构和内容。在“得力...
首先,`Window.print()`方法是JavaScript中用于调用浏览器内置的打印对话框的函数,用户可以在该对话框中选择打印机、页面设置等选项,然后开始打印操作。为了确保在各种浏览器中都能正常工作,我们需要关注以下几点...
JavaScript打印服务主要通过调用浏览器的`window.print()`方法来实现,但仅仅依赖这个方法往往无法满足复杂的需求。Printer_js_css 提供了更高级的功能,例如预览、选择打印机、设置打印选项等,这些都是通过自定义...
开发者还可以自定义打印样式,确保打印出来的内容与网页显示一致。 在实际应用中,JsPrint的使用步骤大致如下: 1. 在HTML文件中引入JsPrint库,通常是在`<head>`部分通过`<script>`标签添加引用。 ```html ...