- 浏览: 1137370 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (240)
- javascript (24)
- Struts (3)
- Hibernate (9)
- spring (3)
- 学海无涯 (45)
- jstl (4)
- java (21)
- js (4)
- Ajax (2)
- 开源框架-ajax (1)
- oracle spring (38)
- unix (6)
- 美国骆驼 American Camel 骆驼皮鞋 骆驼正品 (0)
- android (1)
- BIEE (16)
- informatica (13)
- 触摸屏 (1)
- 诈×骗×电话 (4)
- 远程桌面无法连接 (1)
- 旅游 (3)
- 生活 (8)
- hp6531s (2)
- oracle (6)
- 短信病毒 (1)
- 手机诈骗 短信病毒 (3)
- 骗子 (3)
- ultraedit (1)
- sql2008 (0)
- 苏宁易购大骗子 苏宁易购二手当新品卖 苏宁易购以次充好 苏宁易购您还敢下单吗 (0)
- 苏宁易购二手当新品卖 (0)
- informatica etl (5)
- etl (8)
- NoClassDefFoundError: com/opensymphony/xwork2/util/classloader/ReloadingClas (1)
- mysql (2)
- jquery ajax post (1)
- jason (1)
- json (1)
- struts2 (1)
- jsp 文本编辑器 (2)
- beyond compare (1)
- svn (3)
- EAS BOS (3)
- tapestry5 (1)
- obiee (3)
- java dll (2)
- office (1)
- kettle 8.2 org.gjt.mm.mysql.Driver (1)
最新评论
-
JianCaesar:
oracleStr2Clob,为什么要用反射,直接调用不可以吗 ...
java String和Clob转换 -
vip_gg:
...
邮件失败!javax.mail.AuthenticationFailedException: 535 Error: authentication -
cherryQQ:
我把敏感的用*号代替啦,这样可以了吧,等你加一个号,等着租房子 ...
**同城租房需要加房东的微*号 -
sam.sheng.3:
dream80 写道是的,这个主要就是二步验证的问题,很多人不 ...
AttributeError: can't set attribute -
ooo456mmm:
不错
oracle job 定时执行 存储过程
最近在开发一个打印回执的东东,找到不错的js设置打印样式 希望遇到相同问题的朋友共享!
最近写一些东西需要提供网页打印功能,所以归纳总结了一下,本节主要讲述使用IE6支持打印功能,不同浏览器安全设置与支持有差异,如果不支持,请使用您的浏览器自带打印功能(或手动设置启用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>
最近写一些东西需要提供网页打印功能,所以归纳总结了一下,本节主要讲述使用IE6支持打印功能,不同浏览器安全设置与支持有差异,如果不支持,请使用您的浏览器自带打印功能(或手动设置启用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>
发表评论
-
js 获取年月日 时分秒
2011-08-23 15:51 11062时间久了,忘记了js 获取年月日时分秒的方法了,现在写在这里进 ... -
js 将字符串转换成xml 将字符串转换成dom
2010-12-04 16:56 4046经常遇到在js里面需要解析xml的问题,然而有时候,后台返回的 ... -
JavaScript push()
2010-07-01 20:08 1267Example Add new elements to ... -
js 'a==0' 字符串转boolean类型 if('a==0')
2010-04-12 15:35 2533今天遇到一个重数据库封装好的boolean 类型的字符串 ... -
js 缺少标识符
2010-04-01 18:58 2484今天在调试js 的时候报,缺少标识符 找了好久终于发现,啦这个 ... -
js 加减乘除
2010-03-11 15:37 2570//浮点数加法运算 function FloatAdd(a ... -
js 下拉框的动态添加,删除
2009-12-23 10:25 2429function getPreCash(){ if (nu ... -
js url传值中文乱码之解决之道
2009-08-10 11:30 3357因为js url在传值的过程中使用的是js自己默认的字符集编码 ... -
js 错误:Automation 服务器不能创建对象
2009-03-29 21:12 4750注意:红色的设置一下即可搞定 希望有类似情况的朋友会得到一些 ... -
Ajax 无法在IE7.0中运行 已解决
2008-12-31 12:09 1725function createRequest() { //a ... -
js 隐藏方式
2008-12-11 13:42 1296<!DOCTYPE HTML PUBLIC " ... -
ajax 局部动态刷新
2008-12-05 18:59 1742<script type="text/java ... -
js 使文本框的焦点移动
2008-12-04 09:00 3056我前段时间看了MS的ASP.N ... -
js 子父窗口传值
2008-11-25 13:30 1301a.html ------------------------ ... -
js 获取浮点的整数部分
2008-11-20 19:04 1985<script type="text/java ... -
js 验证浮点数、整数、非特殊字符
2008-10-31 16:56 2090<!DOCTYPE HTML PUBLIC " ... -
js 双击滚屏
2008-08-06 10:40 1798<!DOCTYPE html PUBLIC " ... -
js 脚本大全
2008-08-06 10:16 1306不怕做不到,就怕找不到 点击网址即可进入js 命令大全应有尽有 ... -
js 图片无缝滚动
2008-06-24 11:41 1250<!DOCTYPE HTML PUBLIC " ... -
js 验证特殊字符
2008-06-06 13:30 3374<!DOCTYPE HTML PUBLIC " ...
相关推荐
最通用的方法是通过CSS的`@media print`规则来设置打印样式,包括页边距。例如: ```css @media print { body { margin: 1cm; /* 设置整体页边距 */ } /* 更具体的元素设置 */ h1 { page-break-before: ...
在JavaScript(JS)中,利用iframe进行打印和打印预览是常见的需求,特别是在网页开发中。这个场景下,我们可能需要自定义页眉和页脚,以提供更专业的打印效果。下面将详细介绍如何通过JS实现这个功能。 首先,我们...
总的来说,JavaScript网页打印设置涉及多个方面,包括使用`window.print()`、创建打印样式表、媒体查询、`@page`规则以及事件监听器。通过这些技术,开发者可以创建出满足用户需求、定制化程度高的打印体验。
JavaScript打印,标签“js打印”,则是指利用JavaScript的window.print()方法或更高级的APIs来控制浏览器的打印行为。当用户触发打印操作时,JavaScript可以预先处理页面,比如隐藏不需要打印的元素,调整样式以适应...
2009年10月13日.ctb是用户自定义的一个打印样式表,可能包含特定的打印设置,比如线条颜色与宽度的映射,对于批量处理图纸打印非常有用。 “使用说明.txt”文件通常会包含有关如何安装和使用这些文件的详细步骤,这...
在本实例中,`print.html`文件可能包含了预览页面的代码,它利用CSS媒体查询(`@media print`)来定义打印样式,使得页面在打印时呈现不同的布局。开发者可以通过这种方法隐藏非打印元素,调整页面边距,以及控制字体...
例如,可以定义`@media print`规则,为打印样式设置专门的CSS属性,隐藏不必要的元素或者改变某些元素的布局和样式。 3. **选择性打印**: 如果只想打印页面的某个部分,可以通过创建一个新的HTML窗口,将需要打印...
### JS应用大全:打印、打印预览设置与高级特性详解 在现代Web开发中,JavaScript(简称JS)作为客户端脚本语言,其功能强大且应用广泛。本文将深入解析JS在打印、打印预览设置方面的应用,同时涵盖正则表达式、...
总的来说,"Js打印功能,支持局部打印"这一主题涵盖了JavaScript的打印API、CSS打印样式以及可能需要的第三方库的使用。开发者可以通过学习和实践这些样例,提升网页打印功能的用户体验,同时解决在复杂场景下的打印...
然后,在CSS样式中,我们可以将这个类设置为隐藏状态,这样在打印时这些内容就不会被打印出来。 例如: ```css .noprint { visibility: hidden; } 将不打印的代码放在这里。 <a href="javascript:window....
打印指定div的插件并不多,使用JPrintArea进行指定div打印也并不好控制,此段js代码是在他人基础上融入了自己的想法,经过测试,纸张打印出来的样式在多个浏览器(ie6、ie7、ie8、火狐、谷歌)上可以做到基本统一,...
为了控制打印样式,可以使用CSS媒体查询来针对屏幕显示和打印输出设置不同的样式。例如,你可以隐藏在打印时不需显示的元素,或者调整布局以适应纸质媒介: ```css @media print { .no-print, .ads { display: ...
5. **事件监听与交互**:插件通常会监听用户的交互,例如点击打印按钮,然后触发预处理逻辑(如构建打印副本、设置打印样式等)。 6. **浏览器API兼容**:对于浏览器之间的差异,开发者可能需要使用条件语句或库...
开发者还可以自定义打印样式,确保打印出来的内容与网页显示一致。 在实际应用中,JsPrint的使用步骤大致如下: 1. 在HTML文件中引入JsPrint库,通常是在`<head>`部分通过`<script>`标签添加引用。 ```html ...
除了使用iframe或jQuery库的方法外,还应该注意打印样式的设计,确保打印出的内容符合用户的期望和实际需求。在实际应用中,可能还需要处理页面中的JavaScript脚本和其他动态内容的打印问题,确保打印内容的准确性和...
对于IE浏览器的页眉和页脚问题,IE提供了一种通过CSS控制打印样式的方法,可以移除不必要的页眉和页脚信息。在CSS中,我们可以添加以下规则: ```css @media print { @page { margin: 0; /* 移除页面边距 */ ...
jQuery PrintArea.js是一款轻量级的JavaScript插件,它基于jQuery库,专为网页打印设计。通过简单的API调用,开发者可以快速设置打印区域,避免用户打印不必要的网页元素,提高用户体验。该插件在2.4.0版本中,优化...
JavaScript打印服务主要通过调用浏览器的`window.print()`方法来实现,但仅仅依赖这个方法往往无法满足复杂的需求。Printer_js_css 提供了更高级的功能,例如预览、选择打印机、设置打印选项等,这些都是通过自定义...
3. **打印设置**:在JavaScript打印插件中,设置页眉和页脚是一项重要的功能。这通常通过CSS样式来实现,可以在打印样式表中定义特定的页眉和页脚内容,这些内容会在打印时出现在每一页的相应位置。同时,也可以通过...
首先,`Window.print()`方法是JavaScript中用于调用浏览器内置的打印对话框的函数,用户可以在该对话框中选择打印机、页面设置等选项,然后开始打印操作。为了确保在各种浏览器中都能正常工作,我们需要关注以下几点...