针对IE:

控制"纵打"横打页面的边距。

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)
关闭窗体无提示

打印预览:

一般浏览器没有直接调用打印预览的接口,不过可以通过其他方法:

通过点打印按钮弹出新窗口,把需要打印的内容显示到新窗口中,在新窗口中调用window.print()方法,然后自动关闭新窗口。

去除页眉页脚

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PcyearSeo</title>
<head>
<!--关键代码部分-->
<script language="javascript" type="text/javascript">   
function doPrint() {    
bdhtml=window.document.body.innerHTML;    
sprnstr="<!--startprint-->";    
eprnstr="<!--endprint-->";    
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);    
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));    
window.document.body.innerHTML=prnhtml;    
window.print(); 
}   
var hkey_root,hkey_path,hkey_key   
hkey_root="HKEY_CURRENT_USER"   
hkey_path="\Software\Microsoft\Internet Explorer\PageSetup\ "  
function pagesetup_null(){   
try{   
var RegWsh=new ActiveXObject("WScript.Shell")   
hkey_key="header"     
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")   
hkey_key="footer"   
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")   
}catch(e){}   
}   
</script>   
<!--关键代码部分-->
</HEAD> 
<BODY> 
<DIV align=center> 
<p>
    <!--关键代码部分-->
    <OBJECT   id="WebBrowser"   classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"   height="0"   width="0"   VIEWASTEXT></OBJECT>
    <!--关键代码部分-->
    您打印内容开始:
</p>
<p> 
    <!--startprint-->
    <div style="border:1px solid #999999; width:auto;"><img src="2010723115926746.jpg"/></div>
    <!--endprint-->
</p>
<p>打印的内容结束</p>
<p class="noprint">
    <!--class="noprint"的作用是标示不需要打印的地方,任何一个标签的class属性都可以设置,用于去除不需要打印的地方-->
    <INPUT onclick=javascript:doPrint() type=button value=打印 name=button_print />  
</p>
</DIV>
</body>
</html>