這篇文章主要介紹了如何使用ASP控制Web的各種列印效果,它能夠控制縱打、橫打和頁面邊距等。
1、控制"縱打"、 "橫打"和"頁面的邊距"。
(1)
< script defer>
function SetPrintSettings() {
// -- advanced features
factory.printing.SetMarginMeasure(2) // measure margins in inches
factory.SetPageRange(false, 1, 3) // need pages from 1 to 3
factory.printing.printer = "HP DeskJet 870C"
factory.printing.copies = 2
factory.printing.collate = true
factory.printing.paperSize = "A4"
factory.printing.paperSource = "Manual feed"
// -- basic features
factory.printing.header = "This is MeadCo"
factory.printing.footer = "Advanced Printing by ScriptX"
factory.printing.portrait = false
factory.printing.leftMargin = 1.0
factory.printing.topMargin = 1.0
factory.printing.rightMargin = 1.0
factory.printing.bottomMargin = 1.0
}
< /script>
(2)
< script language="javascript">
function printsetup(){
// 列印版面設定
wb.execwb(8,1);
}
function printpreview(){
// 列印頁面預覽
wb.execwb(7,1);
}
function printit()
{
if (confirm('確定列印嗎?')) {
wb.execwb(6,6)
}
}
< /script>
< /head>
< body>
< OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
height=0 id=wb name=wb width=0>< /OBJECT>
< input type=button name=button_print value="列印" onclick="javascript:printit()">
< input type=button name=button_setup value="列印版面設定" onclick="javascript:printsetup();">
< input type=button name=button_show value="預覽列印" onclick="javascript:printpreview();">
< input type=button name=button_fh value="關閉" onclick="javascript:window.close();">
------------------------------------------------
關於這個組件還有其他的用法,列舉如下:
WebBrowser.ExecWB(1,1) 開啟
Web.ExecWB(2,1) 關閉現在所有的IE視窗,並開啟一個新視窗
Web.ExecWB(4,1) 儲存網頁
Web.ExecWB(6,1) 列印
Web.ExecWB(7,1) 預覽列印
Web.ExecWB(8,1) 列印版面設定
Web.ExecWB(10,1) 查看頁面屬性
Web.ExecWB(15,1) 好像是撤銷,有待確認
Web.ExecWB(17,1) 全選
Web.ExecWB(22,1) 重新整理
Web.ExecWB(45,1) 關閉表單無提示
2、分頁列印
< HTML>
< HEAD>
< STYLE>
P {page-break-after: always}
< /STYLE>
< /HEAD>
< BODY>
< %while not rs.eof%>
< P>< %=rs(0)%>< /P>
< %rs.movenext%>
< %wend%>
< /BODY>
< /HTML>
3、ASP頁面列印時如何去掉頁面底部的路徑和頂端的頁碼編號
(1)ie的檔案-〉版面設定-〉講裡面的頁首和頁尾裡面的東西都去掉,列印就不出來了。
(2)
< HTML>
< HEAD>
< TITLE> New Document < /TITLE>
< META NAME="Generator" CONTENT="EditPlus">
< META NAME="Author" CONTENT="YC">
< script language="VBScript">
dim hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="/Software/Microsoft/Internet Explorer/PageSetup"
'//設定網頁列印的頁首頁尾為空白
function pagesetup_null()
on error resume next
Set RegWsh = CreateObject("WScript.Shell")
hkey_key="/header"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
hkey_key="/footer"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
end function
'//設定網頁列印的頁首頁尾為預設值
function pagesetup_default()
on error resume next
Set RegWsh = CreateObject("WScript.Shell")
hkey_key="/header"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b頁碼,&p/&P"
hkey_key="/footer"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"
end function
< /script>
< /HEAD>
< BODY>
< br/>
< br/>
< br/>
< br/>
< br/>
< br/>< p align=center>
< input type="button" value="清空頁碼" onclick=pagesetup_null()> < input type="button" value="恢複頁嗎" onclick=pagesetup_default()>< br/>
< /p>
< /BODY>
< /HTML>
4、浮動幀列印
< SCRIPT LANGUAGE=javascript>
function button1_onclick() {
var odoc=window.iframe1.document;
var r=odoc.body.createTextRange();
var stxt=r.htmlText;
alert(stxt)
var pwin=window.open("","print");
pwin.document.write(stxt);
pwin.print();
}
< /SCRIPT>
4、用FileSystem組件實現WEB應用中的本地特定列印
< script Language=VBScript>
function print_onclick //列印函數
dim label
label=document.printinfo.label.value //獲得HTML頁面的資料
set objfs=CreateObject("Scripting.FileSystemObject") //建立FileSystem組件對象的執行個體
set objprinter=objfs.CreateTextFile ("LPT1:",true) //建立與印表機的串連
objprinter.Writeline("__________________________________") //輸出列印的內容
objprinter.Writeline("| |")
objprinter.Writeline("| 您列印的資料是:"&label& " |”)
objprinter.Writeline("| |")
objprinter.Writeline("|_________________________________|")
objprinter.close //斷開與印表機的串連
set objprinter=nothing
set objfs=nothing // 關閉FileSystem組件對象
end function
< /script>
伺服器端指令碼:
< %………
set conn=server.CreateObject ("adodb.connection")
conn.Open "DSN=name;UID=XXXX;PWD=XXXX;"
set rs=server.CreateObject("adodb.recordset")
rs.Open(“select ……”),conn,1,1
……….%> //與資料庫進行互動
HTML頁面編碼:
< HTML>
………
< FORM ID=printinfo NAME="printinfo" >
< INPUT type="button" value="列印>>" id=print name=print > //調用列印函數
< INPUT type=hidden id=text1 name=label value=< %=………%>> //儲存伺服器端傳來的資料
………
< /HTML>
轉至:http://www.xue8.com