通过WebBrowser实现WEB打印

这段时间搞的项目全部都有与打印有关的,为了方便工作,记录一下平时应用的步骤 

1、插入组件

<OBJECT id=”WebBrowser” height=”0″ width=”0″ classid=”CLSID:8856F961-340A-11D0-A96B-00C04FD705A2″ VIEWASTEXT> ¼br />   <PARAM NAME=”ExtentX” VALUE=”26″> ¼br />   <PARAM NAME=”ExtentY” VALUE=”26″> ¼br />   <PARAM NAME=”ViewMode” VALUE=”0″> ¼br />   <PARAM NAME=”Offline” VALUE=”0″> ¼br />   <PARAM NAME=”Silent” VALUE=”0″> ¼br />   <PARAM NAME=”RegisterAsBrowser” VALUE=”0″> ¼br />   <PARAM NAME=”RegisterAsDropTarget” VALUE=”1″> ¼br />   <PARAM NAME=”AutoArrange” VALUE=”0″> ¼br />   <PARAM NAME=”NoClientEdge” VALUE=”0″> ¼br />   <PARAM NAME=”AlignLeft” VALUE=”0″> ¼br />   <PARAM NAME=”NoWebView” VALUE=”0″> ¼br />   <PARAM NAME=”HideFileNames” VALUE=”0″> ¼br />   <PARAM NAME=”SingleClick” VALUE=”0″> ¼br />   <PARAM NAME=”SingleSelection” VALUE=”0″>
  <PARAM NAME=”NoFolders” VALUE=”0″> ¼br />   <PARAM NAME=”Transparent” VALUE=”0″> ¼br />   <PARAM NAME=”ViewID”   VALUE=”{0057D0E0-3573-11CF-AE69-08002B2E1262}”> ¼br />   </OBJECT>

2、打印设置

通过Js设置页眉页脚信息

<script type=”text/javascript”>
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root=”HKEY_CURRENT_USER”;
HKEY_Path=”\\Software\\Microsoft\\Internet Explorer\\PageSetup\\”;
//设置网页打印的页眉页脚为空
function PageSetup_Null()
{
 try
 {
         var Wsh=new ActiveXObject(”WScript.Shell”);
  HKEY_Key=”header”;
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,”");
  HKEY_Key=”footer”;
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,”");
 }
 catch(e){}
}
//设置网页打印的页眉页脚为默认值
function  PageSetup_Default()
{ ¼br />  try
 {
  var Wsh=new ActiveXObject(”WScript.Shell”);
  HKEY_Key=”header”;
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,”&w&b页码,&p/&P”);
  HKEY_Key=”footer”;
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,”&u&b&d”);
 }
 catch(e){}
}

PageSetup_Null();
</script>

3、打印按钮

<input type=button class=”button” value=打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button class=”button” value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
<input type=button class=”button” value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>4、不打印区域设置

<style media=print>
.noprint{display:none;}
.pagenext{page-break-after: always;}
</style>

并在不打印部分代码前加入<div class=”noprint”> … </div>

使用这个组件会提示使用了不安全的Activex方面的信息,需要按以下的按以下步骤设置ie.<br /> 工具-> internet 选项->安全->自定义级别,设置 ‘下载未签名的 ActiveX ’为’启用’状态。

在网上找到一个名为“jatoolsPrinter”的工具,看介绍功能是很强大的。不知道为什么还一样有提示Active方面的问题。所以一直没有使用。那个插件在设置页张、打印方向等问题上都比较简单。如果项目需要打印的信息比较准确,建议使用。暂时,我的项目还没有需要用那方面的组件。呵呵。

你可能感兴趣的:(JavaScript,Web,Microsoft,脚本,IE)