JS打印——第三方控件打印

LODOP

官方地址:http://www.lodop.net/

一个很好的打印控件,可以是实现纸张设置、横打竖打、打印预览、打印维护多种功能。官网的示例非常详细、能很好支持多种浏览器的打印。

在使用中遇到的唯一的缺点是它可能会更改原有内面的CSS样式,

特别是引用的外部CSS样式是无效的,必须要把css样式文件(<style></style>及其内的内容)添加在需要打印内容的内部。

 

WebBrowser控件

  使用前,首先我们需要在页面中嵌入WebBrowser控件,不过由于该控件是IE浏览器自带的,支持浏览器默认安全设置,可以直接在IE浏览器中使用(chrome和firefox测试中不可用),只是有的时候需要添加对ActiveX控件的支持。

设置方法为:进入浏览器 Internet选项-》安全-》Internet-》自定义级别-》设置如下两项:

JS打印——第三方控件打印

 

<html>  

   <head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>中国绿色厨房计划</title>

<script language="javascript">

    function printsetup() {

        //  打印页面设置

        wb.execwb(8, 1);

    }

    function printpreview() {

        //  打印页面预览

        wb.execwb(7, 1);

    }

    function printit() {

        if (confirm('确定打印吗?')) {

            wb.ExecWB(6, 1)

            //wb.execwb(1,1)//打开

            //wb.ExecWB(2,1);//关闭现在所有的IE窗口,并打开一个新窗口

            //wb.ExecWB(4,1)//;保存网页

            //wb.ExecWB(6,1)//打印

            //wb.ExecWB(7,1)//打印预览

            //wb.ExecWB(8,1)//打印页面设置

            //wb.ExecWB(10,1)//查看页面属性

            //wb.ExecWB(15,1)//好像是撤销,有待确认

            //wb.ExecWB(17,1)//全选

            //wb.ExecWB(22,1)//刷新

            //wb.ExecWB(45,1)//关闭窗体无提示

        }

    }

</script> 

</head>

<body>

<div style="width:640px;height:20px;margin:100px auto 0 auto;font-size:12px;text-align:right;">

        <input value="打印" type="button" onclick="javascript:window.print()" />

        <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="wb" name="wb" width="0">

        </OBJECT>

        <input type=button name=button_print style="display:none;" 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();">

</div>

<div style="width:640px;height:624px;margin:20px auto;">

  这是需要打印的内容

</div>

</body>

</html>
打印测试页面

 

你可能感兴趣的:(js打印)