vue调用日期_Vue 前端开发——打印功能实现

61be5171bd126bf9b03e5dc3b53ba5ba.gif

业务场景常见于一些订单记录发票等的一些pdf 打印,保留了样式,可以打印彩色内容也可以打印黑白内容,如果业务复杂的比如添加水印的目前不支持,一般会特定处理,通过canvas 的方式处理。

封装打印脚本

print.js

// 打印类属性、方法定义
/* eslint-disable */const Print = function(dom, options) {
if (!(this instanceof Print)) return new Print(dom, options);
this.options = this.extend( { noPrint: ".no-print"
}, options ); if (dom instanceof String) {
this.dom = document.querySelector(dom); } else {
this.isDOM(dom); this.dom = this.isDOM(dom) ? dom : dom.$el; } this.init();};Print.prototype = { init: function() {
var content = this.getStyle() + this.getHtml(); this.writeIframe(content); }, extend: function(obj, obj2) {
for (var k in obj2) {
obj[k] = obj2[k]; } return obj;
}, getStyle: function() {
var str = "",
styles = document.querySelectorAll("style,link");
for (var i = 0; i < styles.length; i++) {
str += styles[i].outerHTML; } str += " +
(this.options.noPrint ? this.options.noPrint : ".no-print") +
"{display:none;}";
return str;
}, getHtml: function() {
var inputs = document.querySelectorAll("input");
var textareas = document.querySelectorAll("textarea");
var selects = document.querySelectorAll("select");
for (var k = 0; k < inputs.length; k++) {
if (inputs[k].type 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值