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

LODOP

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

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

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

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

WebBrowser控件

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

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

<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="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="640px;height:624px;margin:20px auto;">
  这是需要打印的内容
</div>
</body>
</html>
打印测试页面
原文地址:https://www.cnblogs.com/eye-like/p/4235395.html