精华内容
下载资源
问答
  • JS打印指定区域内容

    2019-12-31 08:10:25
     很多时候,我们在做系统的时候要做打印功能,打印js中其实很简单,不过这个很简单的代码并不能满足我们的特定需求,比如我们需要打印的表单在很多文字的中间,或者文字中包含一些广告或者图片什么的,这就很难用...
    本文转载自:https://www.cnblogs.com/dudumao/archive/2012/10/04/2711571.html  作者:dudumao 转载请注明该声明。

      很多时候,我们在做系统的时候要做打印功能,打印在js中其实很简单,不过这个很简单的代码并不能满足我们的特定需求,比如我们需要打印的表单在很多文字的中间,或者文字中包含一些广告或者图片什么的,这就很难用:window.print();这时,我们就要分区域的打印,将需要打印的内容提取出来让打印机知道,而不是一股脑的全部打印!

    下面是两种实现的方法:

      第一种:区域划分法。将要打印的部分用特殊的字符标记起来进行打印。这样下来还是有页眉和页脚,可以写去页眉页脚的方法放进去。JS 实现简单的页面局部打印

     1 function preview(oper) { 
     2 if (oper < 10){ 
     3 bdhtml=window.document.body.innerHTML;//获取当前页的html代码 
     4 sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域 
     5 eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域 
     6 prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html 
     7 
     8 prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html 
     9 window.document.body.innerHTML=prnhtml; 
    10 window.print(); 
    11 window.document.body.innerHTML=bdhtml; 
    12 
    13 }
    14  else{ 
    15 window.print(); 
    16 } 
    17 
    18 } 

      使用时,将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->,再加个打印按纽 οnclick=preview(1)

      第二中:组件法。WebBrowser是IE内置的浏览器控件,无需用户下载。

      WebBrowser控件 :
      <object ID='wb' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object> //放进<body>中
      WebBrowder控件的方法 :

    1 //打印
    2 wb.ExecWB(6,1);
    3 //打印设置
    4 wb.ExecWB(8,1);
    5 //打印预览
    6 wb.ExecWB(7,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) 关闭窗体无提示
      但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了。把不想打印的部份隐藏起来:
    样式内容:

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

      然后使用样式就可以: <p class="noprint">不需要打印的地方</p> ,代码如下:

     1 <script language="javascript">
     2 function printsetup()...{
     3 // 打印页面设置
     4 wb.execwb(8,1);
     5 }
     6 function printpreview()...{
     7 // 打印页面预览
     8 
     9 wb.execwb(7,1);
    10 
    11 }
    12 
    13 function printit()
    14 ...{
    15 if (confirm('确定打印吗?')) ...{
    16 wb.execwb(6,6)
    17 }
    18 }
    19 </script> 
    1 <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
    2 <input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()">
    3 <input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();">
    4 <input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();">

      下面是去除页脚页眉的js代码,代码如下:

     1 <script>
     2 var HKEY_Root,HKEY_Path,HKEY_Key;
     3 HKEY_Root="HKEY_CURRENT_USER";
     4 HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
     5 //设置网页打印的页眉页脚为空
     6 function PageSetup_Null()
     7 {
     8 try
     9 {
    10 var Wsh=new ActiveXObject("WScript.Shell");
    11 HKEY_Key="header";
    12 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
    13 HKEY_Key="footer";
    14 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
    15 }
    16 catch(e)
    17 {
    18 
    19 }
    20 }
    21 //设置网页打印的页眉页脚为默认值
    22 function PageSetup_Default()
    23 {
    24 try
    25 {
    26 var Wsh=new ActiveXObject("WScript.Shell");
    27 HKEY_Key="header";
    28 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");
    29 HKEY_Key="footer";
    30 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
    31 }
    32 catch(e)
    33 {}
    34 }
    35 
    36 </script>

      注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行设置为启用,这样在加打印按钮的时候,只要加个事件触发就好了。

    展开全文
  • JS打印指定区域内容

    2013-09-29 11:36:17
    很多时候,我们在做系统的时候要做打印功能,打印js中其实很简单,不过这个很简单的代码并不能满足我们的特定需求,比如我们需要打印的表单在很多文字的中间,或者文字中包含一些广告或者图片什么的,这就很难用:...

    来源:http://www.cnblogs.com/dudumao/archive/2012/10/04/2711571.html

     

    很多时候,我们在做系统的时候要做打印功能,打印在js中其实很简单,不过这个很简单的代码并不能满足我们的特定需求,比如我们需要打印的表单在很多文字的中间,或者文字中包含一些广告或者图片什么的,这就很难用:window.print();这时,我们就要分区域的打印,将需要打印的内容提取出来让打印机知道,而不是一股脑的全部打印!

    下面是两种实现的方法:

      第一种:区域划分法。将要打印的部分用特殊的字符标记起来进行打印。这样下来还是有页眉和页脚,可以写去页眉页脚的方法放进去。JS 实现简单的页面局部打印

     

    function preview(oper) { 
    if (oper < 10){ 
    bdhtml=window.document.body.innerHTML;//获取当前页的html代码 
    sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域 
    eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域 
    prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html 
    
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html 
    window.document.body.innerHTML=prnhtml; 
    window.print(); 
    window.document.body.innerHTML=bdhtml; 
    
    }
     else{ 
    window.print(); 
    } 
    
    }

     使用时,将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->,再加个打印按纽 οnclick=preview(1)

     

      第二中:组件法。WebBrowser是IE内置的浏览器控件,无需用户下载。

      WebBrowser控件 :
      <object ID='wb' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object> //放进<body>中
      WebBrowder控件的方法 :

     

    //打印
    wb.ExecWB(6,1);
    //打印设置
    wb.ExecWB(8,1);
    //打印预览
    wb.ExecWB(7,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) 关闭窗体无提示
      但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了。把不想打印的部份隐藏起来:
    样式内容:

     

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

     然后使用样式就可以: <p class="noprint">不需要打印的地方</p> ,代码如下:

     

     

    <script language="javascript">
    function printsetup()...{
    // 打印页面设置
    wb.execwb(8,1);
    }
    function printpreview()...{
    // 打印页面预览
    
    wb.execwb(7,1);
    
    }
    
    function printit()
    ...{
    if (confirm('确定打印吗?')) ...{
    wb.execwb(6,6)
    }
    }
    </script>

     

    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
    <input type=button name=button_print value="打印" class="noprint" οnclick="javascript:printit()">
    <input type=button name=button_setup value="打印页面设置" class="noprint" οnclick="javascript:printsetup();">
    <input type=button name=button_show value="打印预览" class="noprint" οnclick="javascript:printpreview();">

      下面是去除页脚页眉的js代码,代码如下:

    <script>
    var HKEY_Root,HKEY_Path,HKEY_Key;
    HKEY_Root="HKEY_CURRENT_USER";
    HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    //设置网页打印的页眉页脚为空
    function PageSetup_Null()
    {
    try
    {
    var Wsh=new ActiveXObject("WScript.Shell");
    HKEY_Key="header";
    Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
    HKEY_Key="footer";
    Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
    }
    catch(e)
    {
    
    }
    }
    //设置网页打印的页眉页脚为默认值
    function PageSetup_Default()
    {
    try
    {
    var Wsh=new ActiveXObject("WScript.Shell");
    HKEY_Key="header";
    Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");
    HKEY_Key="footer";
    Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
    }
    catch(e)
    {}
    }
    
    </script>

     

    注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行设置为启用,这样在加打印按钮的时候,只要加个事件触发就好了。

     

    展开全文
  • function printdiv() { var headstr = ""; var footstr = ""; var newstr = document.getElementById("YesPrint").innerHTML; var oldstr = document.body.innerHTML;
    function printdiv()
        {
            var headstr = "<html><head></head><body>";
            var footstr = "</body>";
            var newstr = document.getElementById("YesPrint").innerHTML;
            var oldstr = document.body.innerHTML;
            document.body.innerHTML = headstr+newstr+footstr;
            window.print(); 
            document.body.innerHTML = oldstr;
            return false;
        } 

    展开全文
  • 比较简单的办法使用CSS,定义一个.noprint的class,将不打印内容放入这个class内。...打印方法二利用js来操作代码如下function preview(){bdhtml=window.document.body.innerHTML;sprnstr="";eprns...

    比较简单的办法

    使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内。

    细如下:

    代码如下

    .noprint{visibility:hidden}

    要打印的内容。哈哈!

    代码如下

    将不打印的代码放在这里。

    打印

    方法二利用js来操作

    代码如下

    function preview()

    {

    bdhtml=window.document.body.innerHTML;

    sprnstr="";

    eprnstr="";

    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);

    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));

    window.document.body.innerHTML=prnhtml;

    window.print();

    }

    文件头部,不打印出来的内容。。。
    文件头部,不打印出来的内容。。。
    文件头部,不打印出来的内容。。。
    这是被打印出来的内容
    这是被打印出来的内容
    这是被打印出来的内容
    这是被打印出来的内容
    文件尾部,不打印出来的内容。。。
    文件尾部,不打印出来的内容。。。
    文件尾部,不打印出来的内容。。。

    或者这样也可以

    代码如下

    function printpage(myDiv){

    //var newstr = document.all.item(myDiv).innerHTML;

    var newstr = document.getElementById(myDiv).innerHTML;

    var oldstr = document.body.innerHTML;

    document.body.innerHTML = newstr;

    window.print();

    document.body.innerHTML = oldstr;

    return false;

    }

    Content

    上面js没测试过兼容性我们可使用jquery来设置

    代码如下

    jquery 打印指定区域内容

    function printHtml(html) {

    var bodyHtml = document.body.innerHTML;

    document.body.innerHTML = html;

    window.print();

    document.body.innerHTML = bodyHtml;

    }

    function onprint() {

    var html = $("#printArea").html();

    printHtml(html);

    }

    打印区域~~~~

    下面看看我自己实例的一种办法,原理是这样

    JavaScript打印页面指定div区域原理:使用window.open()在浏览器打开一个新的页面(window), 使用 window.document.write()将指定div区域的内容写入新窗口文档,document.close()关闭文档,使用window.print()调用打印机打印当前文档

    JavaScript打印函数myPrint(obj):

    代码如下

    function myPrint(obj){

    //打开一个新窗口newWindow

    var newWindow=window.open("打印窗口","_blank");

    //要打印的div的内容

    var docStr = obj.innerHTML;

    //打印内容写入newWindow文档

    newWindow.document.write(docStr);

    //关闭文档

    newWindow.document.close();

    //调用打印机

    newWindow.print();

    //关闭newWindow页面

    newWindow.close();

    }

    myprint()调用方法:

    myPrint(document.getElementById('printDivID'));

    代码如下

    function myPrint(obj){

    var newWindow=window.open("打印窗口","_blank");

    var docStr = obj.innerHTML;

    newWindow.document.write(docStr);

    newWindow.document.close();

    newWindow.print();

    newWindow.close();

    }


    打印演示区域,点击打印后会在新窗口加载这里的内容!


    打 印

    展开全文
  • js打印页面指定区域内容

    千次阅读 2016-09-19 10:09:49
    js打印页面指定区域
  • JS打印指定区域内容  很多时候,我们在做系统的时候要做打印功能,打印在js中其实很简单,不过这个很简单的代码并不能满足我们的特定需求,比如我们需要打印的表单在很多文字的中间,或者文字中包含一些广告...
  • 下面小编就为大家带来一篇js print打印网页指定区域内容的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 打印指定区域内容 body{ font-size:12px; color:#333; } #content{ border:solid 1px #333; background:#ffc; }  ///***********************  ///打印指定区域页面
  • javascript实现打印指定区域内容

    千次阅读 2017-09-03 09:52:04
    今天闲来无事,就参考度娘的搜索结果,写出了这个用javascript实现打印指定区域内容的代码,仅供参考: HTML代码: <!DOCTYPE ...
  • JavaScript打印页面指定div区域原理:使用window.open()在浏览器打开一个新的页面(window),使用 window.document.write()将指定div区域内容写入新窗口文档,document.close()关闭文档,使用window.print()调用...
  • js打印指定区域

    2012-06-08 13:49:05
    JS打印特定区域内容2010-07-26 14:00 很多时候,我们在做系统的时候要做打印功能,打印js中其实很简单,不过这个很简单的代码并不能满足我们的特定需求,比如我们需要打印的表单在很多文字的中间,或者文字中包含...
  •  >说明:打印整个div区域内容,如果包含按钮,则按钮也会打印出来!    打印内容打印内容打印内容打印内容打印内容打印内容打印内容打印内容  ...
  • test.html 每个按钮调用一个函数,实现打印指定区域,可预览,可设置
  • js打印div指定区域内容

    千次阅读 2017-08-11 11:29:31
    function myPrint(obj){ var newWindow=window.open("打印窗口","_blank");//打印窗口要换成页面的url var docStr = obj.innerHTML; newWindow.document.write(docStr); newWindow.document.close(); newWindo
  • 主要介绍了JavaScript打印网页指定区域的例子,需要的朋友可以参考下
  • javascript网页html 打印指定区域在一张网页里面,有很多table,其中有一个table是用asp动态生成的数据表,我想打印这张网页的时候,只打印这个由数据的table,其他的不打印出来要打印的部分,前后各加个“&...
  • 利用Jquery快速简单的实现对指定区域打印
  • vue js打印指定区域

    2021-06-23 15:56:42
    // 获取需要打印区域 const printHTML = document.querySelector('#print').innerHTML window.document.body.innerHTML = printHTML window.print() // 刷新页面重新加载 window.location.reload() } 去除...
  • 一个使用js控制打印区域的小东东。方便使用
  • 打印指定区域内容

    2016-12-24 22:10:37
    1.在php或html中插入javascript语句: function printdiv() { var headstr = ""; var footstr = ""; var newstr = document.getElementById('divId').innerHTML;//将要打印指定内容 var oldstr = do

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,846
精华内容 8,338
关键字:

js打印指定区域内容