`

WebBrowser横向打印自动设置页边距

阅读更多
<%@ 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>
分享到:
评论

相关推荐

    利用IE内置打印控件IEWebBrowser进行打印.

    - **页边距**:设置页边距的宽度,如“30|20”。 其中,页眉和页脚的设置尤其重要,它们不仅可以用于显示文档的标题、日期、时间等信息,还可以用来控制分页的效果。具体来说,页眉或页脚中可以包含特定的代码来...

    Jsp页面中实现打印打印预览及打印设置

    除了基本的打印功能外,还可以提供更高级的打印设置选项,比如设置纸张方向、边距等。这通常需要使用 JavaScript 脚本来完成。以下是一个示例函数 `SetPrintSettings()`,它包含了多个设置选项: ```javascript ...

    ASP控制Web的各种打印效果

    本文将详细介绍如何利用ASP(Active Server Pages)来实现对Web页面打印效果的精细控制,包括但不限于页面方向(纵向或横向)、页面边距调整以及如何进行分页打印等。 #### 二、控制打印方向与页面边距 在ASP中,...

    javaScript设置注册表打印.pdf

    - `SetupLandscape()`函数用于设置页面方向为横向( Landscape),通过`sendKeys`模拟键盘输入来调出页面设置对话框,并选择横向打印。 3. **页面设置**: - `SetupPage()`函数设置页眉和页脚。它修改注册表中的...

    WEB打印,网页打印

    - 在提供的代码示例中,通过JavaScript函数`SetPrintSettings`设置了打印参数,包括打印方向("纵打"、"横打")、页面范围、打印机选择、份数、是否自动排序、纸张大小、纸张来源、页眉和页脚以及各边距。...

    为ASP网站提供多种打印方案的ASP代码集

    通过在HTML页面中嵌入JavaScript代码,我们可以实现对打印设置的自定义,如页面方向(纵向或横向)、边距、纸张大小、打印机选择等。 1. **控制打印设置** 例如,以下代码展示了如何使用JavaScript通过MeadCo ...

    SpireDoc word打印.rar

    此外,你还可以自定义打印设置,如纸张大小、方向、页边距等,通过`PrintDocument`类实现。例如: ```csharp PrintDocument printDoc = new PrintDocument(); printDoc.DefaultPageSettings.Landscape = true; // ...

    打印机C#打印源程序代码

    3. **打印机选择与设置**:C#允许用户选择不同的打印机,并可以设置打印的页数、方向(横向或纵向)、边距等。这可以通过`PrintDialog`类来实现,用户可以选择打印机并预览打印效果。 4. **VS2012中的项目配置**:...

    javascript

    这段代码展示了如何使用`factory.printing`对象来设置打印参数,包括页边距、打印机选择、打印份数、是否排序打印、纸张大小、纸张来源、页眉和页脚文本、以及页面布局方向等。 ### 3. 触发打印与打印预览 ...

    web 列印大全

    - **设置页边距**:`@factory.printing.SetMarginMeasure(2)`,该命令将所有页边距设置为2英寸。 - **指定页码范围**:`@factory.SetPageRange(false,1,3)`,这表示只打印第1到第3页。 - **选择打印机型号**:`@...

    JavaScript 实现網頁打印處理

    通过JavaScript,我们可以控制打印的诸多设置,例如打印方向(纵向或横向)、页面范围、打印机选择、复制份数、是否按顺序分组打印、纸张大小、纸张来源、页眉和页脚内容以及页面边距。示例中的`SetPrintSettings`...

Global site tag (gtag.js) - Google Analytics