js控制网页打印(js调用浏览器打印功能)

本文目录一览:

js浏览器打印设置打印次数

普通报表工具栏上有打印按钮,点击该按钮会弹出打印页面。

思路一:通过工具栏中的打印按钮,进行控制。设置全局变量–打印次数,如果打印次数为0,则直接打印,不再跳转到打印页面。或者在参数栏中新增一个打印按钮,在里面写JS脚本。不通过工具栏中的打印按钮实现这个功能。

思路二:在跳转的打印页面,只要点击一次打印按钮,则一方面执行打印指令,另一方面自动关闭打印页面。同时主模板自动刷新数据,重新加载打印次数为1。

思路三:在跳转的打印页面,获取全局变量–打印次数,如果为0,则打印按钮有效。否则打印按钮不可用,为灰色状态。

js调用浏览器的打印功能

最近做了个运用浏览器打印合同的功能,之前没做过,记录一下其中遇到的问题,打印页面建议使用新开窗口

原型图如下:

页面内容不多说,表格直接用table绘制,在页面顶部加一个悬浮的打印按钮。点击打印按钮调用打印机(ctrl+p)

实现的打印预览效果如下图:

谷歌浏览器可在打印预览-更多设置-选项中去除页眉和页脚的勾选

打印的页面不可出现横向滚动条,否则会出现打印出来的内容显示不全的问题。

请教一个在网页中js控制默认横向打印的问题

打印

一、普通打印(整页打)

这个不用多说,直接按CTRL+P或引用window.print();

二、打印网页内部分内容(自定义)

分三种方法实现

1、用css控制

引用:

@media print

.a {display:block}

.b {display:hidden}

把你不想打印的部分class设为b

首先在网页中添加:

引用:

OBJECT id=”WebBrowser” height=”0″ width=”0″ classid=”CLSID:8856F961-340A-

11D0-A96B-00C04FD705A2″ VIEWASTEXT /OBJECT

然后就可以依次加入功能按钮了:

引用:

input type=”button” value=”打印” input type=”button” value=”直接打印”

input type=”button” value=”页面设置”

input type=”button” value=”打印预览” INPUT type=”button” value=”关闭窗口”

将这两块东西放到 center class=noprint /center 就不会打印这些按钮了。当然要定义noprint了:

style media=”print” .Noprint { DISPLAY: none } /style 只要把不想打印的东西的css设置成noprint就可以了。

现在就实现了基本的web打印,需要注意的情况如下:

a. 必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行…设置成提示或者启用,否则会报错,导致不可用。

b. 如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。

2、用javascript打印固定标签内的内容

a、在页面的代码头部处加入JavaScript:

引用:

script language=javascript

function doPrint() {

bdhtml=window.document.body.innerHTML;

sprnstr=” !–startprint– “;

eprnstr=” !–endprint– “;

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

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

window.document.body.innerHTML=prnhtml;

window.print();

}

/script

b、在页面正文处加上 !–startprint– 与 !–endprint– 标识。

也就是在需要用户打印保存的正文所对应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。

c、截取内容部分已完成,现在加个“打印”的链接:

a href=”javascript:;” 打印 /a

3、windows自带功能

按住鼠标的左键,将你想要打印的内容选定,然后单击右键选择“打印”,在弹出的打印对话框中的“页面范围”中选择“选定范围”就可以只打印你选择的内容了。

(三)打印去掉/添加页眉页脚

引用:

script language=”JavaScript”

var hkey_root,hkey_path,hkey_key

hkey_root=”HKEY_CURRENT_USER”

hkey_path=”\\Software\\Microsoft\\Internet Explorer\\PageSetup\\”

//设置网页打印的页眉页脚为空

function pagesetup_null(){

try{

var RegWsh = new ActiveXObject(“WScript.Shell”)

hkey_key=”header”

RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,””)

hkey_key=”footer”

RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,””)

}catch(e){}

}

//设置网页打印的页眉页脚为默认值

function pagesetup_default(){

try{

var RegWsh = new ActiveXObject(“WScript.Shell”)

hkey_key=”header”

RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,”wb页码,p/P”)hkey_key=”footer”

RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,”ubd”)

}catch(e){}

}

/script

input type=”button” value=”清空页码” onclick=pagesetup_null()

input type=”button” value=”恢复页码” onclick=pagesetup_default()

复制出去,看下效果就可以了

使用Javascript怎样自动打印页面

1、js实现(可实现局部打印)

[html] view plain copy

input id=”btnPrint” type=”button” value=”打印” onclick=”javascript:window.print();” /

input id=”btnPrint” type=”button” value=”打印预览” onclick=preview(1) /

style type=”text/css” media=print

.noprint{display : none }

/style

p class=”noprint”不需要打印的地方/p

script

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();

}

}

/script

pXXXXX/p

!–startprint1–要打印的内容!–endprint1–

再加个打印按纽 onclick=preview(1)

2、调用windows底层打印,报安全警告,不建议使用(不支持局部打印)

[html] view plain copy

HTML

HEAD

TITLEjavascript打印-打印页面设置-打印预览代码/TITLE

META http-equiv=Content-Type content=”text/html; charset=gb2312″ /

SCRIPT language=javascript

function printsetup(){

// 打印页面设置

wb.execwb(8,1);

}

function printpreview(){

// 打印页面预览

wb.execwb(7,1);

}

function printit()

{

if (confirm(‘确定打印吗?’)) {

wb.execwb(6,6);

}

}

/SCRIPT

/HEAD

BODY

DIV align=center

OBJECT id=wb height=0 width=0

classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb/OBJECT

INPUT onclick=javascript:printit() type=button value=打印 name=button_print /

INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup /

INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show /

一按开始的减肥了卡时间段

/DIV

/BODY

/HTML

3、jQuery实现(支持局部打印)

[html] view plain copy

script type=”text/javascript” src=”jquery-1.4.2.min.js”/script

script type=”text/javascript” src=”jquery.PrintArea.js”/script

script

$(document).ready(function(){

$(“input#biuuu_button”).click(function(){

$(“div#myPrintArea”).printArea();

});

});

/script

input id=”biuuu_button” type=”button” value=”打印”/input

div id=”myPrintArea”…..文本打印部分…../div

js如何实现页面打印

HTMLHEADTITLEjavascript打印-打印页面设置-打印预览代码/TITLE

META http-equiv=Content-Type content=”text/html; charset=gb2312″ /

SCRIPT language=javascript

function printsetup(){

// 打印页面设置

wb.execwb(8,1);

}

function printpreview(){

// 打印页面预览

wb.execwb(7,1);

}

function printit()

{

if (confirm(‘确定打印吗?’)) {

wb.execwb(6,6)

}

}

/SCRIPT

/HEAD

BODY

DIV align=center

OBJECT id=wb height=0 width=0

classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb/OBJECT

INPUT onclick=javascript:printit() type=button value=打印 name=button_print /

INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup /

INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show /

/DIV

/BODY

/HTML

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/294124.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-26 13:15
下一篇 2024-12-26 13:15

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • 如何解决web浏览器双击事件时差

    本文将从以下几个方面对web浏览器双击事件时差进行详细阐述,并提供解决方法。 一、双击事件延时设置 1、问题描述:在web浏览器中,双击事件默认会延时一定的时间才能触发该事件,这个…

    编程 2025-04-29
  • 解析js base64并转成unit

    本文将从多个方面详细介绍js中如何解析base64编码并转成unit格式。 一、base64编码解析 在JavaScript中解析base64编码可以使用atob()函数,它会将b…

    编程 2025-04-29
  • Java和Python哪个功能更好

    对于Java和Python这两种编程语言,究竟哪一种更好?这个问题并没有一个简单的答案。下面我将从多个方面来对Java和Python进行比较,帮助读者了解它们的优势和劣势,以便选择…

    编程 2025-04-29
  • Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的解决方法

    本文将解决Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的问题。同时,给出一些相关示例代码,以帮助读者更好的理解并处理这个问题。 一、问题解…

    编程 2025-04-29
  • python爬取网页并生成表格

    本文将从以下几个方面详细介绍如何使用Python爬取网页数据并生成表格: 一、获取网页数据 获取网页数据的一般思路是通过HTTP请求获取网页内容,最常用的方式是使用Python库r…

    编程 2025-04-28
  • 使用Python模拟手机浏览器的方法

    解答如何使用Python模拟手机浏览器,并且给出示例代码。 一、安装Selenium库 使用Python模拟手机浏览器需要使用Selenium库。 首先,使用pip命令进行安装: …

    编程 2025-04-28
  • 网页防篡改的重要性和市场占有率

    网页防篡改对于保护网站安全和用户利益至关重要,而市场上针对网页防篡改的产品和服务也呈现出不断增长的趋势。 一、市场占有率 据不完全统计,目前全球各类网页防篡改产品和服务的市场规模已…

    编程 2025-04-28
  • Python每次运行变量加一:实现计数器功能

    Python编程语言中,每次执行程序都需要定义变量,而在实际开发中常常需要对变量进行计数或者累加操作,这时就需要了解如何在Python中实现计数器功能。本文将从以下几个方面详细讲解…

    编程 2025-04-28
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28

发表回复

登录后才能评论