成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue中使用vue-print.js實(shí)現(xiàn)多頁(yè)打印

瀏覽:81日期:2023-02-03 11:12:54

本文主要介紹了vue項(xiàng)目中使用print.js打印,解決多頁(yè),分頁(yè),打印預(yù)覽樣式修改等問(wèn)題。

引入安裝vue-print.js

cnpm i vue-printjs --save-dev

解決打印多頁(yè)只出現(xiàn)一頁(yè)問(wèn)題

由于打印插件存在問(wèn)題,如果打印文件超出一頁(yè),只顯示一頁(yè),所以我們需要修改print.js源文件,所以只能手動(dòng)下載vue-print.js到本地,做一些修改,然后引入到項(xiàng)目中,不能使用npm安裝

下載 print.js

https://github.com/zxc19890923/print/blob/master/print.js在src目錄下面創(chuàng)建plugins/print/Print.js文件保存插件內(nèi)容

修改 print.js

// 搜索getStyle方法,添加:str += '<style>html,body,div{height: auto!important;font-size:14px}</style>'; getStyle: function () { var str = '', styles = document.querySelectorAll(’style,link’); for (var i = 0; i < styles.length; i++) { str += styles[i].outerHTML; } str += '<style>' + (this.options.noPrint ? this.options.noPrint : ’.no-print’) + '{display:none;}</style>'; str += '<style>html,body,div{height: auto!important;font-size:14px}</style>'; return str; },

main.js中引入插件

...import Print from ’./plugins/print/Print’Vue.use(Print)

vue文件中的使用

<div class='show'> 這是展示的需要打印的內(nèi)容,給用戶看的。 </div> <div ref='print' id='print'> 這里是需要打印的內(nèi)容,出現(xiàn)在打印預(yù)覽的界面,這里的樣式需要寫(xiě)在 @media print {}里面 如果需要設(shè)置預(yù)覽頁(yè)規(guī)則,頁(yè)腳等樣式 @page {} <div class='no-print'>不需要打印的內(nèi)容</div> <div class='do-not-print-div'>不要打印我</div> <button @click='printContext'>打印</button> </div> ... <script> ... method: { printContext () {this.$print(this.$refs.print) } // 不打印方法1. 添加no-print樣式類(lèi) // 不打印方法2. this.$print(this.$refs.print,{’no-print’:’.do-not-print-div’}) } </script>

最后1、為了打印全部,手動(dòng)下載插件并修改。2、打印內(nèi)容樣式需要寫(xiě)在 @media print {}中3、this.$print(),不需要打印內(nèi)容可以通過(guò)css,js兩種方法控制。

到此這篇關(guān)于vue中使用vue-print.js實(shí)現(xiàn)多頁(yè)打印的文章就介紹到這了,更多相關(guān)vue print.js 多頁(yè)打印內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章: