elementUI+vue+printJs實現(xiàn)頁面表格數(shù)據(jù)打印功能實例
對接的是 print-js 插件
print-JS 官網(wǎng)文檔地址:Print.js - Javascript library for HTML elements, PDF and image files printing.
1、elementUI頁面數(shù)據(jù)已經(jīng)開發(fā)完成,只需要直接引用對應(yīng)printJs即可
可以先開發(fā)頁面,最后實現(xiàn)打印功能即可
2、先安裝printJs依賴
npm install print-js --save
3、在需要打印功能的vue頁面文件內(nèi)引用
import printJS from 'print-js'
4、在vue頁面添加一個按鈕,綁定點(diǎn)擊事件printAll
<button @click="printAll">打印</button>
5、由于打印采用的是html類型,可以打印elementUI渲染的表格數(shù)據(jù)
可以給el-table外部加一個dive,然后給這個對應(yīng)的div上面一個id,就是下面方法中下printable屬性
<div id="printBox">
// 這里是<el-table>數(shù)據(jù)
<el-table>
</el-table>
</div>6、對應(yīng)的JS單機(jī)事件方法
// 打印數(shù)據(jù)
async printAll() {
// 由于上面表格展示的數(shù)據(jù)分頁了,這個地方可以加載全部數(shù)據(jù),不分頁
await this.getList();
// 打印js
printJS({
printable: 'printBox', //打印區(qū)域id
type: 'html', // 打印類型是html
header: '打印表頭標(biāo)題',
headerStyle: 'text-align:center; font-size:24px;',
footer: ' ',
maxWidth: 800, // 最大寬度
documentTitle: ' ',
scanStyles: false, // 自定義樣式
// 直接在 style 中設(shè)置橫向打印
style: '@media print {@page { size: A4 landscape; margin: 10mm 10mm 10mm 10mm;} body{zoom: 87%; margin:0mm 5mm 0mm 5mm;} tbody {text-align:center;border: 1px solid #000000;} th {border: 1px solid #000; vertical-align: middle; height: 40px;font-size: 14px;} td {border: 1px solid #000; line-height:40px;}}'
})
}css樣式說明:
// 設(shè)置A4,橫向打印,邊距是10mm
@page { size: A4 landscape; margin: 10mm 10mm 10mm 10mm;}
// 縮放比例87%,內(nèi)容邊距5mm
body{zoom: 87%; margin:0mm 5mm 0mm 5mm;}
//設(shè)置表格內(nèi)容劇中,邊框及顏色,表格高度
tbody {text-align:center;border: 1px solid #000000;} th {border: 1px solid #000; vertical-align: middle; height: 40px;font-size: 14px;} td {border: 1px solid #000; line-height:40px;}}總結(jié)
到此這篇關(guān)于elementUI+vue+printJs實現(xiàn)頁面表格數(shù)據(jù)打印功能的文章就介紹到這了,更多相關(guān)printJs頁面表格數(shù)據(jù)打印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于vue-treeselect綁值、回顯等常見問題的總結(jié)
這篇文章主要介紹了關(guān)于vue-treeselect綁值、回顯等常見問題的總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
vue-i18n的9以上版本中@被用作特殊字符處理,直接用會報錯問題
這篇文章主要介紹了vue-i18n的9以上版本中@被用作特殊字符處理,直接用會報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

