打印多出一张空白的问题?

xm_koma 2011-03-09 10:35:34
这个打印页面是调用document.all.WebBrowser.ExecWB(6,1)来做打印的,但是无论是多张打印还是单张打印,最后都会多出一张空白页面,经检查不会是第一张中的空白打印到下一张的情况。打印机的型号为:EPSON LQ-1600KIII。操作系统为XP,浏览器IE6\IE7都是同样的情况。求砖家,求指导。
...全文
1796 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xm_koma 2011-05-19
  • 打赏
  • 举报
回复

好长时间了,忘记结贴了。
问题自己解决了:
PageNext {
page-break-before: always;
}这个page-break-before属性可以写在js中,然后循环控制,最后一页的前面才置为always
function printFrameTest(cls, type) {
var tabs = getElementsByClassName(cls);
for ( var i = 0; i < tabs.length; i++) {
tabs[i].style.display = '';
if(i < tabs.length-1) {
tabs[i].style.pageBreakAfter='always';
}
}
if (type == 'print') {
document.all.WebBrowser.ExecWB(6, 1);
}
if (type == 'printset') {
document.all.WebBrowser.ExecWB(8, 1);
}
if (type == 'view') {
document.all.WebBrowser.ExecWB(7, 1);
}
for ( var i = 0; i < tabs.length; i++) {
tabs[i].style.display = 'none';
}
}
Roger.Que 2011-04-14
  • 打赏
  • 举报
回复
这不是你的程序问题,这需要改底层代码才行,没办法的,别为此纠结了。
ycproc 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xm_koma 的回复:]
多出一张的原因是:设置了.PageNext {
page-break-before: always;
} 但是这是为了分页,要是不设置这个的话,多张打印的时候,就不会分页,而是连续的。
[/Quote]
有这可能
xm_koma 2011-03-22
  • 打赏
  • 举报
回复
多出一张的原因是:设置了.PageNext {
page-break-before: always;
} 但是这是为了分页,要是不设置这个的话,多张打印的时候,就不会分页,而是连续的。
kaifadi 2011-03-09
  • 打赏
  • 举报
回复
打印单张也会吗。设置里难道设置错误了?

CSS里有没有设置meida="print"或者CSS有没有设置一些空白部分,具体可以百度或GOOGLE找一下CSS打印设置相关问题。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧