杰表技术论坛 's Archiver

admin 发表于 2009-11-12 11:39

jatoolsPrint 打印类(转贴)

[size=3][b]print.js[/b][/size]
// JavaScript Document
function Print(){
this.printname="XP-58III";

}
Print.prototype.loadPrinter=function (){

var printers = jatoolsPrinter.getPrinters();
var f=0;
     if(printers)
     {
         for (i=0;i< printers.length;i++){
            if(printers[i]==this.printname){
     f=1;
     break;
    }
   }
     }

if(f==1){
   return this.printname;
}else{
   alert("没有找到打印机!");
   return false;
}

}
Print.prototype.loadPapers=function (){

var printers = this.loadPrinter();
     if(printers)
     {
        var papers = jatoolsPrinter.getPapers(printers)
        if(papers)
        {
           for (i=0;i< papers.length;i++)
           {
               var name = papers[i].name;
               var dimension = {
       width:papers[i].width,
       height:papers[i].height
       };
      paper_list.options[i]=new Option(name, dimension);
     }
   }
     }

}

Print.prototype.buildDoc=function (){

var printers = this.loadPrinter();
var myDoc = new Object();
if(printers){
   var mysettings= new Object();
   mysettings.printer=printers; // 指定打印机名称
   mysettings.paperWidth = 58;
   mysettings.paperHeight = 210;
   mysettings.topMargin=5;
   mysettings.bottomMargin=5;
   mysettings.leftMargin=1;
   mysettings.rightMargin=0;
   mysettings.orientation = 1; // 指定打打印方向为纵向, 1/2 = 纵向/横向
   myDoc.settings = mysettings;
   //myDoc.marginIgnored=true; //设置零边距
   myDoc.classesReplacedWhenPrint=new Array('.only_for_print{display:block}');
   myDoc.documents =document;
   myDoc.copyrights ='杰创软件拥有版权  www.jatools.com';
  
   myDoc.done = function(err)
   {
    if(err){
     alert(err);
    }
   
   }
   return myDoc;
}else{
    return false;
}
}

Print.prototype.doprint=function (how){

var myDoc = this.buildDoc();
// 调用打印方法
if(myDoc){
   if(how == '打印预览...')
    jatoolsPrinter.printPreview(myDoc);   // 打印预览            
   else if(how == '打印...')
    jatoolsPrinter.print(myDoc ,true);   // 打印前弹出打印设置对话框         
   else
    jatoolsPrinter.print(myDoc ,false);       // 不弹出对话框打印
}
}
[size=3][b]print.html[/b][/size]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>打印后关闭窗口</title>
<script src="print.js" type="text/javascript"></script>
<!-- 插入打印控件 -->
<style type="text/css">
<!--
.only_for_print {
display: none;
}
-->
</style>
<object id="jatoolsPrinter" classid="clsid:b43d3361-d075-4be2-87fe-057188254255" codebase="jatoolsPrinter.cab#version=4,3,1,0"></object>
<script type="text/javascript">
var print =new Print();
</script>

</head>
<body>
<p> <span class="title">打印后关闭窗口</span><span class="src">查看源代码</span> </p>
<div id='page1' class='pagestyle'>
<span class="only_for_print">admin 2009-10-3</span>文档第一页dasdf
</div>
<div id='page2' class='pagestyle'>
<span class="only_for_print">admin 2009-10-3</span>文档第一页dasdf
</div>
<br>
<input type="button" value="打印预览...">
<input type="button" value="打印..">
<input type="button" value="打印">
</body>
</html>

原文: [url]http://hi.baidu.com/aifang9999/blog/item/be3721232249d844925807e8.html[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.