最近做了一个项目,并不大。但用到WEB打印这方面内容,没想中间遇到很多问题,曾在网上找过许多解决方案,有些控件但是国内的基本都是需要注册收费的,只有国外的一个ScriptX是免费的,看到许多人用,但这个控件被IE等众多的安全工具所困扰,常常需要设置一堆东西,对于电脑水平不是很高客户来说确实很麻烦,不过我也只用它去掉了IE打印的页眉页脚,打印还是用的IE的WEBBROWSER,不说费话了,下面先介绍一下我思路。
由于是要套打,所以套打的页面不可能给用户看,需要单独制作一个套打的页面,只有要打印的内容,位置用 <DIV style= "LEFT: 35mm; FONT: 9pt 宋体; POSITION: absolute; TOP: 75mm "> 打印内容 </DIV> 其中,left 是你打印纸从最左边到内容的距离,top 是从纸最上边到打印内容的距离,这个距离要用尺量好,并且减去19.05,这个数是IE页面设置中页距的上下左右的默认值,不减就对不准了。
下面是在网上找到一个脚本,专门是用来调用套打页面的,并根据我的需要做了点改动。
window.print = printFrame;
// main stuff
function printFrame(frame, onfinish) {
if ( !frame ) frame = window;
function execOnFinish() {
switch ( typeof(onfinish) ) {
case "string ": alert( 'print... '); break;//execScript(onfinish)
case "function ": onfinish();
}
if ( focused && !focused.disabled ) focused.focus();
}
if (( frame.document.readyState !== "complete ") &&( !frame.document.confirm( "The document to print is not downloaded yet! Continue with printing? ") ))
{
execOnFinish();
return;
}
var eventScope = printGetEventScope(frame);
var focused = document.activeElement;
window.printHelper = function() {
execScript( "on error resume next: printWB.ExecWB 6, 1 ", "VBScript ");
printFireEvent(frame, eventScope, "onafterprint ");
printWB.outerHTML = " ";
execOnFinish();
window.printHelper = null;
}
document.body.insertAdjacentHTML( "beforeEnd ",
" <object id=\ "printWB\ " width=0 height=0 \
classid=\ "clsid:8856F961-340A-11D0-A96B-00C04FD705A2\ "> ");
printFireEvent(frame, eventScope, "onbeforeprint ");
frame.focus();
window.printHelper = printHelper;
setTimeout( "window.printHelper() ", 0);
}
function hideButton()
{
document.getElementById( "btn_Back ").style.display = "none ";
}
function printFixedApp()
{
if(confirm( '确定要打印吗? '))//这些是我自己加的,业务需要隐藏点过的按钮
{
document.getElementById( "btn_Back ").style.display = "none ";
document.getElementById( "btn_print ").style.display = "none ";
document.getElementById( "btn_modify ").style.display = "none ";
printHidden( "printPage_fixed.aspx ");//里面是套打的页面
}
}
function printHidden(url) {
document.body.insertAdjacentHTML( "beforeEnd ",
" <iframe name=printHiddenFrame width=0 height=0> </iframe> ");
var doc = printHiddenFrame.document;
doc.open();
doc.write( " <body onload=\ "parent.onprintHiddenFrame()\ "> ");
doc.write( " <iframe name=printMe width=0 height=0 src=\ " " +
url + "\ "> </iframe> ");
doc.write( " </body> ");
doc.close();
}
function onprintHiddenFrame() {
function onfinish() {
printHiddenFrame.outerHTML = " ";
if ( window.onprintcomplete )
{
window.onprintcomplete();
alert( "print completed! ");
}
window.location.href = "ApplicationBillView_fixed.aspx ";//打印完成后转到其它页
}
printFrame(printHiddenFrame.printMe, onfinish);
}
// helpers
function printIsNativeSupport() {
var agent = window.navigator.userAgent;
var i = agent.indexOf( "MSIE ")+5;
return parseInt(agent.substr(i)) > = 5 && agent.indexOf( "5.0b1 ") < 0;
}
function printFireEvent(frame, obj, name) {
var handler = obj[name];
switch ( typeof(handler) ) {
case "string ": frame.execScript(handler); break;
case "function ": handler();
}
}
function printGetEventScope(frame) {
var frameset = frame.document.all.tags( "FRAMESET ");
if ( frameset.length ) return frameset[0];
return frame.document.body;
}
剩下的就等着打印机干活吧。
分享到:
相关推荐
斑马打印机ZT411和ZT421是工业级条码和标签打印机,广泛应用于制造业、物流、零售业等对打印质量和效率有高要求的领域。这两款打印机以其出色的性能、耐用性和易用性赢得了用户的信赖。这份中文手册详细地介绍了ZT...
《ZT213/ZT213LEEA:低功耗RS232多通道USB收发器/驱动器芯片详解》 ZT213/ZT213LEEA是一款专为低功耗应用设计的RS232多通道USB收发器和驱动器芯片,广泛应用于数据通信、工业控制、物联网设备等领域。本文将深入...
ZT7548是一款第五代电容式触控屏幕控制器,支持30x18或18x30的通道配置,可以同时检测最多10个触点。该控制器能够与最多8个键与TSP(触控屏面板)或FPC(柔性印刷电路板)模式一起工作,在多点触控时无扫描率下降的...
ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机ZT410打印机IP地址设置网络打印机
斑马(Zebra)ZT230条码打印机是一款广泛应用在工业环境中的高效设备,其驱动程序是确保打印机正常工作的重要组成部分。本驱动程序专为Zebra的ZT210、ZT220及ZT230系列打印机设计,提供了全面的功能支持,以实现高...
斑马(Zebra)ZT410是一款先进的桌面级条码打印机,被广泛应用于物流、零售、医疗、制造业等多个行业。这款打印机以其高效、耐用和易于操作的特点深受用户喜爱。"斑马zt410中文库"指的是为ZT410打印机特别设计的中文...
"斑马打印机ZT210用户指南" 本用户指南旨在为Zebra ZT210/ZT220/ZT230打印机的用户提供操作和维护指南,该设备是一种工业级的条码打印机,具有高速打印、高速处理和高质量打印输出等特点。 版权信息 本手册的版权...
斑马ZT510打印机驱动文件
5. **电气隔离**:虽然描述中未提及,但一些RS485芯片会提供电气隔离功能,以防止地环路问题,提高系统的安全性和可靠性。 6. **工作电压范围**:通常RS485芯片的工作电压范围在+5V至+24V之间,适应性强,能应用于...
在"zt云流量HTML响应式模板"中,设计师和开发者精心构建了多套样式规则,确保在各种分辨率和比例的屏幕上,网页内容都能自适应地排列和显示。这不仅提高了用户的浏览满意度,也简化了网站的维护,因为只需要维护一套...
斑马打印机ZT210是一款专业的工业级条形码和标签打印机,广泛应用于物流、零售、医疗等行业的标签制作。以下是对如何设置和使用斑马ZT210打印机的详细步骤: 首先,我们需要安装电脑驱动。双击下载好的驱动程序文件...
赠送jar包:zt-exec-1.9.jar; 赠送原API文档:zt-exec-1.9-javadoc.jar; 赠送源代码:zt-exec-1.9-sources.jar; 赠送Maven依赖信息文件:zt-exec-1.9.pom; 包含翻译后的API文档:zt-exec-1.9-javadoc-API文档-...
开发者需要具备一定的嵌入式系统开发经验,对SDK的深入理解和熟练应用是成功集成的关键。通过学习和实践,开发者将能充分利用这款设备的安全特性和强大功能,打造出满足安全标准的金融终端产品。
斑马zt210是一款专为中国市场设计的工业条码打印机,非常适合不需要频繁更换标签的条码标签应用。这里给大家提供斑马zt210驱动下载,推荐有需要的用户下载安装。斑马zt210打印机优势:◆ 节省空间* 小巧紧凑和流线型...
《ZT210 230加载介质和碳带》 在条形码和标签打印领域,Zebra公司的ZT210和ZT230打印机是广泛应用的设备,以其可靠性和效率赢得了广大用户的青睐。这两个型号的打印机都属于入门级工业级条码打印机,适用于各种商业...
赠送jar包:zt-exec-1.9.jar; 赠送原API文档:zt-exec-1.9-javadoc.jar; 赠送源代码:zt-exec-1.9-sources.jar; 赠送Maven依赖信息文件:zt-exec-1.9.pom; 包含翻译后的API文档:zt-exec-1.9-javadoc-API文档-...
### zebra ZT400系列打印机技术手册 #### 知识点概述: 1. **版权及法律声明**:Zebra ZT400系列打印机技术手册的版权及相关软件固件的所有权归属ZIH Corp.及其许可证持有者,未经授权复制会受到法律制裁。 2. **...
斑马Zebra ZT510 驱动下载安装 使用中有任何问题可以关注并私信,如果资源对您有帮助记得关注收藏好评哟!
霍尼维尔 ZT930 点火变压器PDF,霍尼维尔 ZT930 点火变压器