浏览 2761 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-29
无限制免费版,完美您的WEB应用 一、概述 PAZU 是4Fang 为配合“四方在线”软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印。 PAZU是客户端软件,使用于IE作为客户端的所有应用,与服务器端开发语言无关,即PAZU支持所有的开发语言开发的WEB应用,无论是Java还是Dot Net还是PHP 还是…都没有问题,客户端是IE就可以了。 如果你的应用的客户端不是IE,是firefox/chrome等非IE浏览器,您就需要PAZU的NP版本(NP版本我们的项目小组正在内部测试,估计在2009年10月份会推出给大家使用,敬请留意) PAZU广泛支持IE6、IE7、IE8,支持WinXP以上操作系统,包括Windows Vista 和 Windows 7。 PAZU还支持IE内核的非IE浏览器, 如傲游、QQ浏览器、世界之窗等。 PAZU还支持使用IE浏览器编程对象自己编写的各种应用浏览器。 由于Windows Vista 以上操作系统和IE8以上版本在系统权限校验、安全性方面的巨大提升,使得目前网上公布的绝大部分WEB打印控件都不能完美支持WinVista和Win7、IE8等新一代WEB应用平台。PAZU的开发小组花费了大量的时间来使得PAZU具备最完全的兼容能力。 PAZU于2005年投入正式商用,是国内最早的WEB打印控件,被广大客户和朋友广泛应用于:电信、移动通信、银行、政府、医院、教育等各种大型应用中,这些前期付费的用户为PAZU和4Fang的发展贡献了宝贵的“粮草”,在此我们对前期付费购买PAZU许可的所有客户朋友表示最高的敬意。 2009年6月,4Fang 决定自2009年6月20日起,PAZU完全无限制免费推出,4Fang迈出的这一步这标志着4Fang的策略由一家相对技术封闭的应用软件开发公司走向技术开放的新里程。4Fang 将以: 标准、开放、易用 为新的技术指导策略,团结和凝聚更多的开发人员,为用户提供最简单实用的应用软件产品。4Fang 陆续还会开放4Fang专有WEB应用平台—LAPUTAC (一个同时支持数据在服务器、客户端存储,同时支持WEB应用模式和单独打包模式的领先应用平台,详见http://www.4Fang.net/apps/SaaS/ ) PAZU 的永久主站网址 http://www.4Fang.net/tech/pazu.html PAZU 的永久下载网址 http://www.4Fang.net/4ff/sc_setup.exe PAZU 开发包下载网址 http://www.4Fang.net/4ff/pazu.rar PAZU的讨论和意见反馈请到4Fang的论坛 http://www.4Fang.net/BBS/ 二、技术文档 1. 入门基础 PAZU 是一个ActiveX组件(NP版本是一个Plugin),本文档只讨论ActiveX版本(IE内核浏览器适用),NP版本的说明文档我们将另文发布。 PAZU 是一个已经通过微软代码认证签名的控件,用户可以在使用到这个控件的时候会自动提示安装,保证发布的便利性。 在你的WEB页里面使用<Object>标签可以引用PAZU控件,如下: <object classid="clsid:AF33188F-6656-4549-99A6-E394F0CE4EA4" codebase=“http://www.4Fang.net/4ff/sc_setup.exe” id="pazu" name="pazu" > <param name="License" value="You Need a License from 4Fang"/> </object> 说明:<object> 元素是用于嵌入ActiveX的,Flash也是通过这种方式嵌入到页面里面的。 Classid里面的字符串是指向PAZU的专属标识,是不能更改的。系统通过这个值检索并载入PAZU控件 Codebase 是指向用户可以下载到PAZU安装包的网址,如果安装包在你自己的网站上,你可以更改这个codebase属性,使得用户可以顺利下载安装PAZU控件。如果这个网址设置错误,IE将不会提示用户下载安装。 Id 属性允许你通过javascript或者vbscript使用getElementById方法,获得PAZU控件对象。 Name属性和id属性类似 按我们的免费授权约定,您不应该也不允许更改id 和 name 的值。 Param 参数,必须有一个License 的属性,value 是这个参数属性的值。它的意义是4Fang的授权许可。 您可以向4Fang申请一个免费的授权,详细的申请方法请看本文的许可授权章节,你要把你获得的授权码填入到Value值里面,PAZU才能正常工作。 注意:当你用http://127.0.0.1/ 开头去访问你的应用的时候,或者是双击的你网页文件直接打开网页的时候,不填入许可PAZU也可以正常运作。因此如果你要测试或者体验PAZU的功能而不打算使用PAZU发布你的应用,您就不必要向4Fang提成免费许可申请。 2. 属性和方法 PAZU内置两个对象:TWin 和 TPrinter PAZU这个对象结构的属性和方法如下: PAZU |--------- TWin 对象 | |------------ appWin 方法 隐藏IE菜单、工具条、标题栏、状态栏等 | |------------ MaxWin 方法 窗口最大化 | |------------ MinWin 方法 窗口最小化 | └----------- CloseWin 方法 关闭窗口 | |--------- TPrinter 对象 | |------------ marginTop 属性 上边距 | |------------ marginBottom 属性 下边距 | |------------ marginLeft 属性 左边距 | |------------ marginRight 属性 右边距 | |------------ footer 属性 页脚 | |------------ header 属性 页眉 | |------------ orientation 属性 整型:纸张方向 1=纵向 2=横向 | |------------ paperName 属性 纸张大小名称 | |------------ printerName 属性 打印机名称 | |------------ isPrintBackground 属性 是否打印背景 true / false | |------------ isZoomOutToFit 属性 是否缩放以适应大小打印 true / false | |------------ printTemplate 属性 打印模板的URL | |------------ copies 属性 打印份数 | |------------ range 属性 页面范围 | |------------ isCopyByCopy 属性 是否整份打印结束后再打印下一份 true / false | |------------ getDefaultPrinter 方法 获得默认打印机的对象 | |------------ printToDefaultPrinter 方法 把要打印的字符串输送到默认打印机(配合getDefaultPrinter 使用) | |------------ getPaperForms 方法 返回所有纸张格式的列表,以vbCrlf 分割 | |------------ getPrinters 方法 返回一个打印机列表,以vbCrlf 分割 | |------------ createPaper 方法 按指定的宽度和高度创建自定义纸张 | |------------ doPrint 方法 执行打印 | |------------ doPrint_ 方法 执行打印但是不进行页面参数设置 | |------------ doPreview 方法 打印预览 | |------------ doPageSetup 方法 执行页面参数的设置 | |------------ showPageSetup 方法 弹出页面设置窗口 | └----------- writeHTMLtoOfficeFile 方法 把HTML导出为Office EXCEL或者 Word格式文件 | |--------- appWin 方法 旧版本兼容 |--------- doPrint 方法 旧版本兼容 |--------- pageSetup 方法 旧版本兼容 |--------- Fly 方法 LAPUTAC平台专用 |--------- Run 方法 LAPUTAC平台专用 └-------- AddObj 方法 LAPUTAC平台专用 3. TWin对象详解 TWin 对象 |------------ appWin 方法 隐藏IE菜单、工具条、标题栏、状态栏等,有一个bool的参数: appWin(true) appWin(false) | 两者的区别在于是否隐藏标题栏 |------------ MaxWin 方法 窗口最大化 MaxWin() |------------ MinWin 方法 窗口最小化 MinWin() └----------- CloseWin 方法 关闭窗口 CloseWin() Javascript实例代码: //1.把IE窗口变成App窗口,不隐藏标题栏 pazu.TWin.appWin(false); //2.把IE窗口变成App窗口,隐藏标题栏 pazu.TWin.appWin(true); //3.最大化 pazu.TWin.MaxWin(); //4.最小化 pazu.TWin.MinWin(); //5.关闭窗口 pazu.TWin.CloseWin(); DEMO和实例网页请看目录下的pazu_twin.html 4. TPrinter对象详解 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 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 方法 弹出页面设置窗口 没有参数 5. 特殊应用 A. 打印指定的frame ,如果我们有多个iframe 或者frame ,我们想打印其中的某一个,怎么办? 方法一:在要打印的frame中嵌入PAZU,用户在打印的时候,点击该frame的打印按钮 方法二:打印前先用javascript 让要打印的frame获得焦点,再调用doPrint(false) 方法 例子: window.frames['myifrm'].focus(); pazu.TPrinter.doPrint(false); B.页面载入的时候立即打印或者获得打印机和纸张列表 你可以在<body>的onload事件里面完成你要的工作 C.同一个页面里面,有些内容,如某个DIV或者按钮我们不想打印出来,但是屏幕上有需要显示,怎么办? <!-- //设置某些页面元素不打印,只要在该元素的样式类class里面添加一个p__就可以了,看myDIV的class--> <div class="myDIVClass p__" id="myDIV">这个DIV和"打印试试"按钮都不会被打印</div> <input class="p__" name="Button1" type="button" value="打印试试!" onclick="demo();" style="width: 301px" /> 6. 保留功能 pazu.TPrinter.writeHTMLtoOfficeFile 方法 把HTML导出为Office EXCEL或者 Word格式文件 这个函数可以把页面直接“打印”为Office的EXCEL或者Word格式,该函数是PAZU为4Fang Laputac平台所用,详细的应用请参考LAPUTAC的文档 PAZU |--------- appWin 方法 旧版本兼容 |--------- doPrint 方法 旧版本兼容 |--------- pageSetup 方法 旧版本兼容 |--------- Fly 方法 LAPUTAC平台专用 |--------- Run 方法 LAPUTAC平台专用 └-------- AddObj 方法 LAPUTAC平台专用 旧版本兼容 这些方法可以实现把程序从服务器端“漂移”到本地计算机运行,并且实现数据的本地存储和访问,也可以访问和存储远程服务器数据 三、许可授权 PAZU自2009年6月起采用免费的许可,免费许可码申请页面: http://www.4fang.net/tech/PAZU-LCS/ 访问该网址,提供相应的资料,4Fang会发送许可号码给您。 注意: 1.我们不许可您更改PAZU的名称,在页面引用PAZU时候,也应该使用pazu这个id 2.我们不许可您把控件或者安装包等已经签名的文件进行重新签名,或者去除签名,否则,我们均视为侵权行为。 如果你要重新签名,您需要购买PAZU授权。 PAZU的打印控制部分的源代码4Fang公司也是可以出售的。这方面的需要请联系4Fang 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-07-09
pazu是由四方软件开发的免费打印控件
|
|
返回顶楼 | |