IE直接列印一直是小項目中的列印解決方案,可是對IE不能進行過多的控制,也有許多不便之處,我在做手頭的項目中就遇到了問題,用戶端列印一直用B5的紙列印,可是每次關閉IE後下次再啟動,就又預設成了A4,還有頁眉頁腳的設定都有些另客戶很麻煩,找來找去了,找了一個叫PAZU 的控件。現在好像是可以免費使用了.
示範頁面(新視窗打開)
代碼:
//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();
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);
}
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 方法 彈出頁面設定視窗沒有參數
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/