.printing.header为空或不是对象解决方案

问题:

用到ScriptX.cab打印控件,总是提示factory.printing.header为空或不是对象,脚本如下:
                                var h = form1.factory.printing.header;
                var f = form1.factory.printing.footer;
                var t = form1.factory.printing.topMargin;
                var b = form1.factory.printing.bottomMargin;
                var l = form1.factory.printing.leftMargin;
                var r = form1.factory.printing.rightMargin;
                       
                //设置页眉页脚上下左右边距
                form1.factory.printing.header = "";
                form1.factory.printing.footer = "";
                form1.factory.printing.topMargin="19.05";//存在最小默认值5.02
                form1.factory.printing.bottomMargin="19.05";//存在最小默认值4.13
                form1.factory.printing.leftMargin="19.05";//存在最小默认值5.08
                form1.factory.printing.rightMargin="19.05";//存在最小默认值6.79
                // 直接打印
               
                form1.factory.printing.Print(true);//true时弹出打印对话框
                //返回到原来的打印设置
                form1.factory.printing.header = h;
                form1.factory.printing.footer = f;
                form1.factory.printing.topMargin=t;
                form1.factory.printing.bottomMargin=b;
                form1.factory.printing.leftMargin=l;
                form1.factory.printing.rightMargin=r;
body里面<object name="factory" id="factory" style="DISPLAY: none" codebase="ScriptX.cab#Version=6,2,433,14" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
        </object>

解决方案:

1、从网站下载打印控件包
2、安装下载的控件
3、安装不成功的可以手动注册dll文件:在开始---运行里分别输入以下内容并回车
regsvr32 mcprintx.dll  
  regsvr32 mcscripx.dll  
  regsvr32 mcmaxipt.dll  
  regsvr32 mcsecmgr.dll

并注意看返回的信息是否成功并执行4修改注册表。
  4、修改注册表:打开注册表,打开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{1663ed61-23eb-11d2-b92f-008048fdd814}]打开里面的Compatibility Flags打数值数剧改为0;假如没有{1663ed61-23eb-11d2-b92f-008048fdd814}项,则新建一个。

新建注册表中注册项:

对于安装好控件后仍然不能打印的可以尝试如下操作:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{1663ed61-23eb-11d2-b92f-008048fdd814}]
"Compatibility Flags"=dword:00000000

你可能感兴趣的:(windows,object,Microsoft,脚本,dll,internet)