<div id="div_print">
<p>打印此处内容</p>
</div>
<script type="text/javascript">
function printdiv(printpage){
var newstr=document.getElementById(printpage).innerHTML
var oldstr=document.body.innerHTML
document.body.innerHTML=newstr
window.print()
document.body.innerHTML=oldstr
return false
}
window.onload=function(){
var bt=document.getElementById("button")
bt.onclick=function(){printdiv('div_print')}
}
</script>
html, body{
overflow:visible
}
打印时另存为pdf模式打印后的内容可复制 默认为Microsoft Print to PDF 模式
1.安装使用npm install print-js --save
2.在需要打印的页面导入
import print from 'print-js'
3.方法
官方地址: https://printjs.crabbly.com/
关于JS打印问题!网上收集+自己总结 ,需要的朋友可以参考下。一般打印就用window.print()就OK了
但是一般都是选择性打印所以会调用方法:
复制代码 代码如下:
function preview()
{
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()
}
问题又来了~
会有页脚和页眉~还有横向和纵向之分~
怎么办?
最好就是用到打印预览~
因为它里面有设置
这时必须引用IE的一个控件"WebBrowser"
在页面里引用:
<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>
其控件方法:
复制代码 代码如下:
WebBrowser.ExecWB(1,1) 打开
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1) 保存网页
WebBrowser.ExecWB(6,1) 打印
WebBrowser.ExecWB(7,1) 打印预览
WebBrowser.ExecWB(8,1) 打印页面设置
WebBrowser.ExecWB(10,1) 查看页面属性
WebBrowser.ExecWB(15,1) 好像是撤销,有待确认
WebBrowser.ExecWB(17,1) 全选
WebBrowser.ExecWB(22,1) 刷新
WebBrowser.ExecWB(45,1) 关闭窗体无提示
示例:
<object id="WebBrowser" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
打印测试
<input type="button" onclick="WebBrowser.ExecWB(7,1)" value="打印预览">
随便用个文本文件复制粘贴~改后缀名~
ie运行~点预览~设置打印~打印~OK
然后再把其考到项目里~比如aspx里
同样运行,点预览~
咦~怎么出现ie安全警告"internet explorer"已阻止此站点用不安全方式使用ActiveX控件"
这时就要改ie的安全设置了(如果没装补丁就没事~那是你"rp"好,不一定客户和其他的人的"rp"和你一样好)
操作:
主菜单"工具"——Internet选项——安全——自定义级别, 将"安全设置"中"对没有标记为安全的ActiveX"控件进行初始化和脚本运行由"禁用"改为"启用"
另一种方法,"工具" "Internet选项" "受信任的站点(可信站点)""站点",然后填入网址即可,如果这个网站不是以https:连接的把下面"对该区域中的所有站点要求服务器验证(https:)"前面的勾去掉即可。
(如果是局域网:那就是 "工具" "Internet选项" "本地Internet" "高级")