elementUI+vue+printJs實(shí)現(xiàn)頁面表格數(shù)據(jù)打印功能實(shí)例
對(duì)接的是 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ā)完成,只需要直接引用對(duì)應(yīng)printJs即可
可以先開發(fā)頁面,最后實(shí)現(xiàn)打印功能即可
2、先安裝printJs依賴
npm install print-js --save
3、在需要打印功能的vue頁面文件內(nèi)引用
import printJS from 'print-js'
4、在vue頁面添加一個(gè)按鈕,綁定點(diǎn)擊事件printAll
<button @click="printAll">打印</button>
5、由于打印采用的是html類型,可以打印elementUI渲染的表格數(shù)據(jù)
可以給el-table外部加一個(gè)dive,然后給這個(gè)對(duì)應(yīng)的div上面一個(gè)id,就是下面方法中下printable屬性
<div id="printBox">
// 這里是<el-table>數(shù)據(jù)
<el-table>
</el-table>
</div>6、對(duì)應(yīng)的JS單機(jī)事件方法
// 打印數(shù)據(jù)
async printAll() {
// 由于上面表格展示的數(shù)據(jù)分頁了,這個(gè)地方可以加載全部數(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實(shí)現(xiàn)頁面表格數(shù)據(jù)打印功能的文章就介紹到這了,更多相關(guān)printJs頁面表格數(shù)據(jù)打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3結(jié)合vue-cropper實(shí)現(xiàn)圖片裁剪預(yù)覽功能
??Vue-Cropper?? 是一個(gè)基于 Vue.js 的圖片裁剪組件庫,專為 Web 應(yīng)用設(shè)計(jì),這篇文章主要為大家介紹了如何使用vue-cropper實(shí)現(xiàn)圖片裁剪預(yù)覽功能,需要的可以了解下2025-05-05
Vue項(xiàng)目pdf(base64)轉(zhuǎn)圖片遇到的問題及解決方法
這篇文章主要介紹了Vue項(xiàng)目pdf(base64)轉(zhuǎn)圖片遇到的問題及解決方法,需要的朋友可以參考下2018-10-10
基于Vue3+ECharts實(shí)現(xiàn)動(dòng)態(tài)地圖切換與平滑過渡的動(dòng)畫效果
本文基于Vue3與ECharts5,實(shí)現(xiàn)市級(jí)地圖展示及區(qū)縣視圖切換,通過universalTransition和Canvas圖像處理技術(shù),打造平滑動(dòng)畫與區(qū)域高亮效果,結(jié)合響應(yīng)式布局與交互優(yōu)化提升用戶體驗(yàn),需要的朋友可以參考下2025-08-08
vue canvas繪制矩形并解決由clearRec帶來的閃屏問題
這篇文章主要介紹了vue canvas繪制矩形并解決由clearRec帶來的閃屏問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
vue項(xiàng)目使用定時(shí)器每隔幾秒運(yùn)行一次某方法代碼實(shí)例
有時(shí)候在項(xiàng)目中我們經(jīng)常需要設(shè)置簡(jiǎn)單的倒計(jì)時(shí)功能,這個(gè)可以通過定時(shí)器來實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目使用定時(shí)器每隔幾秒運(yùn)行一次某方法的相關(guān)資料,需要的朋友可以參考下2023-04-04

