4Fang财务软件、四方在线软件、SaaS

简单实用的就是最好的!
帮助中心 | 登录 | 注册 | 关于 |

 
  4. TPrinter对象详解

jangogo @ 2009-6-22 11:15:00

DEMO和实例网页请看pazu_tprinter.html
 
marginTop                     属性上边距   数据类型:数字   单位:毫米
marginBottom              
属性下边距   数据类型:数字   单位:毫米
marginLeft                    
属性 左边距   数据类型:数字   单位:毫米
marginRight                 
属性 右边距   数据类型:数字   单位:毫米
例子:把上边距设置为10mm
pazu.TPrinter. marginTop=10
 
footer                             属性页脚   数据类型:字符串
header                           
属性 页眉   数据类型:字符串
例子:设置页眉
pazu.TPrinter.header=”这是新的页眉”
要取消页眉和页脚,只要赋给它们一个空字符串就行了,例如不要页眉:
pazu.TPrinter.header=””
同时页眉和页脚也支持左中右的对齐方式和自动用日期、URL、页码等的填充。这方面的信息可以参考IE这方面的相关文档
 
 
orientation                     属性纸张方向  数据类型:整数1或者2 1=纵向  2=横向
例子:设置纸张方向为横向
pazu.TPrinter. orientation=2
 
paperName                   属性   纸张大小名称  数据类型:字符串
printerName                  属性   打印机名称    数据类型:字符串
 这两个属性我们都不要求完全匹配,可以采用左匹配的方式,举例:
假设您有两台打印机,一台是 Epson 1600K III ,一台是 HP Deskjet 300。如果你要制定打印机为 HP Deskjet 300 你有两种方式:
方式一:全匹配 pazu.TPrinter. printerName=” HP Deskjet 300”
方式二:左匹配 pazu.TPrinter. printerName=” HP”
纸张的大小也是一样的道理,例如,指定用B5纸:
pazu.TPrinter. paperName=”B5”
提示:所有纸张格式和所有打印机的列表都可以通过pazu的相应方法取得,你还可以自定义纸张的大小。请看本文相应的章节。
 
isPrintBackground        属性 是否打印背景 数据类型:Boolean  true / false
isZoomOutToFit            
属性   是否缩放以适应大小打印 数据类型:Boolean true / false

printTemplate                
属性   打印模板的URL -- (本属性 非高手莫用 ^_^)
特别说明:打印模板是指利用微软的printTemplate技术时,你自己定义的符合微软的printTemplate技术规范的打印模板的URL。
您不需要设置这个属性,控件会自动使用默认的打印模板(微软自带的),当你需要对打印进行更深层次的控制的时候,您才需要设置这个URL以指向你自己设计的printTemplate。
当您设置了这个属性的时候,如果该URL的页面存在,控件就会载入这个页面作为打印模板,那么你就必须自己在你自己的打印模板页面里面对所有的打印相关内容进行控制(如分页、边距、打印机选择等)。
如果该URL无效,控件会自动调用微软自带的默认的打印模板
微软的printTemplate相关技术 请参考 微软的MSDN。里面有详细的说明。本文档的最后一节也有关于这个技术的应用的一些例程和说明。在“特殊应用”章节里面也有部分说明


copies                            
属性   打印份数 数据类型:整数,默认为1
range                              
属性   页面范围 数据类型:字符串
isCopyByCopy               
属性    是否整份打印结束后再打印下一份   数据类型:Boolean  true / false
说明:
copies属性允许你当前内容打印多份拷贝
range 你可以指定打印的页面,例如:
只打印1到5页:pazu.TPrinter.range=”1-5”
只打印1,3,5,7页:pazu.TPrinter.range=”1,3,5,7”
提示:利用range属性可以实现双面打印功能
printTemplate属性是打印模板的URL,详细的内容请参考微软的printTemplate技术的说明。
 
 
getPrinters                      方法    返回一个打印机列表,返回以一个回车换行符分隔的字符串
例如:获得所有的打印机
var ps=pazu.TPrinter.getPrinters();
      //获得是一个以回车换行分隔的字符串
      //alert(ps);
      var pa=ps.split("\r\n");
      for(var i=0;i<pa.length;i++){
        alert(pa[i]);
      }    
 
 
 
getPaperForms              方法    返回所有纸张格式的列表,返回以一个回车换行符分隔的字符串
getPrinters类似,不同的是getPaperForms是带参数的,你可以指定获得那个打印机的纸张类别,没有参数或者参数为空字符表示获得当前默认打印机的纸张列表
例如:var ps=pazu.TPrinter.getPaperForms(“HP deskjet 300”);
 
 
getDefaultPrinter             方法    获得默认打印机的对象,返回一个Printer Object  ( 详解>>)
printToDefaultPrinter     
方法    把要打印的字符串输送到默认打印机(配合getDefaultPrinter 使用),参数:字符串
通过返回的对象,你可以控制该打印机,调用该打印机的EndDoc等方法,来实现直接输出内容到打印机

createPaper                    
方法    按指定的宽度和高度创建自定义纸张
有两个参数,paperWidth  paperHeight ,参数类型都是数字,单位是厘米。如果你指定的大小的纸张存在,则返回该纸张的名称,如果不存在,就先创建新的纸张格式并放回新的格式名称
例如:strDefaultPaper=pazu.TPrinter.createPaper(20,14); //创建20cm*14cm的纸张格式
      alert('成功创建纸张格式:'+strDefaultPaper);

doPrint                             
方法    执行打印
有一个Boolean的参数,该参数表示是否要弹出打印机选择对话框
例如:不提示用户直接打印:
pazu.TPrinter.doPrint(false)
 

doPrint_                           
方法    执行打印但是不进行页面参数设置
doPrint类似,但是没有参数,而且执行打印前不去进行页面参数的设置,也不提示用户
 
doPreview                       方法    打印预览没有参数
doPageSetup                  
方法    执行页面参数的设置没有参数
showPageSetup             
方法    弹出页面设置窗口没有参数