zoukankan      html  css  js  c++  java
  • 实现网页的自动横向打印和边距设定

    实现网页的自动横向打印和边距设定

    2011年02月22日 星期二 14:39

    头疼了几天的网页自动打印,在查看了N多资料后终于实现了,直接上代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PrintPage.aspx.cs" Inherits="Demo.Web.PrintPage" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    <title>打印单</title>
    <link href="../CSS/css-main.css" type="text/css" rel="stylesheet" media="all" />
    <script type="text/javascript">
    //注册表的网页打印路径
    var hkey_root="HKEY_CURRENT_USER" ;
    var hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    var hkey_key;
    //打印指定区域
    function DoPrint()
    {
    //直接调用WebBrowser的打印,要打印预览的话是ExecWB(7,1)
    document.all.WebBrowser.ExecWB(6,1);
    }
    //设置纸张方向
    function SetupLandscape()
    {
    try{
    var wsShell= new ActiveXObject("WScript.Shell");
    //打印页面的Menubar必须可见,此操作类似按键盘上的Alt+F+U也就是 调出页面设置对话框
    wsShell.sendKeys('%fu');
    //此操作类似按键盘上的Alt+A也就是 设置横向打印
    wsShell.sendKeys('%a');
    //此操作类似按键盘上的回车 页面设置对话框的默认焦点在 确定上 所以直接确定
    wsShell.sendKeys('{ENTER}');
    }
    catch(e){}
    }

    //设置默认的页眉页脚
    function SetupPage()
    {
    try{
    var RegWsh = new ActiveXObject("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,"&b&d") //去掉了&u 因为我不想显示当前打印页的网址
    hkey_key="margin_bottom";
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.39"); //0.39相当于把页面设置里面的边距设置为10
    hkey_key="margin_left";
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.39");
    hkey_key="margin_right";
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.39");
    hkey_key="margin_top";
    RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.39");
    }
    catch(e){}
    }

    setTimeout("SetupLandscape()",1000);
    setTimeout("SetupPage()",2000);
    setTimeout("DoPrint()",3000);
    </script>

    </head>
    <body>
    <form id="form1" runat="server" enctype="multipart/form-data">
    <OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT ></OBJECT >
    <table width="100%">
    <tr><td>要打印的内容</td></tr>
    </table>
    </form>
    </body>
    </html>

  • 相关阅读:
    使用proguard导出项目时 报错
    一个有关canvas的Bug
    一点小想法
    C#调用非托管代码(转)
    对3DES加密的运用的一个简单示例(转)
    使用X.509数字证书加密解密实务(二) 使用RSA证书加密敏感数据(转)
    dtree用法(转)
    使用X.509数字证书加密解密实务(一) 证书的获得和管理(转)
    Oracle SQL Loader的详细语法(转)
    使用X.509数字证书加密解密实务(三) 使用RSA证书结合对称加密技术加密长数据(转)
  • 原文地址:https://www.cnblogs.com/linbaba/p/2364490.html
Copyright © 2011-2022 走看看