当前位置: 代码迷 >> 综合 >> ScriptX 页面打印
  详细解决方案

ScriptX 页面打印

热度:27   发布时间:2024-01-17 09:49:21.0

页面代码:

<style type="text/css" media="print">
     .Noprint{display:none;}
    </style>

<object id="factory" viewastext style="display:none" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
            codebase="/Setting/smsx.cab#Version=6,5,439,12"></object>

<div id="SelectBarIcon" class="Noprint" style="position:absolute;left:7px; top:7px;width:160px;height:35px;z-index:2; cursor:hand">
          <img src="/images/icon/print.jpg" alt="打印" οnclick="PrintReview();" />
     </div>

<script language="javascript">

var factory = document.getElementById("factory");
        factory.printing.header = "";
        factory.printing.footer = "";
        factory.printing.portrait = false;
        factory.printing.leftMargin = 0.4;
        factory.printing.rightMargin = 0.4;
        factory.printing.topMargin = 0.4;
        factory.printing.bottomMargin = 0.4;
        function PrintReview()
        {
           // 打印页面预览
           factory.printing.Preview();         //打印预览
        }

 

factory.printing.leftMargin 单位与系统设置有关,具体为:控制面板-区域和语言选项-标准和格式-自定义-数字-度量衡系统,选择公制,单位为mm(毫米),选择美制,单位为英寸。factory将自动转换。

 

打印过程中有强制分页需求,可采用:

<div style="page-break-before: always;">
           <!--[if IE 7]><br style="height:0; line-height:0"><![endif]-->
        </div>

 

cookie传递过程中,如果先采用showModalDialog,再使用window.open,打开页面,会出现cookie丢失的情况,原因是,window.open时,IE开了另一个进程,所以取不到cookie,解决:增加<base target="_self">